Thread (9 messages) 9 messages, 3 authors, 2020-05-24

Re: PROBLEM: Apple external Trackpad event timestamps are jittery (regression)

flat view

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2020-05-23 21:18:46
Subsystem: hid core layer, the rest · Maintainers: Jiri Kosina, Benjamin Tissoires, Linus Torvalds

On Sat, May 23, 2020 at 10:11:50PM +0300, Yariv wrote:
Hi,

I omitted what looks unrelated, please let me know if you need other
details or the full content.
Also I wasn't sure how to find the relevant driver, so I pasted the
relevant dmesg snippets. If there is a more precise way to identify
the driver please let me know and I'll send the missing items.

Gen1:

dmesg

[   11.307056] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   11.307060] Bluetooth: HIDP socket layer initialized
[   11.310541] magicmouse 0005:05AC:030E.0005: unknown main item tag 0x0
[   11.310657] input: john’s Trackpad as
/devices/pci0000:00/0000:00:14.0/usb1/1-13/1-13:1.0/bluetooth/hci0/hci0:70/0005:05AC:030E.0005/input/input21
[   11.310776] magicmouse 0005:05AC:030E.0005: input,hidraw4:
BLUETOOTH HID v1.60 Mouse [john’s Trackpad] on 00:1a:7d:da:71:09
Ok, awesome. Can you please try the patch below?

-- 
Dmitry

HID: magicmouse: do not set up autorepeat

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Neither 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 <redacted>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/hid/hid-magicmouse.c |    6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index 34138667f8af..7ea78be11c84 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;
 }
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help