XEmacs 21.2-b1
[chise/xemacs-chise.git.1] / 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 XEmacs.
9
10 ;; XEmacs 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 ;; XEmacs is distributed in the hope that it will be useful, but
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 ;; General Public License for more details.
19
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with XEmacs; see the file COPYING.  If not, write to the Free
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23 ;; 02111-1307, 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 function-key-map "\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 function-key-map "\eN" [?\e]) ; ALT map
58   )
59
60
61 ;;; AT386.el ends here