Re: PROBLEM: Apple external Trackpad event timestamps are jittery (regression)
flat view
From: Yariv <hidden>
Date: 2020-05-24 11:37:21
Yep, that solved the problem. I also verified that there are no apparent regressions. Thanks! On Sun, May 24, 2020 at 12:18 AM Dmitry Torokhov [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Sat, May 23, 2020 at 10:11:50PM +0300, Yariv wrote:quoted
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:09Ok, 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; }