BUG: hid-magicmouse, scroll and middle-click don't work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



More information:

hid_magicmouse is driving the device: 

[Tue Nov 13 08:40:35 2018] magicmouse 0005:05AC:030D.0005: unknown main item tag 0x0 
[Tue Nov 13 08:40:35 2018] input: rburcham’s Mouse as /devices/virtual/misc/uhid/0005:05AC:030D.0005/input/input25 
[Tue Nov 13 08:40:35 2018] magicmouse 0005:05AC:030D.0005: input,hidraw4: BLUETOOTH HID v3.06 Mouse [rburcham’s Mouse] on [redacted]

hid_magicmouse is reporting the params: 

$ grep "" /sys/module/hid_magicmouse/parameters/* 
/sys/module/hid_magicmouse/parameters/emulate_3button:Y 
/sys/module/hid_magicmouse/parameters/emulate_scroll_wheel:Y 
/sys/module/hid_magicmouse/parameters/report_undeciphered:N 
/sys/module/hid_magicmouse/parameters/scroll_acceleration:N 
/sys/module/hid_magicmouse/parameters/scroll_speed:32 


libinput wants to do the right thing:

$ xinput list-props 19 
Device 'rburcham’s Mouse': 
        Device Enabled (155):   1 
        Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 
        Device Accel Profile (286):     0 
        Device Accel Constant Deceleration (287):       1.000000 
        Device Accel Adaptive Deceleration (288):       1.000000 
        Device Accel Velocity Scaling (289):    10.000000 
        Device Product ID (279):        1452, 781 
        Device Node (278):      "/dev/input/event21" 
        Evdev Axis Inversion (595):     0, 0 
        Evdev Axes Swap (597):  0 
        Axis Labels (598):      "Rel X" (165), "Rel Y" (166), "Rel Horiz Wheel" (435), "Rel Vert Wheel" (436) 
        Button Labels (599):    "Button Left" (158), "Button Middle" (159), "Button Right" (160), "Button Wheel Up" (161), "Button Wheel Down" (162), "Button Horiz Wheel Left" (163), "Button Horiz Wheel Right" (164) 
        Evdev Scrolling Distance (600): 1, 1, 1 
        Evdev Middle Button Emulation (601):    1 
        Evdev Middle Button Timeout (602):      50 
        Evdev Middle Button Button (603):       2 
        Evdev Third Button Emulation (604):     0 
        Evdev Third Button Emulation Timeout (605):     1000 
        Evdev Third Button Emulation Button (606):      3 
        Evdev Third Button Emulation Threshold (607):   20 
        Evdev Wheel Emulation (608):    1 
        Evdev Wheel Emulation Axes (609):       4, 5, 6, 7 
        Evdev Wheel Emulation Inertia (610):    10 
        Evdev Wheel Emulation Timeout (611):    200 
        Evdev Wheel Emulation Button (612):     4 
        Evdev Drag Lock Buttons (613):  0 

$ xinput get-button-map 19 
1 2 3 4 5 6 7


But issuing 'xinput test 19' and attempting any touch-scroll or middle
click results in no events being received by libinput.  So I have to
conclude hid_magicmouse is not sending them, despite the state of the
module's parameters.



On Sun, 2018-12-09 at 13:50 -0600, Robert Burcham wrote:
> In 4.19 kernels I have been unable to drive a bluetooth gen-1
> magicmouse as anything other than a stock 2-button mouse. Regardless of
> config or params the driver refuses to send events for middle button or
> any touch v-scroll and h-scroll actions.
> 
> I think this patch last year introduced proper middle button and touch
> scroll support:
> 
> https://lkml.org/lkml/2017/4/7/109
> 
> This patch moves the __set_bit calls for touch and tap events to a
> higher scope when setting up the device.  However sometime since then
> there has been some sort of regression.  There appears to have been
> some general refactoring around magicmouse_raw_event and
> magicmouse_setup_input that I suspect has reintroduced the more
> restrictive scope for those __set_bit calls.
> 
> I post this in the hope that it might jog the memory of someone
> familiar with the hid-magicmouse diver, so we can get a proper magicmouse support restored to the kernel.




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux