home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-18.59-bin.lha / lib / emacs / 18.59 / lisp / term / at386.el < prev    next >
Lisp/Scheme  |  1991-05-02  |  4KB  |  102 lines

  1. ;;; Dell 325D (UNIX SVR4) as AT386 UNIX PC keyboard definitions
  2. ;;; Based on Brant Cheikes (brant@linc.cis.upenn.edu, manta!brant)
  3. ;;; unixpc.el.
  4. ;;;
  5. ;;; Mark J. Hewitt (mjh@uk.co.kernel)
  6. ;;; 8-apr-91
  7. ;;;
  8. ;;; The AT386 keyboard mapping has three types of prefix keys:
  9. ;;;
  10. ;;; <esc> [ for cursor positioning and keypad
  11. ;;; <esc> O for function keys
  12. ;;; <esc> N for ALT keys 
  13. ;;;
  14. ;;;   *NOTE* Care is required when using ALT bound as a simple META key.
  15. ;;;          It works for most normal key sequences, but some ALT-CTRL
  16. ;;;          (aka M-C-x) are intercepted locally.  F'rinstance M-C-d would
  17. ;;;          break to the kernel debugger, kdb (!).
  18. ;;;
  19.  
  20. (require 'keypad)            ; for keypad-defaults
  21.  
  22. (defvar Dell-map-1 nil
  23.   "The <esc>O keys (Function) on the Dell Unix PC.")
  24. (defvar Dell-map-3 nil
  25.   "The <esc>[ keys (Right-hand keypads) on the Dell Unix PC.")
  26.  
  27. (defun enable-function-keys ()
  28.   "Enable the use of the keypad and function keys.
  29. Because of the nature of the PC keyboard under Unix,
  30. this unavoidably breaks a standard Emacs command (M-[);
  31. therefore, it is not done by default, but only if you give this command."
  32.   (interactive)
  33.   (global-set-key "\eO" Dell-map-1)
  34.   (global-set-key "\eN" 'ESC-prefix)
  35.   (global-set-key "\e[" Dell-map-3)
  36. )
  37.  
  38. ;;; Create a few new keypad defaults.
  39.  
  40. (keypad-default "5" 'set-mark-command)
  41. (keypad-default "I" 'yank)
  42. (keypad-default "x" 'call-last-kbd-macro)
  43. (keypad-default "\C-f" 'info)
  44. (keypad-default "\C-g" 'overwrite-mode)
  45. (keypad-default "\C-h" 'auto-fill-mode)
  46. (keypad-default "\C-i" 'abbrev-mode)
  47. (keypad-default "\C-j" 'browse-yank)
  48. ; There are no definitions for these functions.
  49. ;(keypad-default "\C-l" 'Dell-132)
  50. ;(keypad-default "\C-m" 'Dell-80)
  51. (keypad-default "\C-n" 'scroll-other-window)
  52. (keypad-default "\C-o" 'other-window)
  53. (keypad-default "\C-p" 'repeat-complex-command)
  54.  
  55. ;; Now populate the maps, if they are enabled.
  56.  
  57. (if Dell-map-1
  58.     nil
  59.   (setq Dell-map-1 (make-keymap))   ; <ESC>O (function key) commands
  60.   (setup-terminal-keymap Dell-map-1
  61.              '(("P" . ??)   ; F1 (help)
  62.                ("p" . ?\^f) ; Shift F1 (info)
  63.                ("Q" . ?\^g) ; F2  (overwrite-mode)
  64.                ("q" . ?\^g) ; Shift F2  (overwrite-mode)
  65.                ("R" . ?\^h) ; F3  (auto-fill-mode)
  66.                ("r" . ?\^h) ; Shift F3  (auto-fill-mode)
  67.                ("S" . ?\^i) ; F4  (abbrev-mode)
  68.                ("s" . ?\^i) ; Shift F4  (abbrev-mode)
  69.                ("T" . ?\^j) ; F5  (browse-yank)
  70.                ("t" . ?\^j) ; Shift F5  (browse-yank)
  71.                ("U" . ?\^l) ; F6  (Dell-132)
  72.                ("u" . ?\^m) ; Shift F6  (Dell-80)
  73.                ("V" . nil)  ; F7
  74.                ("v" . nil)  ; Shift F7
  75.                ("W" . ?\^n) ; F8  (scroll-other-window)
  76.                ("w" . ?\^o) ; Shift F8  (other-window)
  77.                ("X" . nil)  ; F9
  78.                ("x" . nil)  ; Shift F9
  79.                ("Y" . nil)  ; F10
  80.                ("y" . nil)  ; Shift F10
  81.                ("Z" . ?\^p) ; F11 (repeat-complex-command)
  82.                ("z" . ?\^p) ; Shift F11 (repeat-complex-command)
  83.                ("A" . ?x)   ; F12 (call-last-kbd-macro)
  84.                ("a" . ?x)   ; Shift F12 (call-last-kbd-macro)
  85.                )))
  86.  
  87. (if Dell-map-3
  88.     nil
  89.   (setq Dell-map-3 (make-sparse-keymap))   ; <ESC>[ commands
  90.   (setup-terminal-keymap Dell-map-3
  91.              '(("A" . ?u)    ; Up Arrow (previous-line)
  92.                ("B" . ?d)    ; Down Arrow (next-line)
  93.                ("C" . ?r)    ; Right Arrow (forward-char)
  94.                ("D" . ?l)    ; Left Arrow (backward-char)
  95.                ("H" . ?\^a)    ; Home (beginning-of-line)
  96.                ("Y" . ?\^b) ; End (end-of-line)
  97.                ("@" . ?I)    ; Insert (yank)
  98.                ("U" . ?N)    ; Page Up (scroll-up)
  99.                ("V" . ?P)   ; Shift-Page (scroll-down)
  100.                ("G" . ?5)   ; pad 5 (set-mark-command)
  101.                )))
  102.