dunwoody@r2d2.sgi.com (Craig Dunwoody) (11/17/90)
A while back someone posted some PostScript that turns your capslock key into a control key. I really liked this hack, but due to various disasters I've lost the code. If anyone out there has it, I'd greatly appreciate it if you could send me a copy. Craig Dunwoody dunwoody@sgi.com -- Craig Dunwoody dunwoody@r2d2.sgi.com (415) 962-3635
butler@BRL.MIL ("Lee A. Butler") (11/19/90)
Here is the relevant section of code. Lee A. Butler SLCBR-VL-V Internet: butler@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@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 .