]> code.delx.au - gnu-emacs/blob - lisp/term/AT386.el
Merged from miles@gnu.org--gnu-2005 (patch 469)
[gnu-emacs] / lisp / term / AT386.el
1 ;;; AT386.el --- terminal support package for IBM AT keyboards -*- no-byte-compile: t -*-
2
3 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
4 ;; Keywords: terminals
5
6 ;; Copyright (C) 1992 Free Software Foundation, Inc.
7
8 ;; This file is part of GNU Emacs.
9
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
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
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
22 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23 ;; Boston, MA 02110-1301, USA.
24
25 ;;; Commentary:
26
27 ;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
28
29 ;;; Code:
30
31 (if (boundp 'AT386-keypad-map)
32 nil
33 ;; The terminal initialization should already have set up some keys
34 (setq AT386-keypad-map (lookup-key (terminal-local-value 'function-key-map nil) "\e["))
35 (if (not (keymapp AT386-keypad-map))
36 (error "What? Your AT386 termcap/terminfo has no keycaps in it"))
37
38 ;; Equivalents of these are set up automatically by termcap/terminfo
39 ;; (define-key AT386-keypad-map "A" [up])
40 ;; (define-key AT386-keypad-map "B" [down])
41 ;; (define-key AT386-keypad-map "C" [right])
42 ;; (define-key AT386-keypad-map "D" [left])
43
44 ;; These would be set up by terminfo, but not termcap
45 (define-key AT386-keypad-map "H" [home])
46 (define-key AT386-keypad-map "Y" [end])
47 (define-key AT386-keypad-map "U" [next]) ;; PgDn
48 (define-key AT386-keypad-map "V" [prior]) ;; PgUp
49 (define-key AT386-keypad-map "@" [insert]) ;; Ins key
50
51 ;; These are not normally set up by either
52 (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key
53 (define-key AT386-keypad-map "S" [kp-subtract])
54 (define-key AT386-keypad-map "T" [kp-add])
55
56 ;; Arrange for the ALT key to be equivalent to ESC
57 (define-key (terminal-local-value 'function-key-map nil) "\eN" [27]) ; ALT map
58 )
59
60 ;;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7
61 ;;; AT386.el ends here