Modifier keys on the Zowie Celeritas keyboard don't work

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

 



Hello!

I've got this keyboard and it's got the extremely irritating problem of 
that the Alt/Shift/Ctrl keys don't work at all. Caps lock does work 
though.

xev reports the following:

The 'a' key gives this. Holding the key produces a continuous stream of 
these two:

KeyPress event, serial 43, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31503085, (-189,538), root:(859,561),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyRelease event, serial 43, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31503190, (-189,538), root:(859,561),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False


The Shift key gives this. Notice how unlike in the previous one, the 
time is exactly the same -- the release is registered immediately, 
though it did take me a bit of time to release the key. Also holding the 
key pressed only ever outputs the Press/Release pair once.

KeyPress event, serial 43, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31524269, (-603,723), root:(445,746),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 43, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31524269, (-603,723), root:(445,746),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False


Pressing Shift+A results in this, which shows that both keys are sensed, 
but Shift is being interpreted as being released immediately (and 
twice), hence why it never overlaps the 'a' keypress.

KeyPress event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724281, (68,-49), root:(1909,91),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724281, (68,-49), root:(1909,91),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724442, (68,-49), root:(1909,91),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724442, (68,-49), root:(1909,91),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724442, (68,-49), root:(1909,91),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyPress event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724570, (68,-49), root:(1909,91),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724570, (68,-49), root:(1909,91),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 49, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31724570, (68,-49), root:(1909,91),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False


In comparison, here's another keyboard, which works fine:

KeyPress event, serial 48, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31588524, (-536,223), root:(1305,363),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 48, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31593276, (-536,223), root:(1305,363),
    state 0x1, keycode 38 (keysym 0x41, A), same_screen YES,
    XLookupString gives 1 bytes: (41) "A"
    XmbLookupString gives 1 bytes: (41) "A"
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31593380, (-536,223), root:(1305,363),
    state 0x1, keycode 38 (keysym 0x41, A), same_screen YES,
    XLookupString gives 1 bytes: (41) "A"
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x7200001,
    root 0x29e, subw 0x0, time 31593435, (-536,223), root:(1305,363),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

I found these bug reports, which contain information on the problem. 
What's happening to me is exactly the same:

https://bugzilla.kernel.org/show_bug.cgi?id=51371
https://bugzilla.kernel.org/show_bug.cgi?id=46491


As of 3.13.9, it still doesn't work. I tried usbmon to see what's 
different about this keyboard vs another perfectly good working one that 
I have, and the packet dumps have come out exactly identical, except for 
the minor and expected differences in timestamps. None of this "shift is 
immediately released" behavior detailed above appears in the USB dumps, 
the keyboard seems to work exactly as expected.

I have to say that I'm quite baffled by this revelation.

The keyboard also works perfectly well in GRUB and Windows, and previous 
reports of this problem mentioned it works with the usbkbd driver, but 
that doesn't seem to exist anymore.


Maybe is there something that I'm not capturing? (I used "tshark -i 
usbmon0") Or perhaps some kind of inappropriate quirks mode being turned 
on? I tried looking at the kernel source, but I'm completely 
inexperienced in that area (though I can code), and failed to find 
anything.


I'd like to have this fixed. Please do tell what information might be 
useful.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux