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