Remapping keyboard

Eric L. Raible raible at EW09.NAS.NASA.GOV
Fri Sep 1 04:51:19 AEST 1989


I forget where I got this, but it works great...

Optionally modify the call to replacekeys, then put it in your user.ps.

/replacekeys { % origkeyvals_array changedkeyvals_array -> -
        {
                /changedvals exch def
                /origvals exch def
                /keysdict origvals length dict def
                keysdict begin
                        0 1 origvals length 1 sub {
                                dup origvals exch get changedvals
                                3 2 roll get def
                        } for
                end
                createevent dup begin
                        /Name origvals def
                        /Priority 2 def
                        /Exclusivity true def
                end
                expressinterest
                {
                        awaitevent dup dup begin
                        /Name get keysdict exch get /Name exch def
                        end
                        redistributeevent
                } loop
        } fork pop pop pop
} def

% Capslock becomes CTRL
% `~ becomes ESC
% ESC becomes `~
% backspace becomes delete
% delete becomes backspace

[28420 28471 28423 28477 28478] [28419 28423 28471 28478 28477] replacekeys


% 28423	Escape
% 28562	F1
% 28563	F2
% 28564	F3
% 28565	F4
% 28566	F5
% 28567	F6
% 28568	F7
% 28569	F8
% 28570	F9
% 28571	F10
% 28572	F11
% 28573	F12
% 28574	Print Screen
% 28575	Scroll Lock
% 28576	Pause
% 28471	` and ~
% 28424	1 and !
% 28430	2 and @
% 28431	3 and #
% 28438	4 and $
% 28439	5 and %
% 28446	6 and ^
% 28447	7 and &
% 28454	8 and *
% 28455	9 and (
% 28462	0 and )
% 28463	- and _
% 28470	= and +
% 28477	Backspace
% 28577	Insert
% 28578	Home
% 28579	Page Up
% 28582	Keypad Num Lock
% 28583	Keypad /
% 28584	Keypad *
% 28492	Keypad -
% 28425	Tab and Backtab
% 28426	q
% 28432	w
% 28433	e
% 28440	r
% 28441	t
% 28448	y
% 28449	u
% 28456	i
% 28457	o
% 28464	p
% 28465	[ and {
% 28472	] and }
% 28473	\ and |
% 28478	Delete
% 28580	End
% 28581	Page Down
% 28483	Keypad 7
% 28484	Keypad 8
% 28491	Keypad 9
% 28585	Keypad +
% 28420	Caps Lock
% 28427	a
% 28428	s
% 28434	d
% 28435	f
% 28442	g
% 28443	h
% 28450	j
% 28451	k
% 28458	l
% 28459	; and :
% 28466	' and "
% 28467	Enter
% 28479	Keypad 4
% 28485	Keypad 5
% 28486	Keypad 6
% 28422	Shift (left side)
% 28436	z
% 28437	x
% 28444	c
% 28445	v
% 28452	b
% 28453	n
% 28460	m
% 28461	, and <
% 28468	. and >
% 28469	/ and ?
% 28421	Shift (right side)
% 28497	uparrow
% 28474	Keypad 1
% 28480	Keypad 2
% 28481	Keypad 3
% 28498	Keypad Enter
% 28419	Ctrl (left side)
% 28559	Alt (left side)
% 28499	Spacebar
% 28560	Alt (right side)
% 28561	Ctrl (right side)
% 28489	leftarrow
% 28490	downarrow
% 28496	rightarrow
% 28475	Keypad 0
% 28482	Keypad .



More information about the Comp.sys.sgi mailing list