Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!samsung!uunet!mcsun!unido!sapwdf!wohler From: wohler@sapwdf.UUCP (Bill Wohler) Newsgroups: comp.unix.aix Subject: Re: Emacs Function Key Binding on RS/6000 Message-ID: <2619@sapwdf.UUCP> Date: 27 Feb 91 13:24:04 GMT References: <135@ladwp.ladwp.com> <26026@netcom.COM> Reply-To: Bill Wohler Organization: SAP AG, Walldorf, Germany Lines: 83 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@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) ))