comparison lisp/term/linux.el @ 622:11502791fc1c

[xemacs-hg @ 2001-06-22 01:49:57 by ben] dired-msw.c: Fix problem noted by Michael Sperber with directories containing [] and code that destructively modifies an existing string. term\AT386.el: Fix warnings. term\apollo.el: Removed. Kill kill kill. Sync with FSF and remove most crap. term\linux.el: Removed. Sync with FSF. Don't define most defns, because they are automatically defined by termcap. But do add defns for keys that normally get defined as f13, f14, etc. and really ought to be shift-f3, shift-f4, etc. (NOTE: I did this based on Cygwin, which emulates the Linux console. I would appreciate it if someone on Linux could verify.) term\cygwin.el: New. Load term/linux. term\lk201.el, term\news.el, term\vt100.el: Sync with FSF. Fix warnings. dialog-gtk.el: Fix warning. For 21.4: help.el, update-elc.el: Compile in proper order. Maybe for 21.4: keydefs.el: Add a defn for M-?, previously undefined, to access help -- in case the terminal is not set up right, or f1 gets redefined. README: Rewrite.
author ben
date Fri, 22 Jun 2001 01:50:04 +0000
parents 3ecd8885ac67
children 8d7c4af1d6af
comparison
equal deleted inserted replaced
621:29117767b6b8 622:11502791fc1c
19 ;; You should have received a copy of the GNU General Public License 19 ;; You should have received a copy of the GNU General Public License
20 ;; along with XEmacs; see the file COPYING. If not, write to the Free 20 ;; along with XEmacs; see the file COPYING. If not, write to the Free
21 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 21 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22 ;; 02111-1307, USA. 22 ;; 02111-1307, USA.
23 23
24 ;;;; Code: 24 ;;; Synched up with: FSF 21.0.103.
25 ;;; (All the define-keys are our own.)
25 26
26 ;; Termcap or terminfo should set these next four? 27 ;;; Commentary:
27 (define-key function-key-map "\e[A" [up])
28 (define-key function-key-map "\e[B" [down])
29 (define-key function-key-map "\e[C" [right])
30 (define-key function-key-map "\e[D" [left])
31 28
32 (define-key function-key-map "\e[[A" [f1]) 29 ;;; Code:
33 (define-key function-key-map "\e[[B" [f2])
34 (define-key function-key-map "\e[[C" [f3])
35 (define-key function-key-map "\e[[D" [f4])
36 (define-key function-key-map "\e[[E" [f5])
37 (define-key function-key-map "\e[17~" [f6])
38 (define-key function-key-map "\e[18~" [f7])
39 (define-key function-key-map "\e[19~" [f8])
40 (define-key function-key-map "\e[20~" [f9])
41 (define-key function-key-map "\e[21~" [f10])
42 (define-key function-key-map "\e[23~" [f11])
43 (define-key function-key-map "\e[24~" [f12])
44 (define-key function-key-map "\e[25~" [f13])
45 (define-key function-key-map "\e[26~" [f14])
46 (define-key function-key-map "\e[28~" [f15])
47 (define-key function-key-map "\e[29~" [f16])
48 (define-key function-key-map "\e[31~" [f17])
49 (define-key function-key-map "\e[32~" [f18])
50 (define-key function-key-map "\e[33~" [f19])
51 (define-key function-key-map "\e[34~" [f20])
52 30
53 (define-key function-key-map "\e[1~" [home]) 31 ;; The Linux console handles Latin-1 by default.
54 (define-key function-key-map "\e[2~" [insert])
55 (define-key function-key-map "\e[3~" [delete])
56 (define-key function-key-map "\e[4~" [end])
57 (define-key function-key-map "\e[5~" [prior])
58 (define-key function-key-map "\e[6~" [next])
59 (define-key function-key-map "\e[G" [kp-5])
60 32
61 (define-key function-key-map "\eOp" [kp-0]) 33 (if-fboundp 'set-terminal-coding-system
62 (define-key function-key-map "\eOq" [kp-1]) 34 (unless (declare-fboundp (terminal-coding-system))
63 (define-key function-key-map "\eOr" [kp-2]) 35 (set-terminal-coding-system 'iso-8859-1)))
64 (define-key function-key-map "\eOs" [kp-3])
65 (define-key function-key-map "\eOt" [kp-4])
66 (define-key function-key-map "\eOu" [kp-5])
67 (define-key function-key-map "\eOv" [kp-6])
68 (define-key function-key-map "\eOw" [kp-7])
69 (define-key function-key-map "\eOx" [kp-8])
70 (define-key function-key-map "\eOy" [kp-9])
71 36
72 (define-key function-key-map "\eOl" [kp-add]) 37 ;; Make Latin-1 input characters work, too.
73 (define-key function-key-map "\eOS" [kp-subtract]) 38 ;; Meta will continue to work, because the kernel
74 (define-key function-key-map "\eOM" [kp-enter]) 39 ;; turns that into Escape.
75 (define-key function-key-map "\eOR" [kp-multiply]) 40
76 (define-key function-key-map "\eOQ" [kp-divide]) 41 (let ((value (current-input-mode)))
77 (define-key function-key-map "\eOn" [kp-decimal]) 42 ;; The third arg only matters in that it is not t or nil.
78 (define-key function-key-map "\eOP" [kp-numlock]) 43 (set-input-mode (nth 0 value) (nth 1 value) 'iso-latin-1 (nth 3 value)))
44
45 ;; The defines below seem to get automatically set in recent Termcaps.
46 ;; It was probably the case that in 1996, there was no good Linux termcap,
47 ;; which is why such a file was needed.
48
49 ; ;; Termcap or terminfo should set these next four?
50 ; (define-key function-key-map "\e[A" [up])
51 ; (define-key function-key-map "\e[B" [down])
52 ; (define-key function-key-map "\e[C" [right])
53 ; (define-key function-key-map "\e[D" [left])
54
55 ; (define-key function-key-map "\e[[A" [f1])
56 ; (define-key function-key-map "\e[[B" [f2])
57 ; (define-key function-key-map "\e[[C" [f3])
58 ; (define-key function-key-map "\e[[D" [f4])
59 ; (define-key function-key-map "\e[[E" [f5])
60 ; (define-key function-key-map "\e[17~" [f6])
61 ; (define-key function-key-map "\e[18~" [f7])
62 ; (define-key function-key-map "\e[19~" [f8])
63 ; (define-key function-key-map "\e[20~" [f9])
64 ; (define-key function-key-map "\e[21~" [f10])
65 ; (define-key function-key-map "\e[23~" [f11])
66 ; (define-key function-key-map "\e[24~" [f12])
67 ; (define-key function-key-map "\e[25~" [f13])
68 ; (define-key function-key-map "\e[26~" [f14])
69 ; (define-key function-key-map "\e[28~" [f15])
70 ; (define-key function-key-map "\e[29~" [f16])
71 ; (define-key function-key-map "\e[31~" [f17])
72 ; (define-key function-key-map "\e[32~" [f18])
73 ; (define-key function-key-map "\e[33~" [f19])
74 ; (define-key function-key-map "\e[34~" [f20])
75
76 ;; But they come out f13-f20 (see above), which are not what we
77 ;; normally call the shifted function keys. F11 = Shift-F1, F2 =
78 ;; Shift-F2. What a mess, see below.
79 (define-key function-key-map "\e[25~" [(shift f3)])
80 (define-key function-key-map "\e[26~" [(shift f4)])
81 (define-key function-key-map "\e[28~" [(shift f5)])
82 (define-key function-key-map "\e[29~" [(shift f6)])
83 (define-key function-key-map "\e[31~" [(shift f7)])
84 (define-key function-key-map "\e[32~" [(shift f8)])
85 (define-key function-key-map "\e[33~" [(shift f9)])
86 (define-key function-key-map "\e[34~" [(shift f10)])
87
88 ;; I potentially considered these. They would make people's Shift-F1 and
89 ;; Shift-F2 bindings work -- but of course they would fail to work if the
90 ;; person also put F11 and F12 bindings. It might also be confusing because
91 ;; the person with no bindings who hits f11 gets "error shift-f1 unbound".
92 ;; #### If only there were a proper way around this.
93 ;(define-key global-map 'f11 [(shift f1)])
94 ;(define-key global-map 'f12 [(shift f2)])
95
96 ; (define-key function-key-map "\e[1~" [home])
97 ;; seems to not get handled correctly automatically
98 (define-key function-key-map "\e[2~" [insert])
99 ; (define-key function-key-map "\e[3~" [delete])
100 ; (define-key function-key-map "\e[4~" [end])
101 ; (define-key function-key-map "\e[5~" [prior])
102 ; (define-key function-key-map "\e[6~" [next])
103 ; (define-key function-key-map "\e[G" [kp-5])
104
105 ; (define-key function-key-map "\eOp" [kp-0])
106 ; (define-key function-key-map "\eOq" [kp-1])
107 ; (define-key function-key-map "\eOr" [kp-2])
108 ; (define-key function-key-map "\eOs" [kp-3])
109 ; (define-key function-key-map "\eOt" [kp-4])
110 ; (define-key function-key-map "\eOu" [kp-5])
111 ; (define-key function-key-map "\eOv" [kp-6])
112 ; (define-key function-key-map "\eOw" [kp-7])
113 ; (define-key function-key-map "\eOx" [kp-8])
114 ; (define-key function-key-map "\eOy" [kp-9])
115
116 ; (define-key function-key-map "\eOl" [kp-add])
117 ; (define-key function-key-map "\eOS" [kp-subtract])
118 ; (define-key function-key-map "\eOM" [kp-enter])
119 ; (define-key function-key-map "\eOR" [kp-multiply])
120 ; (define-key function-key-map "\eOQ" [kp-divide])
121 ; (define-key function-key-map "\eOn" [kp-decimal])
122 ; (define-key function-key-map "\eOP" [kp-numlock])
79 123
80 ;;; linux.el ends here 124 ;;; linux.el ends here
81 125