[comp.sys.sgi] EMACS keyboard map

jit@SLIC.CELLBIO.DUKE.EDU (Jit Keong Tan) (01/10/91)

Does anyone have a keyboard map for the SGI keyboard
so that PgUp, PgDn, Home, End and the 4 arrow keys map 
map to the usual meaning ?

Thanks.


--------------------------------------------------------
Jit Keong Tan     | internet: jit@slic.cellbio.duke.edu
(919) 684-8098    | bitnet  : tan00001@dukemc.bitnet
--------------------------------------------------------
U.S. Mail:
Duke University Medical Center
Department Of Cell Biology
Box 3709
385 Nanaline Duke Bldg,
Durham, NC 27710

operator@IRIS.KTH.DK (Martin Liversage) (01/10/91)

> Does anyone have a keyboard map for the SGI keyboard
> so that PgUp, PgDn, Home, End and the 4 arrow keys map 
> map to the usual meaning ?

This is my /usr/local/emacs/lisp/term/iris.el file:

---------8<---------8<---------8<---------8<---------8<---------8<---------

;; Martin Liversage - 91.01.10

(require 'keypad)

(defvar iris-function-map nil)

(if (not iris-function-map)
    (progn
      (setq iris-function-map (lookup-key global-map "\e["))
      (if (not (keymapp iris-function-map))
	  (setq iris-function-map (make-sparse-keymap)))
      (setup-terminal-keymap iris-function-map
			     '(("A" . ?u) ; Up
			       ("B" . ?d) ; Down
			       ("C" . ?r) ; Right
			       ("D" . ?l) ; Left
			       ("H" . ?h) ; Home
			       ("150q" . ?P) ; Page Up
			       ("154q" . ?N) ; Page Down
			       ("001q" . ?\C-a) ; F1
			       ("002q" . ?\C-b)
			       ("003q" . ?\C-c)
			       ("004q" . ?\C-d)
			       ("005q" . ?\C-e)
			       ("006q" . ?\C-f)
			       ("007q" . ?\C-g)
			       ("008q" . ?\C-h)
			       ("009q" . ?\C-i)
			       ("010q" . ?\C-j)
			       ("011q" . ?\C-k)
			       ("012q" . ?\C-l)
			       ("013q" . ?\C-m) ; Shift-F1
			       ("014q" . ?\C-n)
			       ("015q" . ?\C-o)
			       ("016q" . ?\C-p)
			       ("017q" . ?\C-q)
			       ("018q" . ?\C-r)
			       ("019q" . ?\C-s)
			       ("020q" . ?\C-t)
			       ("021q" . ?\C-u)
			       ("022q" . ?\C-v)
			       ("023q" . ?\C-w)
			       ("024q" . ?\C-x)
			       ("139q" . ?I) ; Insert
			       ("150q" . ?P) ; Page Up
			       ("154q" . ?N))))) ; Page Down

(defun enable-function-keys ()
  "Enable the use of the iris arrow and function keys.
Because of the nature of the iris, this unavoidably breaks
the standard Emacs command ESC [; therefore, it is not done by default,
but only if you give this command."
  (global-set-key "\e[" iris-function-map))

---------8<---------8<---------8<---------8<---------8<---------8<---------

See lisp/keypad.el in the emacs sub-tree for additional documentation.
You have to add something like (setq term-setup-hook 'enable-function-keys)
to your .emacs file.

In my .emacs file I have more stuff takeing care of the iris terminal.
Like mapping the Ctrl-Left Arrow to backward-word and assigning the
usual meaning to the Back Space key etc. This is pretty personal stuff
(and there's a lot 8) ) so I decided not to post it here, but if
anyone is interested...

I think I have seen several iris specific keymaps on the net. One
place to look is in freja.diku.dk (close to me anyway...).

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\                                                                             \
\ Martin Liversage                      8616 m  /\                            \
\ Royal Dental College Copenhagen              /  \_   K2 - Mountain of Fate  \
\ Department of Pediatric Dentistry           / \   \       and Dreams        \
\ Norre Alle 20                              /   | | \                        \
\ DK-2200 Kobenhavn N                      /\    |  \ \                       \
\ +45 31 37 17 00 - 4276                  /  \ ^     | \                      \
\                                                                             \
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\