[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Symbolics vs other kbds: fit and chording ...

    Date: Tue, 5 Jan 1993 17:06 -0500
    From: Barry Margolin <starnet!apple!Think.COM!barmar>

	Date: Tue, 5 Jan 1993 16:07 EST
	From: Richard Billington <buff@cc.gatech.edu>
	But, of all the things that may go by the board in my lisp/computer life
	someday soon, its the keyboard I'm sure to lose, and miss mightily. I'm a
	lousy typist and this one fits my fingers like no other. Plus I like the
	arrangement of the "cording" keys (c-m-h-s).

    Yes, I definitely miss that.

Having been forced onto a Sparc, one question and one suggestion about kdbs.

1. "fits my fingers like no other".  I have that experience also.  
WHY is that? I have even measured my Sparc kbd in comparison, sure
that it was "smaller", it sure feels that way ... but it seems to be
within 0.1" of the same overall dimensions as the Symbolics.

2. "chording". I missed that something fierce on the Sparc. However,
the xmodmap command under X/OpenWindows does allow control and meta
[and even delete] to be moved to locations more in tune with Symbolics
finger reflexes. Below I include two files which bolicsize a Sparc kbd
in slightly different ways. xmodmap behavior is pretty delicate, so
local experimentation may be necessary.


1. This makes caps-lock be meta and alt be control, in the proper
places [no hyper and super tho].  This is similar to the Gildea fix
below, but not so radical: it is undoable just by running xmodmap on
it again -- handy if other people are going to be using the same
incarnation of X/OW [also does *not* make control be delete like his

BTW: Unfortunately switchkeys only works under OW2.0 [and X I think]
-- I'm posting it partly in hopes that some X/OW wizard can point out
how to fix it for OW3.0.

;------------ cut and put in file switchkeys ---------------
! File: switchkeys    from Ridge McGhee sept 26th 1990
! Goal: Exchange semantics of Caps_Lock with Meta_L
!       Exchange semantics of Control with Alt_L
! Usage: xmodmap switchkeys
! Notes: Alternate invocations of switchkeys will switch and unswitch keys
!        An implicit assumption is that mod1 is used for Meta_L and Meta_R

! clear any modifier map entries involving Caps_Lock, Meta_L, Control, Alt_L
clear lock
clear control
clear mod1

! exchange semantics
keysym Caps_Lock = Meta_L
keysym Meta_L = Caps_Lock
keysym Control_L = Alt_L
keysym Alt_L = Control_L

! restore modifier map
add lock = Caps_Lock
add control = Control_L
add mod1 = Meta_L Meta_R
;------------ end cut

2. Moves control, meta and delete; does some other stuff. I have not
used this, but post for completeness.

; ---------  cut here and put in file <whatever> ---------------
! gildea's xmodmap input file for Sun Type-4 keyboard
! Time-stamp: <90/03/23 12:26:52 gildea>

! Use LispM-type Control, Meta, and Delete key locations.  By gildea@bbn.com.

! Sun Type-4 keyboard weirdness:
!  The MIT R3 server thinks the key labelled "Alt" is Alt_R
!       It doesn't know about "Compose" or "Alt Graph"
!  The xnews server thinks the key labelled
!      "Alt Graph" is Alt_R and "Alt" is Alt_L.  "Compose" is Multi_key
!  The MIT R4 server is the same as xnews but doesn't know about "Alt Graph".
!  usage: xmodmap <whatever>

! first, clear some modifiers.  Mod1 means Meta
clear Mod1
clear Control
clear Lock
! The order here is important;
! can't use "keysym name" after "name" has been reassigned.
keysym Control_L = Delete
keysym Meta_L = Control_L
keysym Meta_R = Control_R
! Special keys for Type-4 keyboard
keysym Alt_L = Meta_L
keysym Multi_key = Meta_R
! MIT R4 server doesn't know keysym for "Alt Graph" key
keycode 20 = Alt_R
keysym Caps_Lock = Alt_L
! BackSpace is misplaced on Type-4 keyboard.
! Make useless Help key work in Emacs
keysym BackSpace = Delete
keysym Help = BackSpace
! Special keys for Type-3 keyboard
!keysym Caps_Lock = Meta_L
!keysym Alt_R = Meta_R
keysym F2 = Caps_Lock
! now add the modifiers back, but the keys have changed.
add Control = Control_L Control_R
add Mod1 = Meta_L Meta_R Alt_L Alt_R
add Lock = Caps_Lock
; --------- end cut