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, |
12dc447f | 4 | ;; 2006, 2007, 2008 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 | ||
11 | ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 | ;; it under the terms of the GNU General Public License as published by | |
5a9dffec | 13 | ;; the Free Software Foundation; either version 3, or (at your option) |
8cc3881f DL |
14 | ;; any later version. |
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 | |
22 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
4fc5845f LK |
23 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 | ;; Boston, MA 02110-1301, USA. | |
8cc3881f DL |
25 | |
26 | ;;; Commentary: | |
27 | ||
28 | ;; Uses the Emacs 19 terminal initialization features --- won't work with 18. | |
29 | ||
30 | ;;; Code: | |
31 | ||
fbf34973 KL |
32 | (defun terminal-init-AT386 () |
33 | "Terminal initialization function for AT386." | |
916e6880 | 34 | (let ((AT386-keypad-map (lookup-key input-decode-map "\e["))) |
fbf34973 | 35 | ;; The terminal initialization should already have set up some keys |
fbf34973 KL |
36 | (if (not (keymapp AT386-keypad-map)) |
37 | (error "What? Your AT386 termcap/terminfo has no keycaps in it")) | |
38 | ||
39 | ;; Equivalents of these are set up automatically by termcap/terminfo | |
40 | ;; (define-key AT386-keypad-map "A" [up]) | |
41 | ;; (define-key AT386-keypad-map "B" [down]) | |
42 | ;; (define-key AT386-keypad-map "C" [right]) | |
43 | ;; (define-key AT386-keypad-map "D" [left]) | |
44 | ||
45 | ;; These would be set up by terminfo, but not termcap | |
46 | (define-key AT386-keypad-map "H" [home]) | |
47 | (define-key AT386-keypad-map "Y" [end]) | |
48 | (define-key AT386-keypad-map "U" [next]) ;; PgDn | |
49 | (define-key AT386-keypad-map "V" [prior]) ;; PgUp | |
50 | (define-key AT386-keypad-map "@" [insert]) ;; Ins key | |
51 | ||
52 | ;; These are not normally set up by either | |
53 | (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key | |
54 | (define-key AT386-keypad-map "S" [kp-subtract]) | |
55 | (define-key AT386-keypad-map "T" [kp-add]) | |
56 | ||
57 | ;; Arrange for the ALT key to be equivalent to ESC | |
916e6880 SM |
58 | (define-key input-decode-map "\eN" [ALT]) |
59 | (define-key local-function-key-map [ALT] [27]) | |
fbf34973 | 60 | )) |
8cc3881f | 61 | |
916e6880 | 62 | ;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7 |
8cc3881f | 63 | ;;; AT386.el ends here |