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 | ||
32 | (if (boundp 'AT386-keypad-map) | |
33 | nil | |
34 | ;; The terminal initialization should already have set up some keys | |
35 | (setq AT386-keypad-map (lookup-key function-key-map "\e[")) | |
36 | (if (not (keymapp AT386-keypad-map)) | |
e8af40ee | 37 | (error "What? Your AT386 termcap/terminfo has no keycaps in it")) |
8cc3881f DL |
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 | |
58 | (define-key function-key-map "\eN" [27]) ; ALT map | |
59 | ) | |
60 | ||
ab5796a9 | 61 | ;;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7 |
8cc3881f | 62 | ;;; AT386.el ends here |