Emacs key-binding
Scott Henry
scotth at corp.sgi.com
Thu May 2 18:37:31 AEST 1991
In article <9105012129.AA29430 at smaug.physics.mcgill.ca> igraham at SMAUG.PHYSICS.MCGILL.CA (Ian Graham) writes:
ian> Hi,
ian> At the request of a user I recently installed emacs on our Irises, both
ian> the ordinary terminal version and an X version. These work fine, but
ian> the person doing most of the fiddling with it wants to do key binding to
ian> make the whole thing more convenient: In his case he wants to do
ian> key binding on the IRIS keyboard -- In particular he wants to bind things
ian> like the page-down key, arrow keys, insert, delete, etc to their obvious
ian> functions. The problem is -- no-one here knows how to do it, either within
ian> emacs or X. It is not clear to me whether some of this should be done
ian> in X when running an X-version of emacs (we are running 4-Sight, not X,
ian> so by this I mean that xemacs just pops an X-window under 4-Sight -- does
ian> this mean that X remaps the keyboard just for this window?)
ian> Basically, there seem to me to be 3 ways to remap keys, none of which I
ian> know how to do (having had no need):
ian> 1) NeWS -- fiddle something in user.ps (I don't know how to do this)
ian> 2) X11 -- fiddle something in .xinitrc? (I don't know how to do this)
ian> 3) emacs -- fiddle something else (" " " " " " " )
ian> I also don't know how they interact with each other -- i.e. does emacs
ian> remapping remap on top of a NeWS/X remapping, etc? And for our case which
ian> remapping should we be doing, and how?
Under Irix release 3.3.*, keymappings are handled first by NeWS, then by
X, and then by emacs, so changes are cumulative. Ie: if you swap the
Caps_Lock and L_Ctrl keys in NeWS, the change will be in effect for all X
clients, including emacs.
A year ago (4/2/90) a patch for emacs 18.55 was posted to comp.emacs that
added (among other things) support for x-rebind-key as an elisp primitive.
There are slight changes in the patches needed for 18.57. Based on that
patch, I wrote this x11 initialization file that maps the keypad:
================== electronically snip this line =================
;; my version of key and mouse bindings for Gnu Emacs 18.55+ using X11
;; and the various X-patches for keypad mapping
;; Also works with epoch 3.2
;;
;; scott henry <scotth at sgi.com> 5/3/90
(if (eq window-system 'x)
(progn
;;; key bindings (requires the x-rebind-key patch)
(if (boundp 'epoch::version)
(fset 'x-rebind-key 'epoch::rebind-key))
(if (symbolp 'x-rebind-key)
(progn
;; cursor keys (with shifted versions, if it works)
(x-rebind-key "Up" 0 "")
(x-rebind-key "Down" 0 "")
(x-rebind-key "Right" 0 "")
(x-rebind-key "Left" 0 "")
(x-rebind-key "Up" 6 "4")
(x-rebind-key "Down" 6 "4")
(x-rebind-key "Right" 6 "\033f")
(x-rebind-key "Left" 6 "\033b")
;; mini-keypad (edit keys)
(x-rebind-key "Insert" 0 "")
(x-rebind-key "Insert" 6 "\033w")
(x-rebind-key "Next" 0 "4")
(x-rebind-key "Prior" 0 "4")
(x-rebind-key "Home" 0 "\033<")
(x-rebind-key "End" 0 "\033>")
;; function keys (nothing bound yet)
))
;; sky-mouse stuff
(setq *sky-mouse-tutorial* "/usr/local/elisp/sky-mouse/etc/MOUSE-TUTORIAL")
(require 'sky-mouse "sky-mouse")
;(load "/usr/local/elisp/sky-mouse/epoch-help-patch")
))
================ end electronic snip ===========================
Oh, yeah, I bound ^X4^D and ^X4^U to scroll-{down,up}-in-place (another
available enhancement elisp file).
If you can't find the elisp in the archive (ftp.brl.mil, in the file
info-iris/info-iris.txt.23 I think), I can email the patches to you
(please specify 18.55 or 18.57 version).
\\scott
--
Scott Henry <scotth at sgi.com> / Traveller on Dragon Wings
Information Services, / Help! My disclaimer is missing!
Silicon Graphics, Inc / Politicians no baka!
More information about the Comp.sys.sgi
mailing list