Adding Jiri... On Mon, Oct 13, 2014 at 03:43:26PM +0000, Cole, JD wrote: > Hi All, > > We have received multiple bug reports that Plantronics headsets are causing > or interfering with mouse events. We've identified the root cause of this in > hid-input.c, where un-handled usages (from any usage page) will be mapped to > miscellaneous LEDs, buttons, or movements. In short, press a USB equipped > volume, mute, or hang-up button and get a random mouse event. > > This intermittent behavior isn't consistent across all headsets since with > similar capabilities as usages marked 'constant' are ignored early on in > 'hidinput_configure_usage'. While interpretation of the correct use of > 'constant usages' is left to the individual vendors, we still feel that the > HID input driver should not be mapping otherwise unhandled usages to > LED_/BIN_/REL_/ABS_MISC usages events. > > Solving this issue is a larger effort and it's hard for us to comment on the > needs of other manufacturers. That said, we would like to propose the > attached interim fix which assumes mouse events don't come from the Telephony > page. > > jd > > ------------------ snip -------------------- > From 647545b985b75434609c58dda2ef6612e231a44e Mon Sep 17 00:00:00 2001 > From: JD Cole <[email protected]> > Date: Fri, 10 Oct 2014 17:41:27 -0400 > Subject: [PATCH] Prevent HID Telephony page events from being mapped to > miscellaneous buttons. > > The hid-input previously interpreted un-mapped telephony page usages, > incorrectly, > to misc mouse, button, or LED messages. Exhibited most commonly as an USB > telephony > headsets causing intermittent or "random" mouse behavior. > > Signed-off-by: JD Cole <[email protected]> > --- > drivers/hid/hid-input.c | 3 +++ > include/linux/hid.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c > index 012880a..1e9ef8e 100644 > --- a/drivers/hid/hid-input.c > +++ b/drivers/hid/hid-input.c > @@ -895,6 +895,9 @@ static void hidinput_configure_usage(struct hid_input > *hidinput, struct hid_fiel > } > break; > > + case HID_UP_TELEPHONY: > + goto ignore; > + > default: > unknown: > if (field->report_size == 1) { > diff --git a/include/linux/hid.h b/include/linux/hid.h > index 4f8aa47..6489a93 100644 > --- a/include/linux/hid.h > +++ b/include/linux/hid.h > @@ -159,6 +159,7 @@ struct hid_item { > #define HID_UP_LED 0x00080000 > #define HID_UP_BUTTON 0x00090000 > #define HID_UP_ORDINAL 0x000a0000 > +#define HID_UP_TELEPHONY 0x000b0000 > #define HID_UP_CONSUMER 0x000c0000 > #define HID_UP_DIGITIZER 0x000d0000 > #define HID_UP_PID 0x000f0000 > -- > 1.8.3.1 > > > ________________________________ > > CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, files or > previous e-mail messages attached to it, may contain information that is > confidential and/or legally privileged. If you are not the intended > recipient, or a person responsible for delivering it to the intended > recipient, please DO NOT disclose the contents to another person, store or > copy the information in any medium, or use any of the information contained > in or attached to this transmission for any purpose. If you have received > this transmission in error, please immediately notify the sender by reply > email or at [email protected], and destroy the original transmission > and its attachments without reading or saving in any manner. > > For further information about Plantronics - the Company, its products, > brands, partners, please visit our website www.plantronics.com. > -- > To unsubscribe from this list: send the line "unsubscribe linux-input" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html
-- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
