Best way to achieve very slow pointer motion? (for accessibility)

Colomban Wendling cwendling at hypra.fr
Tue Jan 8 16:07:00 UTC 2019


Le 17/12/2018 à 01:44, Peter Hutterer a écrit :
> […]
> 
> as a general rule, settings that need to go into the compositor for Wayland
> would go into the xf86-input-libinput driver under X. not always correct,
> sometimes the X server itself is the better option. 
> 
> In this case, a start may be to figure out the xserver pointer acceleration
> code (dix/ptrveloc.c) and see if you can enable the constant deceleration in
> the server without requiring all the other pointer acceleration profile
> bits.

Yes, constant deceleration is used alone when "AccelerationProfile" is
set to -1 ("none") and "AccelerationScheme" is set to "predictable".
It's documented [0], and actually correct [1][2].

Unfortunately, xf86-input-libinput forces "AccelerationScheme" to "none"
[3], which disables it all [4].

Unfortunately again, apparently if changing the "AccelerationScheme"
override to "predictable" and keeping the "AccelerationProfile" one to
-1 leads to seeing xinput controls allowing to change the
"AccelerationProfile" property, which is likely unwanted.  However, it
still gives a good default allowing to set constant deceleration but not
taking other settings into account.

I don't know if there is a way to force-block a setting to a specific
value other than what's currently there, or to filter out some xinput
settings, do you?

At any rate, allowing constant deceleration would solve my issue, and it
seems to be a switch away -- I just can't turn it as long as libinput
forces it to something else, as I couldn't seem to find a way to change
it at runtime.

Regards,
Colomban

[0] ftp://www.x.org/pub/current/doc/man/man5/xorg.conf.5.xhtml#heading8
[1]
https://gitlab.freedesktop.org/xorg/xserver/blob/master/dix/ptrveloc.c#L1125
[2]
https://gitlab.freedesktop.org/xorg/xserver/blob/master/dix/ptrveloc.c#L971
[3]
https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/blob/master/src/xf86libinput.c#L3428
[4] BTW, it also leads to highly confusing Xorg logs, because it then
lists the forced value as if it appeared in the config files.  This
accounts for some of my missing hairs :)


More information about the wayland-devel mailing list