Annotation of 43BSDReno/contrib/emacs-18.55/lisp/term/vt200.el, revision 1.1

1.1     ! root        1: ;; vt200 series terminal stuff.
        !             2: ;; April 1985, Joe Kelsey
        !             3: 
        !             4: (require 'keypad)
        !             5: 
        !             6: (defvar CSI-map nil
        !             7:   "The CSI-map maps the CSI function keys on the VT200 keyboard.
        !             8: The CSI keys are the dark function keys, and are only active in
        !             9: VT200-mode, except for the arrow keys.")
        !            10: 
        !            11: (defun enable-arrow-keys ()
        !            12:   "Enable the use of the VT200 arrow keys and dark function keys.
        !            13: Because of the nature of the VT200, this unavoidably breaks
        !            14: the standard Emacs command ESC [; therefore, it is not done by default,
        !            15: but only if you give this command."
        !            16:   (interactive)
        !            17:   (global-set-key "\e[" CSI-map))
        !            18: 
        !            19: ;; I suggest that someone establish standard mappings for all of
        !            20: ;; the VT200 CSI function keys into the function-keymap.
        !            21: 
        !            22: (if CSI-map
        !            23:     nil
        !            24:   (setq CSI-map (make-keymap))         ; <ESC>[ commands
        !            25:   (setup-terminal-keymap CSI-map
        !            26:            '(("A" . ?u)           ; up arrow
        !            27:              ("B" . ?d)           ; down-arrow
        !            28:              ("C" . ?r)           ; right-arrow
        !            29:              ("D" . ?l)           ; left-arrow
        !            30:              ("1~" . ?f)          ; Find
        !            31:              ("2~" . ?I)          ; Insert Here
        !            32:              ("3~" . ?k)          ; Re-move
        !            33:              ("4~" . ?s)          ; Select
        !            34:              ("5~" . ?P)          ; Prev Screen
        !            35:              ("6~" . ?N)          ; Next Screen
        !            36:              ("17~" . ?\C-f)      ; F6
        !            37:              ("18~" . ?\C-g)      ; F7
        !            38:              ("19~" . ?\C-h)      ; F8
        !            39:              ("20~" . ?\C-i)      ; F9
        !            40:              ("21~" . ?\C-j)      ; F10
        !            41:              ("23~" . ESC-prefix) ; F11 (ESC)
        !            42:              ("24~" . ?\C-l)      ; F12
        !            43:              ("25~" . ?\C-m)      ; F13
        !            44:              ("26~" . ?\C-n)      ; F14
        !            45:              ("31~" . ?\C-q)      ; F17
        !            46:              ("32~" . ?\C-r)      ; F18
        !            47:              ("33~" . ?\C-s)      ; F19
        !            48:              ("34~" . ?\C-t)      ; F20
        !            49:              ("28~" . ??)         ; Help
        !            50:              ("29~" . ?x))))      ; Do
        !            51: 
        !            52: (defvar SS3-map nil
        !            53:   "SS3-map maps the SS3 function keys on the VT200 keyboard.
        !            54: The SS3 keys are the numeric keypad keys in keypad application mode
        !            55: \(DECKPAM).  SS3 is DEC's name for the sequence <ESC>O which is
        !            56: the common prefix of what these keys transmit.")
        !            57: 
        !            58: (if SS3-map
        !            59:     nil
        !            60:   (setq SS3-map (make-keymap))         ; <ESC>O commands
        !            61:   (setup-terminal-keymap SS3-map
        !            62:            '(("A" . ?u)           ; up arrow
        !            63:              ("B" . ?d)           ; down-arrow
        !            64:              ("C" . ?r)           ; right-arrow
        !            65:              ("D" . ?l)           ; left-arrow
        !            66:              ("M" . ?e)           ; Enter
        !            67:              ("P" . ?\C-a)        ; PF1
        !            68:              ("Q" . ?\C-b)        ; PF2
        !            69:              ("R" . ?\C-c)        ; PF3
        !            70:              ("S" . ?\C-d)        ; PF4
        !            71:              ("l" . ?,)           ; ,
        !            72:              ("m" . ?-)           ; -
        !            73:              ("n" . ?.)           ; .
        !            74:              ("p" . ?0)           ; 0
        !            75:              ("q" . ?1)           ; 1
        !            76:              ("r" . ?2)           ; 2
        !            77:              ("s" . ?3)           ; 3
        !            78:              ("t" . ?4)           ; 4
        !            79:              ("u" . ?5)           ; 5
        !            80:              ("v" . ?6)           ; 6
        !            81:              ("w" . ?7)           ; 7
        !            82:              ("x" . ?8)           ; 8
        !            83:              ("y" . ?9)))         ; 9
        !            84: 
        !            85:      (define-key global-map "\eO" SS3-map))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.