diff mbox series

HID: magicmouse: do not set up autorepeat

Message ID 20200524235134.GA143513@dtor-ws (mailing list archive)
State New
Delegated to: Jiri Kosina
Headers show
Series HID: magicmouse: do not set up autorepeat | expand

Commit Message

Dmitry Torokhov May 24, 2020, 11:51 p.m. UTC
Neither the trackpad, nor the mouse want input core to generate autorepeat
events for their buttons, so let's reset the bit (as hid-input sets it for
these devices based on the usage vendor code).

Reported-by: Yariv <oigevald+kernel@gmail.com>
Tested-by: Yariv <oigevald+kernel@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

Jiri, Benjamin, this is fixes jitter in event packets that became
apparent when we moved the point at which timestamps are being
generated, so maybe mark for stable?

Thanks!

 drivers/hid/hid-magicmouse.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Jiri Kosina June 16, 2020, 3:34 p.m. UTC | #1
On Sun, 24 May 2020, Dmitry Torokhov wrote:

> Neither the trackpad, nor the mouse want input core to generate autorepeat
> events for their buttons, so let's reset the bit (as hid-input sets it for
> these devices based on the usage vendor code).
> 
> Reported-by: Yariv <oigevald+kernel@gmail.com>
> Tested-by: Yariv <oigevald+kernel@gmail.com>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> Jiri, Benjamin, this is fixes jitter in event packets that became
> apparent when we moved the point at which timestamps are being
> generated, so maybe mark for stable?

I've marked it for stable, fixed the typo in the comment, and applied, 
thanks.
diff mbox series

Patch

diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index 34138667f8af..21c0ea7459be 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -535,6 +535,12 @@  static int magicmouse_setup_input(struct input_dev *input, struct hid_device *hd
 		__set_bit(MSC_RAW, input->mscbit);
 	}
 
+	/*
+	 * hit-input may mark device as using autorepeat, but neither
+	 * the trackpad, nor the mouse actually want it.
+	 */
+	__clear_bit(EV_REP, input->evbit);
+
 	return 0;
 }