mjh@kernel.co.uk (Mark J Hewitt) (05/02/91)
Well, just to offer some choice, here is my version of an AT386 configuration /Mark. ------------------------------------------------------------------------------- ;;; Dell 325D (UNIX SVR4) as AT386 UNIX PC keyboard definitions ;;; Based on Brant Cheikes (brant@linc.cis.upenn.edu, manta!brant) ;;; unixpc.el. ;;; ;;; Mark J. Hewitt (mjh@uk.co.kernel) ;;; 8-apr-91 ;;; ;;; The AT386 keyboard mapping has three types of prefix keys: ;;; ;;; <esc> [ for cursor positioning and keypad ;;; <esc> O for function keys ;;; <esc> N for ALT keys ;;; ;;; *NOTE* Care is required when using ALT bound as a simple META key. ;;; It works for most normal key sequences, but some ALT-CTRL ;;; (aka M-C-x) are intercepted locally. F'rinstance M-C-d would ;;; break to the kernel debugger, kdb (!). ;;; (require 'keypad) ; for keypad-defaults (defvar Dell-map-1 nil "The <esc>O keys (Function) on the Dell Unix PC.") (defvar Dell-map-2 nil "The <esc>N keys (ALT augmented) on the Dell Unix PC.") (defvar Dell-map-3 nil "The <esc>[ keys (Right-hand keypads) on the Dell Unix PC.") (defun enable-Dell-keys () "Enable the use of the Dell Unix PC function keys. Because of the nature of the Dell Unix PC, this unavoidably breaks several standard Emacs prefixes; therefore, it is not done by default, but only if you give this command." (interactive) (global-set-key "\eO" Dell-map-1) (global-set-key "\eN" Dell-map-2) (global-set-key "\e[" Dell-map-3) ) ;;; Create a few new keypad defaults. (keypad-default "5" 'set-mark-command) (keypad-default "I" 'yank) (keypad-default "x" 'call-last-kbd-macro) (keypad-default "\C-f" 'info) (keypad-default "\C-g" 'overwrite-mode) (keypad-default "\C-h" 'auto-fill-mode) (keypad-default "\C-i" 'abbrev-mode) (keypad-default "\C-j" 'browse-yank) (keypad-default "\C-l" 'Dell-132) (keypad-default "\C-m" 'Dell-80) (keypad-default "\C-n" 'scroll-other-window) (keypad-default "\C-o" 'other-window) (keypad-default "\C-p" 'repeat-complex-command) ;; Now populate the maps, if they are enabled. (if Dell-map-1 nil (setq Dell-map-1 (make-keymap)) ; <ESC>O (function key) commands (setup-terminal-keymap Dell-map-1 '(("P" . ??) ; F1 (help) ("p" . ?\^f) ; Shift F1 (info) ("Q" . ?\^g) ; F2 (overwrite-mode) ("q" . ?\^g) ; Shift F2 (overwrite-mode) ("R" . ?\^h) ; F3 (auto-fill-mode) ("r" . ?\^h) ; Shift F3 (auto-fill-mode) ("S" . ?\^i) ; F4 (abbrev-mode) ("s" . ?\^i) ; Shift F4 (abbrev-mode) ("T" . ?\^j) ; F5 (browse-yank) ("t" . ?\^j) ; Shift F5 (browse-yank) ("U" . ?\^l) ; F6 (Dell-132) ("u" . ?\^m) ; Shift F6 (Dell-80) ("V" . nil) ; F7 ("v" . nil) ; Shift F7 ("W" . ?\^n) ; F8 (scroll-other-window) ("w" . ?\^o) ; Shift F8 (other-window) ("X" . nil) ; F9 ("x" . nil) ; Shift F9 ("Y" . nil) ; F10 ("y" . nil) ; Shift F10 ("Z" . ?\^p) ; F11 (repeat-complex-command) ("z" . ?\^p) ; Shift F11 (repeat-complex-command) ("A" . ?x) ; F12 (call-last-kbd-macro) ("a" . ?x) ; Shift F12 (call-last-kbd-macro) ))) (if Dell-map-2 nil (setq Dell-map-2 (copy-keymap esc-map) ; <ESC>N commands. Treat like META )) (if Dell-map-3 nil (setq Dell-map-3 (make-sparse-keymap)) ; <ESC>[ commands (setup-terminal-keymap Dell-map-3 '(("A" . ?u) ; Up Arrow (previous-line) ("B" . ?d) ; Down Arrow (next-line) ("C" . ?r) ; Right Arrow (forward-char) ("D" . ?l) ; Left Arrow (backward-char) ("H" . ?\^a) ; Home (beginning-of-line) ("Y" . ?\^b) ; End (end-of-line) ("@" . ?I) ; Insert (yank) ("U" . ?N) ; Page Up (scroll-up) ("V" . ?P) ; Shift-Page (scroll-down) ("G" . ?5) ; pad 5 (set-mark-command) ))) ------------------------------------------------------------------------------- Mark J. Hewitt bangpath: ...!ukc!kernel!mjh JANET: mjh@uk.co.kernel voice: (+44) 532 444566 other: mjh@kernel.co.uk fax: (+44) 532 425456 old style: mjh%uk.co.kernel@uk.ac.ukc paper: Kernel Technology Ltd, Development Centre, 46 The Calls, Leeds, LS2 7EY, West Yorkshire, UK