Custom acceleration profile research

linkBasic docs

https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html#the-custom-acceleration-profile


linkThe developer explains it

https://who-t.blogspot.com/2023/01/libinput-and-custom-pointer.html


# Set the flat-equivalent function described above
$ xinput set-prop "devname" "libinput Accel Custom Motion Points" 0.0 1.0
# Set the step, i.e. the above points are on 0 u/ms, 1 u/ms, ...
# Can be skipped, 1.0 is the default anyway
$ xinput set-prop "devname" "libinput Accel Custom Motion Points" 1.0 #
# Now enable the custom profile
$ xinput set-prop "devname" "libinput Accel Profile Enabled" 0 0 1


linkArch Linux examples

https://wiki.archlinux.org/title/Mouse_acceleration


# bash
/etc/X11/xorg.conf.d/99-libinput-custom-config.conf
Section "InputClass"
Identifier ""
MatchDriver "libinput"
MatchProduct ""
Option "AccelSpeed" ""
EndSection


#bash
/etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Section "InputClass"
Identifier "My Mouse"
MatchIsPointer "yes"
# set the following to 1 1 0 respectively to disable acceleration.
Option "AccelerationNumerator" "2"
Option "AccelerationDenominator" "1"
Option "AccelerationThreshold" "4"
EndSection


#bash
/etc/X11/xorg.conf.d/50-mouse-deceleration.conf
Section "InputClass"
Identifier "My Mouse"
MatchIsPointer "yes"
# some curved deceleration
# Option "AdaptiveDeceleration" "2"
# linear deceleration (mouse speed reduction)
Option "ConstantDeceleration" "2"
EndSection