looking for NeWS capslock->ctrl hack
Lee A. Butler
butler at BRL.MIL
Mon Nov 19 15:24:31 AEST 1990
Here is the relevant section of code.
Lee A. Butler
SLCBR-VL-V Internet: butler at brl.mil
Ballistic Research Laboratory Phone: (301) 278-9200
Aberdeen Proving Grounds, MD 21005-5066
----------------------------------------------------------------------
% Define a procedure to allow remapping of keys -- contributed by
% Eric Pettersen <socrates.ucsf.edu!pett at cgl.ucsf.edu> from
% UCSF Computer Graphics Lab
/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
% We re-map the keyboard so that the caps-lock key and the Left Control keys
% are swapped, and the Right Control key is mapped as "~/`" and the key
% labeled "~/`" becomes an escape key.
% We take special care to make sure we only re-map the keyboard once.
/KeyboardRemapped where
{ pop }
{% cap-l Ctrl-l Ctrl-r ~/` Esc Ctrl-l Cap-L ~/` Esc Ctrl-r
[28420 28419 28561 28471 28423 ] [28419 28420 28471 28423 28561]
replacekeys
/KeyboardRemapped true def
} ifelse
% These are the default key codes
% 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