Mailing List Archive


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

Re: [tlug] Weird xmodmap problem



Godwin Stewart writes:
 > On Sun, 22 Nov 2009 17:25:05 +0900, "Stephen J. Turnbull"
 > <stephen@example.com> wrote:
 > 
 > > First try starting XEmacs.  If it doesn't bitch at you about your
 > > keyboard mapping, you can shut it down.  If it does, pay attention to
 > > what it says, it might possibly of use.
 > 
 > XEmacs does not complain about the kbd mapping.
 > 
 > > Second, you do have Mod5 attached to a keycode with the keysym
 > > Mode_switch (or an alias, in X.org there are about a half dozen of
 > > them, all translating to 0xff7e), right?
 > > 
 > > Third, see what xev has to say when you press those keys.
 > 
 > Hmm. No. It maps to 0xfe03 as evidenced by this output of xev, but it is
 > recognised as ISO_Level3_Shift, which is what I want:

Maybe it's what *you* want, but *xmodmap* is documented as wanting
mode_switch == 0xff7e on all the X.org systems I have access to.

 > KeyPress event, serial 33, synthetic NO, window 0x3a00001,
 >     root 0x6f, subw 0x0, time 14121611, (135,547), root:(138,593),
 >     state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,

Something weird is going on here.  State 0x10 means that some modifier
is on.  Do you have the caps lock set or something?

 > KeyRelease event, serial 33, synthetic NO, window 0x3a00001,
 >     root 0x6f, subw 0x0, time 14121771, (135,547), root:(138,593),
 >     state 0x90, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,

It's still on, and ISO_Level3_Shift is the high bit of the state byte.

 > Running xev and hitting Alt5+e gives:
 > 
 > KeyPress event, serial 33, synthetic NO, window 0x3a00001,
 >     root 0x6f, subw 0x0, time 15773029, (230,571), root:(233,617),
 >     state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
 >     XKeysymToKeycode returns keycode: 92
 >     XLookupString gives 0 bytes: 
 >     XmbLookupString gives 0 bytes: 
 >     XFilterEvent returns: False
 > 
 > KeyPress event, serial 33, synthetic NO, window 0x3a00001,
 >     root 0x6f, subw 0x0, time 15773373, (230,571), root:(233,617),
 >     state 0x90, keycode 26 (keysym 0x65, e), same_screen YES,
 >     XLookupString gives 1 bytes: (65) "e"
 >     XmbLookupString gives 1 bytes: (65) "e"
 >     XFilterEvent returns: False

The state is the same as above, so your keyboard seems to be working
correctly as far as hardware and keycodes go, but XLookup string gives
the wrong result.  You already knew that, of course, but xev is seeing
the same thing which is worth knowing.

 > > Fourth, you can go dig around in XKB (usually /etc/X11/xkb) and see if
 > > there's anything unusual about those keys or their keysyms.
 > 
 > This is X11R7.4. There are no configuration files any more.

The joke's on you, then.  Start checking out X.org sources, or write a
check to Canonical for a support contract.

 > The keyboard layout is built into X now but perfectly correctly set
 > up, with the exception of the inability to remap Level3 on these 2
 > keys.

Jeez, Godwin, I thought that you of all people would recognize that
"perfect" is an absolute, not a comparative.

I'm out of ideas at the moment; the only one I have really is checking
out the X.org sources, and I'm not serious about that, I certainly
don't intend to do it.


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links