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 <dmitry.torokhov@xxxxxxxxx> wrote: > > 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@xxxxxxxxx> > > 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 <oigevald+kernel@xxxxxxxxx> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > 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; > } >