Merge remote-tracking branch 'origin/master' into for-steve
[sxemacs] / lisp / term / AT386.el
1 ;; AT386.el --- terminal support package for IBM AT keyboards
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 SXEmacs.
9
10 ;; SXEmacs 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 3 of the License, or
13 ;; (at your option) any later version.
14
15 ;; SXEmacs 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 this program.  If not, see <http://www.gnu.org/licenses/>.
22
23 ;;; Commentary:
24
25 ;;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
26
27 ;;; Code:
28
29 (if-boundp 'AT386-keypad-map
30     nil
31   ;; The terminal initialization should already have set up some keys
32   (setq AT386-keypad-map (lookup-key function-key-map "\e["))
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
55   (define-key function-key-map "\eN" [?\e]) ; ALT map
56   )
57
58
59 ;;; AT386.el ends here