[comp.emacs] M- and Keypad keys for ISC 386/ix

pauld@scenic.wa.com (Paul Barton-Davis) (12/18/90)

Joe - here's my AT386.el, used with ISC 386/ix. Put this in a directory
called term, a subdirectory of your load path ....

Paul Barton-Davis			<pauld@scenic.wa.com>
ScenicSoft, Inc.	
(206) 776-7760		"Stand down Margaret, stand down please ..."
			

;; Function key bindings for AT386 (actually, a poor NCR emulation)
;; Paul Davis <scenic!pauld@uunet.uu.net> Nov 1989

(defvar at386-esc-O-map (make-sparse-keymap)
  "Keymap for AT386 ESC-O encoded function keys")

(defvar at386-esc-b-map (make-sparse-keymap)
  "Keymap for AT386 ESC-[ encoded function keys")

(defvar at386-alt-map (make-keymap)
  "Keymap for ALTered keys (which are preceded by ESC-N)")

(define-key esc-map "O" at386-esc-O-map)
(define-key esc-map "[" at386-esc-b-map)
(define-key esc-map "N" at386-alt-map)

(define-key at386-esc-O-map "P" 'find-file)			; F1
(define-key at386-esc-O-map "Q" 'save-buffer)			; F2
(define-key at386-esc-O-map "R" 'find-file-other-window)	; F3
(define-key at386-esc-O-map "S" 'other-window)			; F4
(define-key at386-esc-O-map "T" 'delete-other-windows)		; F5
(define-key at386-esc-O-map "U" 'isearch-forward-regexp)	; F6
(define-key at386-esc-O-map "V" 'isearch-backward-regexp)	; F7
(define-key at386-esc-O-map "W" 'replace-regexp)		; F8
(define-key at386-esc-O-map "X" 'shell)				; F9
(define-key at386-esc-O-map "Y" 'dired)				; F10
(define-key at386-esc-O-map "Z" 'compile)			; F11
(define-key at386-esc-O-map "A" 'rmail)				; F12

(define-key at386-esc-b-map "@" 'yank)				; Insert
(define-key at386-esc-b-map "H" 'beginning-of-buffer)		; Home
(define-key at386-esc-b-map "V" 'scroll-down)			; Page Up
(define-key at386-esc-b-map "Y" 'end-of-buffer)			; End
(define-key at386-esc-b-map "U" 'scroll-up)			; Page Down

;; ANSI cursor arrows

(define-key at386-esc-b-map "A" 'previous-line)		; up
(define-key at386-esc-b-map "B" 'next-line)		; down
(define-key at386-esc-b-map "C" 'forward-char)		; right
(define-key at386-esc-b-map "D" 'backward-char)		; left

;; Numeric keypad (without Number Lock)

(define-key at386-esc-b-map "S" 'eval-expression)		; -
(define-key at386-esc-b-map "T" 'execute-extended-command)	; +

;; ALT-ered keys are preceded by the escape sequence ESC-N

(defun ignore-key ()
  (interactive)
  (ignore))

(define-key at386-alt-map "a" 'beginning-of-defun)
(define-key at386-alt-map "b" 'backward-word)
(define-key at386-alt-map "c" 'shell-command)
(define-key at386-alt-map "d" 'beginning-of-defun)
(define-key at386-alt-map "e" 'end-of-defun)
(define-key at386-alt-map "f" 'forward-word)
(define-key at386-alt-map "g" 'grep)
(define-key at386-alt-map "h" 'help-command)
(define-key at386-alt-map "i" 'indent-region)
(define-key at386-alt-map "j" 'ignore-key)
(define-key at386-alt-map "k" 'kill-rectangle)
(define-key at386-alt-map "l" 'goto-line)
(define-key at386-alt-map "m" 'delete-matching-lines)
(define-key at386-alt-map "n" 'delete-non-matching-lines)
(define-key at386-alt-map "o" 'occur)
(define-key at386-alt-map "p" 'lpr-buffer)
(define-key at386-alt-map "q" 'ignore-key)
(define-key at386-alt-map "r" 'isearch-backward-regexp)
(define-key at386-alt-map "s" 'shell-command-on-region)
(define-key at386-alt-map "t" 'transpose-sexps)
(define-key at386-alt-map "u" 'ignore-key)
(define-key at386-alt-map "v" 'ignore-key)
(define-key at386-alt-map "w" 'forward-word)
(define-key at386-alt-map "x" 'forward-sexp)
(define-key at386-alt-map "y" 'yank-rectangle)
(define-key at386-alt-map "z" 'backward-sexp)
(define-key at386-alt-map "/" 'dabbrev-expand)
(define-key at386-alt-map "[" 'forward-paragraph)


(define-key global-map "\C-h" 'backward-delete-char-untabify) ; BACKSPACE