|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 2960 (0xb90)
Types: TextFile
Names: »vt200.el«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/gnu-31mar87/emacs/lisp/term/vt200.el«
;; vt200 series terminal stuff.
;; April 1985, Joe Kelsey
(require 'keypad)
(defvar CSI-map nil
"The CSI-map maps the CSI function keys on the VT201 keyboard.
The CSI keys are the dark function keys, and are only active in
VT200-mode, except for the arrow keys.")
(defun enable-arrow-keys ()
"Enable the use of the VT200 arrow keys and dark function keys.
Because of the nature of the VT200, this unavoidably breaks
the standard Emacs command ESC [; therefore, it is not done by default,
but only if you give this command."
(interactive)
(global-set-key "\e[" CSI-map))
;; I suggest that someone establish standard mappings for all of
;; the VT200 CSI function keys into the function-keymap.
(if (not CSI-map)
(progn
(setq CSI-map (make-keymap)) ;; <ESC>[ commands
(setup-terminal-keymap CSI-map
'(("A" . ?u) ; up arrow
("B" . ?d) ; down-arrow
("C" . ?r) ; right-arrow
("D" . ?l) ; left-arrow
("1~" . ?f) ; Find
("2~" . ?e) ; Insert Here
("3~" . ?k) ; Re-move
("4~" . ?s) ; Select
("5~" . ?P) ; Prev Screen
("6~" . ?N) ; Next Screen
("17~" . ?\C-f) ; F6
("18~" . ?\C-g) ; F7
("19~" . ?\C-h) ; F8
("20~" . ?\C-i) ; F9
("21~" . ?\C-j) ; F10
("23~" . 'ESC-prefix) ; F11 (ESC)
("24~" . ?\C-l) ; F12
("25~" . ?\C-m) ; F13
("26~" . ?\C-n) ; F14
("31~" . ?\C-q) ; F17
("32~" . ?\C-r) ; F18
("33~" . ?\C-s) ; F19
("34~" . ?\C-t) ; F20
("28~" . ??) ; Help
("29~" . ?x))))) ; Do
(defvar SS3-map nil
"SS3-map maps the SS3 function keys on the VT200 keyboard.
The SS3 keys are the numeric keypad keys in keypad application mode
\(DECKPAM). SS3 is DEC's name for the sequence <ESC>O which is
the common prefix of what these keys transmit.")
(if (not SS3-map)
(progn
(setq SS3-map (make-keymap)) ;; <ESC>O commands
(setup-terminal-keymap SS3-map
'(("A" . ?u) ; up arrow
("B" . ?d) ; down-arrow
("C" . ?r) ; right-arrow
("D" . ?l) ; left-arrow
("M" . ?e) ; Enter
("P" . ?\C-a) ; PF1
("Q" . ?\C-b) ; PF2
("R" . ?\C-c) ; PF3
("S" . ?\C-d) ; PF4
("l" . ?,) ; ,
("m" . ?-) ; -
("n" . ?.) ; .
("p" . ?0) ; 0
("q" . ?1) ; 1
("r" . ?2) ; 2
("s" . ?3) ; 3
("t" . ?4) ; 4
("u" . ?5) ; 5
("v" . ?6) ; 6
("w" . ?7) ; 7
("x" . ?8) ; 8
("y" . ?9))) ; 9
(define-key global-map "\eO" SS3-map)))
(defun vt200-enable-arrows ()
"Redefine Emacs so that VT200 arrow keys and function keys work.
This is not done automatically because it inescapably causes the
standard Emacs command ESC [ to stop working normally."
(interactive)
(define-key global-map "\e[" CSI-map))