You are not logged in.

#1 2019-06-13 15:57:43

zmo
Member
Registered: 2016-08-22
Posts: 9

Magic Mouse: lost third button and scrolling following update

Hello,

after doing an update yesterday (former one was about 1 month ago, I don't remember what kernel/Xorg version I was running before then), I lost the third button and all scrolling on my magic mouse v1.

Here are some informations on my system:

• computer → ThinkPad X1 Carbon 4th
• uname -r → 5.1.8-arch1-1-ARCH
• X → X.Org X Server 1.20.5

Here are some outputs about the installation :

% systool -v -m hid_magicmouse
Module = "hid_magicmouse"

  Attributes:
    coresize            = "20480"
    initsize            = "0"
    initstate           = "live"
    refcnt              = "0"
    srcversion          = "C6C55FB459B6C0361588C3A"
    taint               = ""
    uevent              = <store method only>

  Parameters:
    emulate_3button     = "Y"
    emulate_scroll_wheel= "Y"
    report_undeciphered = "N"
    scroll_acceleration = "N"
    scroll_speed        = "32"

  Sections:
% xinput list-props 21
Device 'Magic Mouse V1':
	Device Enabled (153):	1
	Coordinate Transformation Matrix (155):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Natural Scrolling Enabled (290):	1
	libinput Natural Scrolling Enabled Default (291):	0
	libinput Scroll Methods Available (294):	0, 0, 1
	libinput Scroll Method Enabled (295):	0, 0, 1
	libinput Scroll Method Enabled Default (296):	0, 0, 0
	libinput Button Scrolling Button (297):	2
	libinput Button Scrolling Button Default (298):	2
	libinput Middle Emulation Enabled (299):	1
	libinput Middle Emulation Enabled Default (300):	0
	libinput Accel Speed (301):	0.000000
	libinput Accel Speed Default (302):	0.000000
	libinput Accel Profiles Available (303):	1, 1
	libinput Accel Profile Enabled (304):	1, 0
	libinput Accel Profile Enabled Default (305):	1, 0
	libinput Left Handed Enabled (306):	0
	libinput Left Handed Enabled Default (307):	0
	libinput Send Events Modes Available (275):	1, 0
	libinput Send Events Mode Enabled (276):	0, 0
	libinput Send Events Mode Enabled Default (277):	0, 0
	Device Node (278):	"/dev/input/event23"
	Device Product ID (279):	1452, 781
	libinput Drag Lock Buttons (292):	<no items>
	libinput Horizontal Scroll Enabled (293):	1

When I run xev, and I try clicking on button or scrolling, the only events I'm getting are:

ButtonPress event, serial 38, synthetic NO, window 0x2c00001,
    root 0x16d, subw 0x2c00002, time 24651965, (67,50), root:(1410,706),
    state 0x10, button 1, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x2c00001,
    root 0x16d, subw 0x2c00002, time 24652006, (67,50), root:(1410,706),
    state 0x110, button 1, same_screen YES

ButtonPress event, serial 38, synthetic NO, window 0x2c00001,
    root 0x16d, subw 0x2c00002, time 24652696, (66,50), root:(1409,706),
    state 0x10, button 3, same_screen YES

ButtonRelease event, serial 38, synthetic NO, window 0x2c00001,
    root 0x16d, subw 0x2c00002, time 24652467, (67,50), root:(1410,706),
    state 0x410, button 3, same_screen YES

I removed the LeaveNotify, MotionNotify events as they are non-relevant, but I never get a button 2 or button 4/5 scroll events.

In Xorg.0.log, all I get upon connection is:

[  1287.794] (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/mouse3)
[  1287.794] (II) No input driver specified, ignoring this device.
[  1287.794] (II) This device may have been added with another device file.
[  1287.866] (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/event23)
[  1287.866] (**) Magic Mouse V1: Applying InputClass "libinput pointer catchall"
[  1287.866] (II) Using input driver 'libinput' for 'Magic Mouse V1'
[  1287.871] (II) systemd-logind: got fd for /dev/input/event23 13:87 fd 22 paused 1
[  1287.871] (II) systemd-logind: releasing fd for 13:87

(edit : the log above is from /var/log which is wrong, force of habit… All the following logs were taken with journalctl)

I have no configuration in /etc/X11/xorg.conf.d/ relating to the mouse, and I only setup /etc/bluetooth/input.conf with UserspaceHID=true because of some BT disconnections I'm getting (which got better with that, but I'm still getting some issues but that might be another issue) since the upgrade.

So my guess is that something's not right between the kernel and Xorg, or within Xorg's configuration, but I'm not sure where to dig next. It'd be great if someone could give me some help on that issue! I never realised how much I'm used to scrolling and middle click up until I don't have them anymore!

Cheers

Last edited by zmo (2019-06-14 12:48:59)

Offline

#2 2019-06-13 17:43:36

bjo
Member
Registered: 2011-09-10
Posts: 83

Re: Magic Mouse: lost third button and scrolling following update

I switched today from a Thinkpad X140 to a A275 and I'm wondering why I'm also unable to use the middle button for scrolling. I'm also unable to mark text with the Trackpoint. Firing up xev shows that a ButtonReleased event directly follows on the ButtonPressed event, keeping the button pressed seems not be recognized also in your case?

Edit: Issue was a wrong proto of psmouse in my case, so it seems not to be related.

Last edited by bjo (2019-06-13 19:45:36)

Offline

#3 2019-06-14 10:36:53

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

Looks like I'm not the only one to have met this regression: https://forums.gentoo.org/viewtopic-t-1 … art-0.html same history, but no solutions or explanations. One difference I'm noticing though, is that the poster is using evdev whereas I'm using libinput, so I might try restarting X with evdev installed and see if it changes anything ¯\_(ツ)_/¯

Offline

#4 2019-06-14 12:17:53

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

So I tried with evdev, it did not change the xorg driver, so I forced evdev to manage the mouse:

Section "InputClass"
Identifier "Apple Magic Mouse" # This can be anything
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
MatchProduct "Magic Mouse V1"
Driver "evdev" # From '/var/log/Xorg.0.log' after mouse connected
EndSection

and here's what I got:

Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/mouse3)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) No input driver specified, ignoring this device.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) This device may have been added with another device file.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/mouse3)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) No input driver specified, ignoring this device.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) This device may have been added with another device file.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/event25)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: Applying InputClass "evdev pointer catchall"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: Applying InputClass "libinput pointer catchall"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: Applying InputClass "Apple Magic Mouse"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) Using input driver 'evdev' for 'Magic Mouse V1'
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) config/udev: Adding input device Magic Mouse V1 (/dev/input/event25)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (**) Magic Mouse V1: Applying InputClass "libinput pointer catchall"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) Using input driver 'libinput' for 'Magic Mouse V1'
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) systemd-logind: got fd for /dev/input/event25 13:89 fd 65 paused 0
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: always reports core events
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) evdev: Magic Mouse V1: Device: "/dev/input/event25"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Vendor 0x5ac Product 0x30d
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found 3 mouse buttons
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found scroll wheel(s)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found relative axes
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found x and y relative axes
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found absolute axes
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (--) evdev: Magic Mouse V1: Found absolute multitouch axes
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) evdev: Magic Mouse V1: Configuring as mouse
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) evdev: Magic Mouse V1: Adding scrollwheel support
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) evdev: Magic Mouse V1: YAxisMapping: buttons 4 and 5
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) evdev: Magic Mouse V1: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Option "config_info" "udev:/sys/devices/virtual/misc/uhid/0005:05AC:030D.0018/input/input39/event25"
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) XINPUT: Adding extended input device "Magic Mouse V1" (type: MOUSE, id 23)
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (II) evdev: Magic Mouse V1: initialized for relative axes.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (WW) evdev: Magic Mouse V1: ignoring absolute axes.
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: (accel) keeping acceleration scheme 1
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: (accel) acceleration profile 0
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: (accel) acceleration factor: 2.000
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[11903]: (**) Magic Mouse V1: (accel) acceleration threshold: 4
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) systemd-logind: got fd for /dev/input/event25 13:89 fd 22 paused 1
Jun 14 13:00:54 kaya /usr/lib/gdm-x-session[638]: (II) systemd-logind: releasing fd for 13:89

So I wanted to say hurra seeing that, but no luck having scroll or third button… I looked at the new xinput output:

Device 'Magic Mouse V1':
	Device Enabled (153):	1
	Coordinate Transformation Matrix (155):	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/event25"
	Evdev Axis Inversion (322):	0, 0
	Evdev Axes Swap (324):	0
	Axis Labels (325):	"Rel X" (163), "Rel Y" (164), "Rel Horiz Wheel" (457), "Rel Vert Wheel" (458)
	Button Labels (326):	"Button Left" (156), "Button Middle" (157), "Button Right" (158), "Button Wheel Up" (159), "Button Wheel Down" (160), "Button Horiz Wheel Left" (161), "Button Horiz Wheel Right" (162)
	Evdev Scrolling Distance (327):	1, 1, 1
	Evdev Middle Button Emulation (328):	1
	Evdev Middle Button Timeout (329):	50
	Evdev Middle Button Button (330):	2
	Evdev Third Button Emulation (331):	1
	Evdev Third Button Emulation Timeout (332):	1000
	Evdev Third Button Emulation Button (333):	3
	Evdev Third Button Emulation Threshold (334):	20
	Evdev Wheel Emulation (335):	1
	Evdev Wheel Emulation Axes (336):	0, 0, 4, 5
	Evdev Wheel Emulation Inertia (337):	10
	Evdev Wheel Emulation Timeout (338):	200
	Evdev Wheel Emulation Button (339):	4
	Evdev Drag Lock Buttons (340):	0

and it looks like it's all well configured. But still, neither evtest or xev report anything but button one and three clicks (left/right).

mad

Offline

#5 2019-06-14 12:36:05

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

hm… I tried to look at what the mouse character devices returns, and when I run od -x on either /dev/event/mouseX or /dev/event/mouseY there's nothing that gets out on scroll, and data changes from button 1 to button 3, but nothing in between. It confirms the evtest results.

That means the culprit is definitely not Xorg but the hid_magicmouse module…

Offline

#6 2019-06-14 12:40:44

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,672

Re: Magic Mouse: lost third button and scrolling following update

The most likely candidate here is the kernel, downgrade/switch to linux LTS to check if you can reproduce.

On another note, why - and I hope this is a typo --- are you still using xorg 1.19.6 ? partial upgrades are unsupported

Offline

#7 2019-06-14 12:47:18

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

On my first report I looked at the Xorg.0.log in /var/log (force of habit, still trying to get used to journalctl). For the other reports I looked up and found out that I shall use journalctl -e _COMM=gdm-x-session for that. So my Xorg is actually : X.Org X Server 1.20.5

I'm _always_ running upgrades with pacman -Syu so I never expected partial upgrades, especially on core packages like Xorg. I want to minimise the risk of a failed upgrade.

Also, if I got a regression on upgrade, I don't think I just simply rollback, I should rather dig and understand the cause of the problem so I can help others and if needed contribute to fix the issue.

Offline

#8 2019-06-14 12:50:22

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,672

Re: Magic Mouse: lost third button and scrolling following update

We can get to the digging once we've identified where the regression occured. Check your pacman log for what you've had installed as your previous and working kernel, once we have a known version range we can dig out the exact breaking change

Offline

#9 2019-06-14 13:03:07

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

from pacman:

[2019-06-12 17:53] [ALPM] upgraded libevdev (1.6.0-1 -> 1.7.0-1)
[2019-06-12 17:53] [ALPM] upgraded libinput (1.12.6-1 -> 1.13.2-1)
[2019-06-12 18:03] [ALPM] upgraded linux (5.0.3.arch1-1 -> 5.1.8.arch1-1)
[2019-06-12 18:06] [ALPM] upgraded xorg-server (1.20.4-1 -> 1.20.5-1)

looks like what I thought was 1 month actually has been 3 months… Damn time is fleeing so fast -_-

Offline

#10 2019-06-14 13:17:31

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

So on the kernel upstream no major changes has happened in between those two versions on the magic mouse driver:

https://github.com/torvalds/linux/commi … gicmouse.c

I also double checked that my device Id was matching the module's, and it does:

#define USB_DEVICE_ID_APPLE_MAGICMOUSE	0x030d

vs

evdev: Magic Mouse V1: Vendor 0x5ac Product 0x30d

Offline

#11 2019-06-14 13:23:37

zmo
Member
Registered: 2016-08-22
Posts: 9

Re: Magic Mouse: lost third button and scrolling following update

and finally output of the kernel's logs:

Jun 14 13:00:54 kaya kernel: magicmouse 0005:05AC:030D.0018: unknown main item tag 0x0
Jun 14 13:00:54 kaya kernel: input: Magic Mouse V1 as /devices/virtual/misc/uhid/0005:05AC:030D.0018/input/input39
Jun 14 13:00:54 kaya kernel: magicmouse 0005:05AC:030D.0018: input,hidraw6: BLUETOOTH HID v3.06 Mouse [Magic Mouse V1] on E4:B3:18:E0:32:E1

too bad `journalctl -k` doesn't show logs for before the upgrade :-/

Offline

Board footer

Powered by FluxBB