Mercurial > emacs
annotate lisp/term/vt100.el @ 2607:fcf578723758
(Fexpand_file_name): Undo last change--too risky for now.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 29 Apr 1993 13:17:56 +0000 |
parents | 8638238fa65f |
children | 9a789eacd9ec |
rev | line source |
---|---|
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
1 ;;; vt100.el --- define VT100 function key sequences in function-key-map |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
2 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
3 ;; Author: FSF |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
4 ;; Keywords: terminals |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
5 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
6 ;; Copyright (C) 1989 Free Software Foundation, Inc. |
466 | 7 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
8 ;; This file is part of GNU Emacs. |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
9 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
10 ;; GNU Emacs is distributed in the hope that it will be useful, |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
11 ;; but WITHOUT ANY WARRANTY. No author or distributor |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
12 ;; accepts responsibility to anyone for the consequences of using it |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
13 ;; or for whether it serves any particular purpose or works at all, |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
14 ;; unless he says so in writing. Refer to the GNU Emacs General Public |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
15 ;; License for full details. |
466 | 16 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
17 ;; Everyone is granted permission to copy, modify and redistribute |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
18 ;; GNU Emacs, but only under the conditions described in the |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
19 ;; GNU Emacs General Public License. A copy of this license is |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
20 ;; supposed to have been given to you along with GNU Emacs so you |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
21 ;; can know your rights and responsibilities. It should be in a |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
22 ;; file named COPYING. Among other things, the copyright notice |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
23 ;; and this notice must be preserved on all copies. |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
24 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
25 ;;; Commentary: |
466 | 26 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
27 ;; Uses the Emacs 19 terminal initialization features --- won't work with 18. |
466 | 28 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
29 ;; Handles all VT100 clones, including the Apollo terminal. Also handles |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
30 ;; the VT200 --- its PF- and arrow- keys are different, but all those |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
31 ;; are really set up by the terminal initialization code, which mines them |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
32 ;; out of termcap. This package is here to define the keypad comma, dash |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
33 ;; and period (which aren't in termcap's repertoire) and the function for |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
34 ;; changing from 80 to 132 columns & vv. |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
35 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
36 ;;; Code: |
466 | 37 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
38 ;; CSI sequences - those that start with "\e[". |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
39 ;; Termcap or terminfo should set these up automatically |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
40 ;; (if (boundp 'vt100-CSI-prefix) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
41 ;; nil |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
42 ;; (define-prefix-command 'vt100-CSI-prefix) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
43 ;; (define-key function-key-map "\e[" 'vt100-CSI-prefix) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
44 ;; |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
45 ;; (define-key vt100-CSI-prefix "A" [up]) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
46 ;; (define-key vt100-CSI-prefix "B" [down]) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
47 ;; (define-key vt100-CSI-prefix "C" [right]) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
48 ;; (define-key vt100-CSI-prefix "D" [left]) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
49 ;; ) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
50 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
51 ;; SS3 sequences - those that start with "\eO". |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
52 (if (boundp 'vt100-SS3-prefix) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
53 nil |
2240
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
54 ;; The terminal initialization should already have set up some keys |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
55 (setq vt100-SS3-prefix (lookup-key function-key-map "\eO")) |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
56 (if (not (keymapp vt100-SS3-prefix)) |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
57 (error "What? Your VT100 termcap/terminfo has no keycaps in it.")) |
466 | 58 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
59 ;; These will typically be set up automatically by termcap or terminfo |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
60 ;; (define-key vt100-SS3-prefix "A" [up]) ; up-arrow |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
61 ;; (define-key vt100-SS3-prefix "B" [down]) ; down-arrow |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
62 ;; (define-key vt100-SS3-prefix "C" [right]) ; right-arrow |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
63 ;; (define-key vt100-SS3-prefix "D" [left]) ; left-arrow |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
64 ;; (define-key vt100-SS3-prefix "P" [kp-f1]) ; PF1 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
65 ;; (define-key vt100-SS3-prefix "Q" [kp-f2]) ; PF2 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
66 ;; (define-key vt100-SS3-prefix "R" [kp-f3]) ; PF3 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
67 ;; (define-key vt100-SS3-prefix "S" [kp-f4]) ; PF4 |
2240
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
68 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
69 ;; Terminfo might set these |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
70 (define-key vt100-SS3-prefix "M" [kp-enter]) ; Enter |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
71 (define-key vt100-SS3-prefix "p" [kp-0]) ; 0 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
72 (define-key vt100-SS3-prefix "q" [kp-1]) ; 1 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
73 (define-key vt100-SS3-prefix "r" [kp-2]) ; 2 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
74 (define-key vt100-SS3-prefix "s" [kp-3]) ; 3 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
75 (define-key vt100-SS3-prefix "t" [kp-4]) ; 4 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
76 (define-key vt100-SS3-prefix "u" [kp-5]) ; 5 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
77 (define-key vt100-SS3-prefix "v" [kp-6]) ; 6 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
78 (define-key vt100-SS3-prefix "w" [kp-7]) ; 7 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
79 (define-key vt100-SS3-prefix "x" [kp-8]) ; 8 |
8638238fa65f
Fix things so that bindings are added to the keymap already created by
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2144
diff
changeset
|
80 (define-key vt100-SS3-prefix "y" [kp-9]) ; 9 |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
81 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
82 ;; Neither termcap nor terminfo will set these |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
83 (define-key vt100-SS3-prefix "l" [kp-separator]) ; , |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
84 (define-key vt100-SS3-prefix "m" [kp-subtract]) ; - |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
85 (define-key vt100-SS3-prefix "n" [kp-period]) ; . |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
86 ) |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
87 |
466 | 88 ;;; Controlling the screen width. |
779 | 89 (defconst vt100-wide-mode (= (frame-width) 132) |
466 | 90 "t if vt100 is in 132-column mode.") |
91 | |
92 (defun vt100-wide-mode (&optional arg) | |
93 "Toggle 132/80 column mode for vt100s." | |
94 (interactive "P") | |
95 (setq vt100-wide-mode | |
96 (if (null arg) (not vt100-wide-mode) | |
97 (> (prefix-numeric-value arg) 0))) | |
98 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) | |
779 | 99 (set-frame-width (if vt100-wide-mode 132 80))) |
2144
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
100 |
505f87093028
Added headers, commented out code the duplicates startup effects.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
101 ;;; vt100.el ends here |