Mouse scroll wheel not working

I have been unable to configure mouse scrolling behavior to my liking.

When in a web browser, text editor, etc. I am unable to scroll by rolling my mouse scroll wheel. When I roll my scroll wheel up and down, nothing happens. I am able to scroll by clicking and holding the scroll wheel, then moving my mouse around. I want to be able to scroll by rolling the mouse scroll wheel. The behavior is the same in dom0 and all VMs.

The mouse is an ordinary PS/2 two button + scroll wheel mouse. Scrolling works fine with the mouse on another machine.

I have a laptop and dock (pre-thunderbolt/usb style). The mouse is plugged into the dock’s PS/2 mouse port. The mouse behavior is otherwise fine.

The mouse settings in (dom0) xfce pointers.xml:

Screenshot from dom0 xfce settings:
screenshot

There is one detail that may be related. When I boot, if the laptop is on the dock (connected to PS/2 keyboard and mouse), the mouse and keyboard do not respond until/unless I undock and redock. I avoid this by booting and logging in undocked, then putting the laptop on the dock. As soon as I put it on the dock, everything works except for the mouse scroll wheel.

I have reached my limit after days of reading documentation, editing xfce settings, editing xorg.conf.d files, and so on. Any ideas?

Edit: Qubes release 4.2.3 (R4.2)

1 Like

I have a similar issue(no solution yet) which is i can scroll but most of the time it will scroll down and then automatically go up. I have gotten used to it.

1 Like

You could try KDE: KDE - changing the way you use Qubes

2 Likes

In case this helps someone, I got it to work. I forced the psmouse kernel module to use imps. I then have to unbind the mouse after every boot (the rebind I get for free).

Since the psmouse driver is built in, I force ipms on boot with the kernel parameter psmouse.proto=imps. I tested this by editing the parameter in grub when booting. Later, I made it permanent by added the parameter to /etc/default/grub and rebuilt with grub2-mkconfig.

I do not know why but after booting the scroll wheel still doesn’t work. Since the psmouse driver is built in, I cannot restart it. I unbind the mouse with:
[secondhand@dom0]# echo serio1 | sudo tee psmouse /sys/bus/serio/drivers/psmouse/unbind
NOTE: the ‘serio1’ I determined by:
[secondhand@dom0]# ls /sys/bus/serio/drivers/psmouse/
Rebinding is automatic as soon as the mouse gets some input. I give the mouse a shake and hardly notice a delay before the mouse moves AND THE SCROLL WHEEL FUNCTIONS.

The unbinding has to happen with every boot. Writing a shell script/udev rule is left as an exercise to the reader.

There is probably a better solution, but this worked for me. Please let me know if there is a better way to do this. I apologize for any incorrect or awkward terminology. I am only beginning to learn this stuff.

Scrolling happily into the sunset,

secondhand

2 Likes