view lisp/term/AT386.el @ 105939:a0f778f4a995

* term/x-win.el (x-gtk-stock-map): * progmodes/vera-mode.el (auto-mode-alist): * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) (inferior-lisp-program, inferior-lisp-load-command): * progmodes/hideshow.el (hs-special-modes-alist): * progmodes/gud.el (same-window-regexps): * progmodes/grep.el (grep-program, find-program, xargs-program): * net/telnet.el (same-window-regexps): * net/rlogin.el (same-window-regexps): * language/ethiopic.el (font-ccl-encoder-alist): * vc-sccs.el (vc-sccs-master-templates): * vc-rcs.el (vc-rcs-master-templates): * subr.el (cl-assertion-failed): * simple.el (next-error-overlay-arrow-position): * lpr.el (lpr-command): * locate.el (locate-ls-subdir-switches): * info.el (same-window-regexps, info) (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node): * image-mode.el (image-mode, auto-mode-alist): * hippie-exp.el (hippie-expand-ignore-buffers): * format.el (format-alist): * find-dired.el (find-ls-subdir-switches, find-grep-options) (find-name-arg): * facemenu.el (facemenu-keybindings): * dired.el (dired-listing-switches, dired-chown-program): * diff.el (diff-switches, diff-command): * cus-edit.el (same-window-regexps): * bindings.el (mode-line-mule-info) (mode-line-buffer-identification): Purecopy strings.
author Dan Nicolaescu <dann@ics.uci.edu>
date Wed, 11 Nov 2009 05:49:09 +0000
parents a9dc0e7c3f2b
children 1d1d5d9bd884
line wrap: on
line source

;;; AT386.el --- terminal support package for IBM AT keyboards -*- no-byte-compile: t -*-

;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
;;   2006, 2007, 2008, 2009 Free Software Foundation, Inc.

;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Keywords: terminals

;; This file is part of GNU Emacs.

;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; Uses the Emacs 19 terminal initialization features --- won't work with 18.

;;; Code:

(defun terminal-init-AT386 ()
  "Terminal initialization function for AT386."
  (let ((AT386-keypad-map (lookup-key input-decode-map "\e[")))
    ;; The terminal initialization should already have set up some keys
    (if (not (keymapp AT386-keypad-map))
	(error "What?  Your AT386 termcap/terminfo has no keycaps in it"))

    ;; Equivalents of these are set up automatically by termcap/terminfo
    ;;  (define-key AT386-keypad-map "A" [up])
    ;;  (define-key AT386-keypad-map "B" [down])
    ;;  (define-key AT386-keypad-map "C" [right])
    ;;  (define-key AT386-keypad-map "D" [left])

    ;; These would be set up by terminfo, but not termcap
    (define-key AT386-keypad-map "H" [home])
    (define-key AT386-keypad-map "Y" [end])
    (define-key AT386-keypad-map "U" [next])	;; PgDn
    (define-key AT386-keypad-map "V" [prior])	;; PgUp
    (define-key AT386-keypad-map "@" [insert])	;; Ins key

    ;; These are not normally set up by either
    (define-key AT386-keypad-map "G" [kp-5])	;; Unlabeled center key
    (define-key AT386-keypad-map "S" [kp-subtract])
    (define-key AT386-keypad-map "T" [kp-add])

    ;; Arrange for the ALT key to be equivalent to ESC
    (define-key input-decode-map "\eN" [ALT])
    (define-key local-function-key-map [ALT] [27])
    ))

;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7
;;; AT386.el ends here