That is some kind of unexpected comeback from a classic out of the pre kde 4.0 development time. I once managed to break the 'e' key for all when working on khotkeys. Me fixing khotkeys exposed a qt bug. Qt did parse the "Win+e" string from kde 3.x as 'e' because it didn't recognize the Win modifier. It is called Meta in qt. We fixed the symptom because we couldn't fix the cause and everything went smoothly for some time.
Then reports about that problem having a comeback started to creep in but i couldn't get my hand on someone experiencing it. Not everybody looks my way when having keyboard problems. The last days comawhite - a irc regular - had the problem and we could pinpoint the cause.
The problem this time appeared because of a different reason. comawhite is a gentoo user and his x11 setup didn't provide a modifier usable as the meta key. You can check that with xmodmap -pm. I get:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), Meta_L (0x9c)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x73), Super_R (0x74), Super_L (0x7f), Hyper_L (0x80)
mod5 Mode_switch (0x8), ISO_Level3_Shift (0x71), ISO_Level3_Shift (0x7c)
The next sentences are a cross simplification. Since the invention of xkb things got better but much more complicated. X11 has the concept of modifiers. You can see 8 modifiers in the output:
Shift,
Lock,
Control and
Modifiers 1-5. Only the first three have predefined meanings. An application has to look at the associated keys to see which effect a modifier is supposed to trigger. As you can see my
mod1 modifier is mapped to the
meta and
alt key. In this case
alt wins and
meta is unusable because it is hidden behind
alt. So we use the
super key as meta key on my keyboard. That's the one with the redmond symbol on it.
For comawhite mod4 was as empty as mod3. Some kde code didn't care and still grabbed the shortcuts with meta in it globally. Meta was just dropped. So for 'Meta+E' only e was grabbed, for 'Meta+X' only x was grabbed. Makes up for a pretty messed up session. And you couldn't notice the reason because the code didn't trigger the action. So the key was just eaten.
I fixed the kde code and comawhite fixed his setup by adding
xmodmap -e "add mod4 Super_L"
xmodmap -e "keycode 115 = Super_L"
to /etc/X11/Xmodmap. The 115 was retrieved by xev and pressing his win key.
And qt having some problems with parsing QKeySequences from String. Since nokia opened the qt repository to external contribution i will try again to fix it. See my Qt Patches.
Update 20.05.2009
I just found out that there is another problem having this effect. See Bug 193150: can't type 'e' key. After starting amarok it get's even uglier. Best idea is to skip current snapshot and use the one from next week.
Recent comments
26 weeks 2 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 5 days ago
27 weeks 6 days ago
27 weeks 6 days ago
28 weeks 5 hours ago
28 weeks 9 hours ago
28 weeks 11 hours ago