Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
After updating from Ubuntu 20 LTS to 22 LTS, the scroll button method for my Trackball does not work anymore. I have the same issue on ClearLinux (libinput v1.19.4).
And the final step: Run xev. This will open a window. Click on the window with different buttons and make sure that the correct button is displayed on the terminal.
I notice the difference: libinput Scroll Method Enabled (354): 0, 0, 1
And also libinput Button Scrolling Button (356): 0 becomes libinput Button Scrolling Button (356): 9, which is the expected value.
The output of libinput debug events shows a bunch of POINTER_SCROLL_CONTINUOUS events, which is the expected event as well, so libinput is working as expected.
At this point, the problem is either in your configuration or somewhere else in the X11 configuration parser (I don't know which bit parses that config file, to be honest).
Where are you storing your configuration file? Mine is placed in /etc/X11/xorg.conf.d/00-mouse.conf. I tested your configuration (replacing the device name) and it works as expected.
A possible workaround is to execute your xinput set-prop [...] commands on login.
I have tried vanilla conf from Ubuntu 22LTS, its PopOS-flavour, and ClearLinux, and all three have the same issue. I do not know if there are other folders loaded that could contain something that reset the scroll setting.
The mapping is correct, but the scrolling button does not change.
I don't know where the issue could be. Let's ping @whot as he knows for sure. It's probably me missing something, but let's double check with him just in case.
Moving to xf86-input-libinput, it's probably an issue with this driver.
I've just been away for 8 weeks, so apologies if the reply here is curt.
A quick check of the code and my memory: the button mapping has no effect on the scroll button itself. The latter always refers to the physical button, albeit in X notation, i.e. button 9 is actually physical button 5 because 4-7 is reserved in X. Button mapping is actually handled in the server (despite being initialized by the driver), so the libinput driver doesn't know that you swapped buttons 2 and 9. I also recommend trying out the left-handed option for libinput instead of swapping 1 and 3. But either way, for this bug we should be able to ignore any button mapping.
But that aside, the issue seems to be that the button isn't assigned during the PreInit function. I don't immediately see why this would be the case - there's no error message in the xorg.log? This seems like a candidate for single-stepping through LibinputApplyConfigScrollMethod and figuring out where it actually goes wrong.
In case it's useful I was having a similar problem. I configured the X server for button scrolling and the log file indicated the setting was read. But it was not effective and I had to use xinput to set the mode.
I patched debugging code into xf86-input-libinput and determined that an X client was changing the setting. X server auditing indicated that the client was lxqt-globalkeysd. Then I found scrolling mode in the LXQt settings and changed it from "None" to "Button".