Emacs Function Key Binding on RS/6000
Bill Wohler
wohler at sapwdf.UUCP
Thu Feb 28 00:24:04 AEST 1991
allow me to save you some work. based upon sun.el, i came up with
the following to bind the function keys to functions. most of it
you won't need to change, but you can give functions to the
PF keys.
--bw
wohler at sap-ag.de
----- my-x.el follows -----
(defvar x-esc-bracket t
"*If non-nil, rebind ESC [ as prefix for X function keys.")
(defun ignore-key ()
"interactive version of ignore"
(interactive)
(ignore))
(defvar num-state t)
(defun swap-num-keys () "Exchange meaning of Number keys."
(interactive)
(setq num-state
(cond ((null num-state)
(define-key esc-map "On" 'ignore-key) ; comma
(define-key esc-map "Op" 'ignore-key) ; 0
(define-key esc-map "Oq" 'ignore-key) ; 1
(define-key esc-map "Or" 'ignore-key) ; 2
(define-key esc-map "Os" 'ignore-key) ; 3
(define-key esc-map "Ot" 'ignore-key) ; 4
(define-key esc-map "Ou" 'ignore-key) ; 5
;;(define-key esc-map "Ov" 'ignore-key) ; 6 (page up!)
(define-key esc-map "Ow" 'ignore-key) ; 7
(define-key esc-map "Ox" 'ignore-key) ; 8
(define-key esc-map "Oy" 'ignore-key) ; 9
t)
(t
(define-key esc-map "On" 'delete-char) ; comma
(define-key esc-map "Op" 'ignore-key) ; 0
(define-key esc-map "Oq" 'end-of-buffer) ; 1
(define-key esc-map "Or" 'next-line) ; 2
(define-key esc-map "Os" 'scroll-up) ; 3
(define-key esc-map "Ot" 'backward-char) ; 4
(define-key esc-map "Ou" 'ignore-key) ; 5
;;(define-key esc-map "Ov" 'forward-char) ; 6 (page up!)
(define-key esc-map "Ow" 'beginning-of-buffer) ; 7
(define-key esc-map "Ox" 'previous-line) ; 8
(define-key esc-map "Oy" 'scroll-down) ; 9
nil))))
(defvar x-raw-map (make-sparse-keymap) "*Keymap for ESC-[ encoded keyboard")
(define-key x-raw-map "A" 'previous-line) ; up arrow
(define-key x-raw-map "B" 'next-line) ; down arrow
(define-key x-raw-map "D" 'backward-char) ; left arrow
(define-key x-raw-map "C" 'forward-char) ; right arrow
(define-key x-raw-map "11~" 'help-for-help) ; F1
(define-key x-raw-map "12~" 'ignore-key) ; F2
(define-key x-raw-map "13~" 'ignore-key) ; F3
(define-key x-raw-map "14~" 'ignore-key) ; F4
(define-key x-raw-map "15~" 'ignore-key) ; F5
(define-key x-raw-map "17~" 'ignore-key) ; F6
(define-key x-raw-map "18~" 'ignore-key) ; F7
(define-key x-raw-map "19~" 'ignore-key) ; F8
(define-key x-raw-map "20~" 'ignore-key) ; F9
(define-key x-raw-map "21~" 'my-exit-emacs) ; F10
(define-key x-raw-map "23~" 'ignore-key) ; F11
(define-key x-raw-map "2~" 'ignore-key) ; insert
(define-key x-raw-map "\M-L" 'beginning-of-buffer) ; begin
(define-key x-raw-map "\M-\C-@" 'end-of-buffer) ; end
(if x-esc-bracket
(progn
(define-key esc-map "[" x-raw-map) ; Install x-raw-map
(define-key esc-map "OP" 'swap-num-keys) ; num
(define-key esc-map "OQ" 'ignore-key) ; div
(define-key esc-map "OR" 'ignore-key) ; mult
(define-key esc-map "OS" 'ignore-key) ; minus
(define-key esc-map "Om" 'ignore-key) ; plus
(define-key esc-map "OM" 'newline) ; enter
(define-key esc-map "Ov" 'scroll-down) ; Page up
(define-key esc-map "Ol" 'scroll-up) ; Page down
(define-key esc-map "[[" 'backward-paragraph) ; the original esc-[
(swap-num-keys)
))
More information about the Comp.unix.aix
mailing list