Annotation of 43BSDReno/contrib/emacs-18.55/lisp/term/vt100.el, revision 1.1.1.1

1.1       root        1: ;; Map VT100 function key escape sequences
                      2: ;; into the standard slots in function-keymap.
                      3: 
                      4: (require 'keypad)
                      5: 
                      6: (defvar CSI-map nil
                      7:   "The CSI-map maps the CSI function keys on the VT100 keyboard.
                      8: The CSI keys are the arrow keys.")
                      9: 
                     10: (if (not CSI-map)
                     11:     (progn
                     12:      (setq CSI-map (lookup-key global-map "\e["))
                     13:      (if (not (keymapp CSI-map))
                     14:         (setq CSI-map (make-sparse-keymap)))  ;; <ESC>[ commands
                     15: 
                     16:      (setup-terminal-keymap CSI-map
                     17:            '(("A" . ?u)           ; up arrow
                     18:              ("B" . ?d)           ; down-arrow
                     19:              ("C" . ?r)           ; right-arrow
                     20:              ("D" . ?l)))))       ; left-arrow
                     21: 
                     22: (defun enable-arrow-keys ()
                     23:   "Enable the use of the VT100 arrow keys for cursor motion.
                     24: Because of the nature of the VT100, this unavoidably breaks
                     25: the standard Emacs command ESC [; therefore, it is not done by default,
                     26: but only if you give this command."
                     27:   (interactive)
                     28:   (global-set-key "\e[" CSI-map))
                     29: 
                     30: (defvar SS3-map nil
                     31:   "SS3-map maps the SS3 function keys on the VT100 keyboard.
                     32: The SS3 keys are the numeric keypad keys in keypad application mode
                     33: \(DECKPAM).  SS3 is DEC's name for the sequence <ESC>O which is
                     34: the common prefix of what these keys transmit.")
                     35: 
                     36: (if (not SS3-map)
                     37:     (progn
                     38: 
                     39:      (setq SS3-map (lookup-key global-map "\eO"))
                     40:      (if (not (keymapp SS3-map))
                     41:         (setq SS3-map (make-keymap)))  ;; <ESC>O commands
                     42:      (setup-terminal-keymap SS3-map
                     43:            '(("A" . ?u)           ; up arrow
                     44:              ("B" . ?d)           ; down-arrow
                     45:              ("C" . ?r)           ; right-arrow
                     46:              ("D" . ?l)           ; left-arrow
                     47:              ("M" . ?e)           ; Enter
                     48:              ("P" . ?\C-a)        ; PF1
                     49:              ("Q" . ?\C-b)        ; PF2
                     50:              ("R" . ?\C-c)        ; PF3
                     51:              ("S" . ?\C-d)        ; PF4
                     52:              ("l" . ?,)           ; ,
                     53:              ("m" . ?-)           ; -
                     54:              ("n" . ?.)           ; .
                     55:              ("p" . ?0)           ; 0
                     56:              ("q" . ?1)           ; 1
                     57:              ("r" . ?2)           ; 2
                     58:              ("s" . ?3)           ; 3
                     59:              ("t" . ?4)           ; 4
                     60:              ("u" . ?5)           ; 5
                     61:              ("v" . ?6)           ; 6
                     62:              ("w" . ?7)           ; 7
                     63:              ("x" . ?8)           ; 8
                     64:              ("y" . ?9)))         ; 9
                     65: 
                     66:      (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.