Message ID | 1352145945-8035-1-git-send-email-chris.j.arges@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Jiri Kosina |
Headers | show |
On Mon, 5 Nov 2012, Chris J Arges wrote: > When an SB Arena USB headset is plugged in, it registers the volume > keys on the headset as a keyboard and continually sends events causing > issues with normal keyboard input. This quirk disables the volume keys. I don't know how the device looks like, but wouldn't it make more sense to actually remap the bogus keys it's sending to produce KEY_VOLUMEUP and KEY_VOLUMEDOWN?
On 11/05/2012 02:18 PM, Jiri Kosina wrote: > On Mon, 5 Nov 2012, Chris J Arges wrote: > >> When an SB Arena USB headset is plugged in, it registers the volume >> keys on the headset as a keyboard and continually sends events causing >> issues with normal keyboard input. This quirk disables the volume keys. > > I don't know how the device looks like, but wouldn't it make more sense to > actually remap the bogus keys it's sending to produce KEY_VOLUMEUP and > KEY_VOLUMEDOWN? > Yes, if I can track this hardware down or get data I'll fix it like this. This happened to be a do-no harm fix for the following bug: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1007575 Thanks for the feedback. --chris j arges -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 5 Nov 2012, Chris J Arges wrote: > >> When an SB Arena USB headset is plugged in, it registers the volume > >> keys on the headset as a keyboard and continually sends events causing > >> issues with normal keyboard input. This quirk disables the volume keys. > > > > I don't know how the device looks like, but wouldn't it make more sense to > > actually remap the bogus keys it's sending to produce KEY_VOLUMEUP and > > KEY_VOLUMEDOWN? > > > > Yes, if I can track this hardware down or get data I'll fix it like > this. This happened to be a do-no harm fix for the following bug: > https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1007575 You should be able to obtain it easily either by running evtest on corresponding /dev/input/eventX node, or by looking into debugfs hid/<device>/events file.
On 11/06/2012 05:14 AM, Jiri Kosina wrote: > On Mon, 5 Nov 2012, Chris J Arges wrote: > >>>> When an SB Arena USB headset is plugged in, it registers the volume >>>> keys on the headset as a keyboard and continually sends events causing >>>> issues with normal keyboard input. This quirk disables the volume keys. >>> >>> I don't know how the device looks like, but wouldn't it make more sense to >>> actually remap the bogus keys it's sending to produce KEY_VOLUMEUP and >>> KEY_VOLUMEDOWN? >>> >> >> Yes, if I can track this hardware down or get data I'll fix it like >> this. This happened to be a do-no harm fix for the following bug: >> https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1007575 > > You should be able to obtain it easily either by running evtest on > corresponding /dev/input/eventX node, or by looking into debugfs > hid/<device>/events file. > Hi, I've been able to track down this particular headset and have been trying to fix it so that it doesn't interfere with normal clicking. I've setup a script to remove and reinsert the usbhid module and then run evtest on that event and found the following: Event: time 1353511306.254194, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9 Event: time 1353511306.254199, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1 Event: time 1353511306.254227, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff010002 Event: time 1353511306.254229, type 1 (EV_KEY), code 259 (BTN_3), value 1 Event: time 1353511306.254241, -------------- SYN_REPORT ------------ Event: time 1353511306.414246, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9 Event: time 1353511306.414250, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0 Event: time 1353511306.414283, -------------- SYN_REPORT ------------ Whenever the EV_KEY event BTN_3 code occurs, then I can no longer click on various items. I'm assuming the input system thinks that a 3rd mouse button is down and never released. Where would be the proper place to quirk this particular headset? The goal would be to still have the EV_MSC/EV_KEY events for proper codes such as KEY_VOLUMEUP and KEY_VOLUMEDOWN, but ignore BTN_3 events since the headset device only has two buttons for adjusting volume. I have actually seen a few other bug reports of other devices that have this quirk so I think this might affect more than one device; however at this point I only have one that I can verify myself. Thanks, --chris j arges -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 269b509..1936414 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -223,6 +223,7 @@ #define USB_VENDOR_ID_CREATIVELABS 0x041e #define USB_DEVICE_ID_PRODIKEYS_PCMIDI 0x2801 +#define USB_DEVICE_ID_SB_ARENA_HEADSET 0x0403 #define USB_VENDOR_ID_CVTOUCH 0x1ff7 #define USB_DEVICE_ID_CVTOUCH_SCREEN 0x0013 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 11c7932..4bee3b7 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -68,6 +68,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_SB_ARENA_HEADSET, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
When an SB Arena USB headset is plugged in, it registers the volume keys on the headset as a keyboard and continually sends events causing issues with normal keyboard input. This quirk disables the volume keys. BugLink: http://bugs.launchpad.net/bugs/1007575 Signed-off-by: Chris J Arges <chris.j.arges@canonical.com> --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + 2 files changed, 2 insertions(+)