linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hid: usbhid: add quirk for SB arena headset v2
@ 2012-11-05 20:05 Chris J Arges
  2012-11-05 20:18 ` Jiri Kosina
  0 siblings, 1 reply; 6+ messages in thread
From: Chris J Arges @ 2012-11-05 20:05 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: linux-input, linux-kernel, linux-usb, Chris J Arges

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(+)

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2
  2012-11-05 20:05 [PATCH] hid: usbhid: add quirk for SB arena headset v2 Chris J Arges
@ 2012-11-05 20:18 ` Jiri Kosina
  2012-11-05 21:32   ` Chris J Arges
  0 siblings, 1 reply; 6+ messages in thread
From: Jiri Kosina @ 2012-11-05 20:18 UTC (permalink / raw)
  To: Chris J Arges; +Cc: linux-input, linux-kernel, linux-usb

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2
  2012-11-05 20:18 ` Jiri Kosina
@ 2012-11-05 21:32   ` Chris J Arges
  2012-11-06 11:14     ` Jiri Kosina
  0 siblings, 1 reply; 6+ messages in thread
From: Chris J Arges @ 2012-11-05 21:32 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: linux-input, linux-kernel, linux-usb

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2
  2012-11-05 21:32   ` Chris J Arges
@ 2012-11-06 11:14     ` Jiri Kosina
       [not found]       ` <alpine.LNX.2.00.1211061214030.24253-ztGlSCb7Y1iN3ZZ/Hiejyg@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Jiri Kosina @ 2012-11-06 11:14 UTC (permalink / raw)
  To: Chris J Arges; +Cc: linux-input, linux-kernel, linux-usb

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.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hid: usbhid: add quirk for SB arena headset v2
       [not found]       ` <alpine.LNX.2.00.1211061214030.24253-ztGlSCb7Y1iN3ZZ/Hiejyg@public.gmane.org>
@ 2012-11-21 15:29         ` Chris J Arges
  0 siblings, 0 replies; 6+ messages in thread
From: Chris J Arges @ 2012-11-21 15:29 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA

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-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] hid: usbhid: add quirk for SB arena headset v2
@ 2013-01-30  1:09 Alec Warner
  0 siblings, 0 replies; 6+ messages in thread
From: Alec Warner @ 2013-01-30  1:09 UTC (permalink / raw)
  To: linux-input

Please CC me on replies, as I am not really planning on subscribing (yet..)

I am interested in getting this patch done
(https://lkml.org/lkml/2012/11/6/170), as I have a number of these
headsets deployed and the users are up in arms about it. I presume you
will not take the quirks patch and instead want someone (me) to redo
the patch so the volume bits function correctly?

-A

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-01-30  1:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-05 20:05 [PATCH] hid: usbhid: add quirk for SB arena headset v2 Chris J Arges
2012-11-05 20:18 ` Jiri Kosina
2012-11-05 21:32   ` Chris J Arges
2012-11-06 11:14     ` Jiri Kosina
     [not found]       ` <alpine.LNX.2.00.1211061214030.24253-ztGlSCb7Y1iN3ZZ/Hiejyg@public.gmane.org>
2012-11-21 15:29         ` Chris J Arges
  -- strict thread matches above, loose matches on Subject: below --
2013-01-30  1:09 Alec Warner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).