Created attachment 78631 [details] Output captured from udevadm monitor -e --udev when plugging in the keyboard The modifier keys ALT, SHIFT, CTRL (both left and right) don't function correctly when held down. When held they appear to register a single tap, and when another key is pressed in conjunction with the modifier key, a further tap of the modifier key appears to be registered. Output from lsusb: Bus 008 Device 002: ID 2345:0101 Output from /lib/udev/keymap -i input/event10: Press ESC to finish, or Control-C if this device is not your primary keyboard driver did not send SYN event in between key events; previous event: scan code: 0x700E1 key code: leftshift driver did not send SYN event in between key events; previous event: scan code: 0x700E0 key code: leftctrl driver did not send SYN event in between key events; previous event: scan code: 0x700E2 key code: leftalt driver did not send SYN event in between key events; previous event: scan code: 0x700E4 key code: rightctrl driver did not send SYN event in between key events; previous event: scan code: 0x700E5 key code: rightshift driver did not send SYN event in between key events; previous event: scan code: 0x700E6 key code: rightalt driver did not send SYN event in between key events; previous event: scan code: 0x700E2 key code: leftalt driver did not send SYN event in between key events; previous event: scan code: 0x7001E key code: 1 driver did not send SYN event in between key events; previous event: scan code: 0x700E2 key code: leftalt driver did not send SYN event in between key events; previous event: (The last few key presses there were: hold leftalt, tap 1, release leftalt) Note: This only affects USB. Modifier keys function correctly when using the device with a USB -> PS/2 adapter.
*** Bug 51371 has been marked as a duplicate of this bug. ***
Actually it is possible to fix this with some small hacks. I am typing on a Zowie Celeritas on Ubuntu 14.04 (Through USB): The keyboard will work with the older usbkbd driver. First modify /etc/modprobe.d/blacklist.conf so that usbkbd is commented, like this: # these drivers are very simple, the HID drivers are usually preferred #blacklist usbmouse #blacklist usbkbd #blacklist usbhid Notice that the usbhid module is also loaded, this means that the usbhid will overwrite the usbkbd as usbhid is the default. However it is possible to add a so called quirk parameter to the usbhid module telling it to ignore the zowie celeritas keyboard. This is done as follows: First run: sudo gedit /etc/default/grub Then find GRUB_CMDLINE_LINUX_DEFAULT and add usbhid.quirks=0x2345:0x0101:0x4 The 0x2345:0x0101 is the product and vendor id of the zowie celeritas and the 0x4 parameter is telling it to ignore. The entry in /etc/default/grub should look like the following: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0x2345:0x0101:0x4" sudo reboot, and ... AdAD2k3ZZ>zzZ&*(@(#)(@#*@(*$)_@#($@_!}|" <----- It works :)
(In reply to Prier from comment #2) > Actually it is possible to fix this with some small hacks. > > I am typing on a Zowie Celeritas on Ubuntu 14.04 (Through USB): > > The keyboard will work with the older usbkbd driver. First modify > > /etc/modprobe.d/blacklist.conf > > so that usbkbd is commented, like this: > > # these drivers are very simple, the HID drivers are usually preferred > #blacklist usbmouse > #blacklist usbkbd > #blacklist usbhid > > Notice that the usbhid module is also loaded, this means that the usbhid > will overwrite the usbkbd as usbhid is the default. However it is possible > to add a so called quirk parameter to the usbhid module telling it to ignore > the zowie celeritas keyboard. This is done as follows: > > First run: > sudo gedit /etc/default/grub > > Then find GRUB_CMDLINE_LINUX_DEFAULT and add usbhid.quirks=0x2345:0x0101:0x4 > The 0x2345:0x0101 is the product and vendor id of the zowie celeritas and > the 0x4 parameter is telling it to ignore. The entry in /etc/default/grub > should look like the following: > > GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0x2345:0x0101:0x4" > > sudo reboot, and ... > > AdAD2k3ZZ>zzZ&*(@(#)(@#*@(*$)_@#($@_!}|" <----- It works :) Oh and remember to run sudo update-grub, after editing /etc/default/grub :)
Thank you Prier, this worked like a charm! I don't know what this means for this bug report. Does this indicate that it's a distro config problem rather than a kernel module problem?
No, it is a driver problem, the keyboard should be handled by usbhid. I'd post on linux-input mailing list. I think i saw a similar problem reported recently there.