[PATCH] hid: usbhid: add quirk for SB arena headset v2

Subsystems: hid core layer, the rest, usb hid/hidbp drivers (usb keyboards, mice, remote controls, ...)

STALE5020d

4 messages, 2 authors, 2012-11-06 · open the first message on its own page

[PATCH] hid: usbhid: add quirk for SB arena headset v2

From: Chris J Arges <hidden>
Date: 2012-11-05 20:05:38

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 <redacted>
---
 drivers/hid/hid-ids.h           |    1 +
 drivers/hid/usbhid/hid-quirks.c |    1 +
 2 files changed, 2 insertions(+)
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 },
-- 
1.7.9.5

Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2

From: Jiri Kosina <hidden>
Date: 2012-11-05 20:18:22

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?

-- 
Jiri Kosina
SUSE Labs

Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2

From: Chris J Arges <hidden>
Date: 2012-11-05 21:32:13

On 11/05/2012 02:18 PM, Jiri Kosina wrote:
On Mon, 5 Nov 2012, Chris J Arges wrote:
quoted
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

Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2

From: Jiri Kosina <hidden>
Date: 2012-11-06 11:14:50

On Mon, 5 Nov 2012, Chris J Arges wrote:
quoted
quoted
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.

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help