]> code.delx.au - gnu-emacs/blob - lisp/term/AT386.el
Merged in changes from CVS trunk. Plus added lisp/term tweaks.
[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, 2002, 2003, 2004, 2005 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 (defun terminal-init-AT386 ()
32 "Terminal initialization function for AT386."
33 (if (boundp 'AT386-keypad-map)
34 nil
35 ;; The terminal initialization should already have set up some keys
36 (setq AT386-keypad-map (lookup-key (terminal-local-value 'local-function-key-map nil) "\e["))
37 (if (not (keymapp AT386-keypad-map))
38 (error "What? Your AT386 termcap/terminfo has no keycaps in it"))
39
40 ;; Equivalents of these are set up automatically by termcap/terminfo
41 ;; (define-key AT386-keypad-map "A" [up])
42 ;; (define-key AT386-keypad-map "B" [down])
43 ;; (define-key AT386-keypad-map "C" [right])
44 ;; (define-key AT386-keypad-map "D" [left])
45
46 ;; These would be set up by terminfo, but not termcap
47 (define-key AT386-keypad-map "H" [home])
48 (define-key AT386-keypad-map "Y" [end])
49 (define-key AT386-keypad-map "U" [next]) ;; PgDn
50 (define-key AT386-keypad-map "V" [prior]) ;; PgUp
51 (define-key AT386-keypad-map "@" [insert]) ;; Ins key
52
53 ;; These are not normally set up by either
54 (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key
55 (define-key AT386-keypad-map "S" [kp-subtract])
56 (define-key AT386-keypad-map "T" [kp-add])
57
58 ;; Arrange for the ALT key to be equivalent to ESC
59 (define-key (terminal-local-value 'local-function-key-map nil) "\eN" [27]) ; ALT map
60 ))
61
62 ;;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7
63 ;;; AT386.el ends here