[vox-tech] using xmodmap to swap modifier key locations

Ryan Castellucci vox-tech@lists.lugod.org
Sat, 11 Oct 2003 18:15:21 -0700


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday 11 October 2003 01:12 pm, Henry House wrote:
> Q=E5 l=F6rdag, 11 oktober 2003, skrev Shawn P. Neugebauer:
> > Pete alluded to, but did not describe, the "xev" utility.  Use it to
> > figure out *precisely* what X thinks the keys are.  Do this before
> > applying the new map (so, if you've already done so, you'll need to
> > restart X). I doubt you need to do anything to your XF86Config file(s=
),
> > necessarily, you just need to find the keycodes, keysyms, etc. for yo=
ur
> > keyboard.
> >
> > FYI, I use this trick in every linux environment I get my hands on, a=
nd
> > it's always worked as is.
>
> Thank you everyone for your replies. Things just get stranger and
> stranger---see below. I should probably mention at this point that my r=
eal
> goal is not to swap control and caps lock (I want to understand how to =
do
> that since it is a common and seemingly simple example). My real goal i=
s:
>
> 1. Make the left and right "Alt" keys send control.
> 2. Make the left "Control" key send alt.
> 3. Make the right "Control" key send AltGr.
> 4. Make the "CapsLock" key send compose.
> 5. Have no key send caps lock.
> 6. Maybe do somthing with the "Win logo" and "Menu logo" keys too, but =
this
> is a low priority since my usual keyboard has neither or these keys.
>
> So, back to swapping control and caps lock. Before I modify anything,
> xmodmap reveals the following:
>
>
> xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
>
> shift       Shift_L (0xa),  Shift_R (0xb)
> lock
> control     Control_L (0x8),  Control_R (0x9)
> mod1        Meta_L (0xc),  Meta_R (0xd),  Alt_L (0xe),  Alt_R (0xf)
> mod2
> mod3
> mod4
> mod5
>
>
> Note that no keys are assigned to lock! Shouldn't this mean that there =
is
> no caps lock? But the "Caps lock" key does in fact turn on caps lock.
> According to xev, "Caps Lock" sends Caps_Lock, and "Control" sends
> Control_L.
>
> Now I run the following xmodmap commands:
>
> !
> ! Swap Caps_Lock and Control_L
> !
> remove Lock =3D Caps_Lock
> remove Control =3D Control_L
> keysym Control_L =3D Caps_Lock
> keysym Caps_Lock =3D Control_L
> add Lock =3D Caps_Lock
> add Control =3D Control_L

- -SNIP-

> I will keep experimenting.

try saving the output of `xmodmap -pke` to a file and editing it. Also, s=
ee=20
my earlier post. The way I got control and caps swapped is diffrent from =
the=20
above, which I think I was unable to get working. See my other post in th=
is=20
thread

- --=20
PGP/GPG Fingerprint: 3B30 C6BE B1C6 9526 7A90  34E7 11DF 44F3 7217 7BC7
On pgp.mit.edu, import with `gpg --keyserver pgp.mit.edu --recv-key 72177=
BC7`
Also available at http://www.cal.net/~ryan/ryan_at_mother_dot_com.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/iKspEd9E83IXe8cRAsd/AKCVqFlf9K2BPnA+0ypqnCVj8scuuQCgpEgX
KPA/qc2HKbInPP6qkU4Wp5g=3D
=3Dfrli
-----END PGP SIGNATURE-----