Commit | Line | Data |
---|---|---|
290af740 | 1 | ;;; AT386.el --- terminal support package for IBM AT keyboards |
8cc3881f | 2 | |
acaf905b | 3 | ;; Copyright (C) 1992, 2001-2012 Free Software Foundation, Inc. |
f2e3589a | 4 | |
8cc3881f DL |
5 | ;; Author: Eric S. Raymond <esr@snark.thyrsus.com> |
6 | ;; Keywords: terminals | |
7 | ||
8cc3881f DL |
8 | ;; This file is part of GNU Emacs. |
9 | ||
1fecc8fe | 10 | ;; GNU Emacs is free software: you can redistribute it and/or modify |
8cc3881f | 11 | ;; it under the terms of the GNU General Public License as published by |
1fecc8fe GM |
12 | ;; the Free Software Foundation, either version 3 of the License, or |
13 | ;; (at your option) any later version. | |
8cc3881f DL |
14 | |
15 | ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | ;; GNU General Public License for more details. | |
19 | ||
20 | ;; You should have received a copy of the GNU General Public License | |
1fecc8fe | 21 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
8cc3881f DL |
22 | |
23 | ;;; Commentary: | |
24 | ||
25 | ;; Uses the Emacs 19 terminal initialization features --- won't work with 18. | |
26 | ||
27 | ;;; Code: | |
28 | ||
fbf34973 KL |
29 | (defun terminal-init-AT386 () |
30 | "Terminal initialization function for AT386." | |
916e6880 | 31 | (let ((AT386-keypad-map (lookup-key input-decode-map "\e["))) |
fbf34973 | 32 | ;; The terminal initialization should already have set up some keys |
fbf34973 KL |
33 | (if (not (keymapp AT386-keypad-map)) |
34 | (error "What? Your AT386 termcap/terminfo has no keycaps in it")) | |
35 | ||
36 | ;; Equivalents of these are set up automatically by termcap/terminfo | |
37 | ;; (define-key AT386-keypad-map "A" [up]) | |
38 | ;; (define-key AT386-keypad-map "B" [down]) | |
39 | ;; (define-key AT386-keypad-map "C" [right]) | |
40 | ;; (define-key AT386-keypad-map "D" [left]) | |
41 | ||
42 | ;; These would be set up by terminfo, but not termcap | |
43 | (define-key AT386-keypad-map "H" [home]) | |
44 | (define-key AT386-keypad-map "Y" [end]) | |
45 | (define-key AT386-keypad-map "U" [next]) ;; PgDn | |
46 | (define-key AT386-keypad-map "V" [prior]) ;; PgUp | |
47 | (define-key AT386-keypad-map "@" [insert]) ;; Ins key | |
48 | ||
49 | ;; These are not normally set up by either | |
50 | (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key | |
51 | (define-key AT386-keypad-map "S" [kp-subtract]) | |
52 | (define-key AT386-keypad-map "T" [kp-add]) | |
53 | ||
54 | ;; Arrange for the ALT key to be equivalent to ESC | |
916e6880 SM |
55 | (define-key input-decode-map "\eN" [ALT]) |
56 | (define-key local-function-key-map [ALT] [27]) | |
fbf34973 | 57 | )) |
8cc3881f DL |
58 | |
59 | ;;; AT386.el ends here |