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

Peter Hutterer peter.hutterer at who-t.net
Mon Dec 17 00:44:48 UTC 2018


On Thu, Dec 13, 2018 at 10:40:34AM +0100, Colomban Wendling wrote:
> Le 28/11/2018 à 16:14, Colomban Wendling a écrit :
> > Le 28/11/2018 à 02:15, Peter Hutterer a écrit :
> >> On Tue, Nov 27, 2018 at 11:25:05AM +0100, Colomban Wendling wrote:
> >>> Are there other, more appropriate options?
> >>> Basically, what I'd like to achieve is similar to being able to set the
> >>> "Accel Speed" to a value way under -1.  If there are no better options,
> >>> I can consider adding a "enable pointer acceleration" user setting which
> >>> would control whether the "adaptive" or "flat" profile is used, but I'd
> >>> like to avoid it if possible to keep the user setting simple and
> >>> understandable.
> >>
> >> Honestly, I think you're going about it the wrong way. You want an
> >> accessibility feature and you're looking for hacks and knobs that you can
> >> (ab)use to get the result you want.
> >>
> >> The side-effect of this is that you make life miserable for both sides. Any
> >> change in libinput could break whatever knobs you find and you're forcing
> >> libinput to maintain behaviour that wasn't intended to work this way,
> >> possibly blocking improvements.
> > 
> > That's the reason I'm asking: because I don't feel great about the
> > current options I found.
> 
> I see however that you mentioned that selection of the acceleration
> profile may have had an option in gnome-tweak-tool in
> https://gitlab.freedesktop.org/libinput/libinput/issues/187.  And just
> having such a setting should not put any burden on libinput, as it'd
> merely select the profile, and not try to map the different profile
> speeds with magic numbers that just happen to look like they are working.
> 
> If that's the best I can do for now, I can live with this although it's
> not perfect.

the flat profile one is still provided by libinput, so all the work (though
in this case that's "very little") is still done by libinput.
gnome-tweak-tool just exposes that through gsettings, the real change is
done by mutter.

There's a high chance that you'll need that profile enabled for your
specific use-case, but it's not necessarily the starting point.

> >> PS: yes, obviously this is dependend on Wayland because in X the server
> >> controls the pointer and you're mostly out of luck.
> > 
> > Well, this "only" suggests I would need a way to do that with X in the
> > meantime.  What about a multiplication factor in xf86-input-libinput?
> > […]
> > 
> > Would such a parameter be acceptable for X, or could you point me to a
> > better place for this if not?
> 
> Any opinion on this?  As said, that could be the X pendant of a Wayland
> compositor option to do the same, that I could use until I can rely on
> Wayland.

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.

Cheers,
   Peter


More information about the wayland-devel mailing list