I recently moved from a 2012 MBP to a 2018 Dell Precision 7730. My magic mouse had "just worked" with Xorg on the MBP, everything including left/right/middle "buttons," touch-horizontal and touch-vertical scrolling, the whole deal. So I took it with me to the Dell.
I am working with a fresh Gentoo install, and for some reason Xorg now wants to drive the magicmouse as though it were a stock 2-button mouse. Only left/right buttons work, no middle or touch-scrolling. I know I never had any unique config for the magicmouse on the MBP, so I don't know why it doesn't "just work" any longer. Googling suggests other recently have had similar issues, but many have at least manually (through xinput manipulation) been able to restore the expected behavior. I cannot.
This is a bummer. I have configured both libinput and evdev drivers in xorg.conf.d, and in each case I can see properties with xinput (evdev example below).
Code: Select all
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DELL0832:00 044E:1220 Touchpad id=13 [slave pointer (2)]
⎜ ↳ rburcham’s Mouse id=19 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Apple Inc. Apple Keyboard id=10 [slave keyboard (3)]
↳ Apple Inc. Apple Keyboard id=11 [slave keyboard (3)]
↳ Integrated_Webcam_HD: Integrate id=12 [slave keyboard (3)]
↳ DELL0832:00 044E:1220 UNKNOWN id=14 [slave keyboard (3)]
↳ Intel HID events id=15 [slave keyboard (3)]
↳ Intel HID 5 button array id=16 [slave keyboard (3)]
↳ Dell WMI hotkeys id=17 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=18 [slave keyboard (3)]Indeed it seems upon initialization the values for interesting properties would suggest they are not enabled, e.g "Middle Button," "Wheel" and "Third Button" Emulation:
Code: Select all
$ 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 (314): 0, 0
Evdev Axes Swap (316): 0
Axis Labels (317): "Rel X" (165), "Rel Y" (166), "Rel Horiz Wheel" (312), "Rel Vert Wheel" (313)
Button Labels (318): "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 (319): 1, 1, 1
Evdev Middle Button Emulation (320): 0
Evdev Middle Button Timeout (321): 50
Evdev Middle Button Button (322): 2
Evdev Third Button Emulation (323): 0
Evdev Third Button Emulation Timeout (324): 1000
Evdev Third Button Emulation Button (325): 3
Evdev Third Button Emulation Threshold (326): 20
Evdev Wheel Emulation (327): 0
Evdev Wheel Emulation Axes (328): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (329): 10
Evdev Wheel Emulation Timeout (330): 200
Evdev Wheel Emulation Button (331): 4
Evdev Drag Lock Buttons (332): 0Code: Select all
$ xinput set-prop 19 327 1So the magicmouse continues to act like a 2-button mouse. This seems to contradict similar accounts on the web e.g.
https://bbs.archlinux.org/viewtopic.php?id=132548
https://ubuntuforums.org/showthread.php?t=2390267
Perhaps most telling is that when I 'evtest /dev/input/event21' on the device, evtest completely ignores any middle-click or touch-scroll activity. It does happily register movement and left/right clicks. So I suppose Xorg simply sees a 2-button mouse, despite what evdev or libinput pretend to report.
Does anyone know what the new secret is to getting a gen-1 magic mouse to "just work" again?


