You are not logged in.
Hi Arch people,
Preface: I am an idiot who might be missing something obvious
The situation: I have a trackball (ploopy trackball), as far as I can tell it uses libinput as the driver, I want to set "adaptive" mouse acceleration.
I have looked around in man pages and at the wiki and there's a fair bit of conflicting info. For instance if read man 4 libinput:
Option "AccelProfile" "string"
Sets the pointer acceleration profile to the given profile. Permit‐
ted values are adaptive, flat. Not all devices support this option
or all profiles. If a profile is unsupported, the default profile
for this device is used. For a description on the profiles and their
behavior, see the libinput documentation.
but man xorg.conf
Option "AccelerationProfile" "integer"
Select the profile. In layman's terms, the profile constitutes the
"feeling" of the acceleration. More formally, it defines how the
transfer function (actual acceleration as a function of current de‐
vice velocity and acceleration controls) is constructed. This is
mainly a matter of personal preference.0 classic (mostly compatible)
-1 none (only constant deceleration is applied)
1 device-dependent
2 polynomial (polynomial function)
3 smooth linear (soft knee, then linear)
4 simple (normal when slow, otherwise accelerated)
5 power (power function)
6 linear (more speed, more acceleration)
7 limited (like linear, but maxes out at threshold)
The wiki page:
https://wiki.archlinux.org/title/Mouse_acceleration
Has examples using both libinput style as well as the older xorg.conf style, but the talk page is mostly discussing how the xorg.conf stuff is deprecated and has examples using the libinput style.
On my system if I poke at the mouse using xinput I get a couple of interesting things:
xinput --list-props 16
(where 16 is device number of ploopy trackball mouse for current boot)
show 4 relevant pieces of information
1) libinput Accel Speed (301): -0.400000 # this is set correctly according to my xorg.conf.d file
2) libinput Accel Profiles Available (303): 1, 1 # this supports both acceleration profiles? (where both are flat and adaptive)
3) libinput Accel Profile Enabled Default (305): 1, 0 # it defaults to flat
4) libinput Accel Profile Enabled (304): 1, 0 # flat is active
If I enter:
xinput --set-prop 16 'libinput Accel Profile Enabled' 0 1
Then I get nice adaptive acceleration that I want. Currently my xorg.conf.d/10-mouseacceleration.conf file contains:
Section "InputClass"
Identifier "system-mouse-pointer"
MatchIsPointer "yes"
Option "AccelProfile" "adaptive"
Option "AccelSpeed" "-0.4"
EndSection
which is not working. Xorg.0.log uploaded @ https://0x0.st/oaxV.log for reference.
Please let me know if you need more info. Sorry if this is really super obvious and I am being a goose.
Last edited by UnWiseRat (2022-05-23 06:17:48)
Offline
Then I get nice adaptive acceleration that I want. Currently my xorg.conf.d/10-mouseacceleration.conf file contains […]which is not working.
[ 7.320] (II) event2 - Ploopy Corporation Trackball: is tagged by udev as: Keyboard
[ 7.320] (II) event2 - Ploopy Corporation Trackball: device is a keyboard
[ 7.321] (II) config/udev: Adding input device Ploopy Corporation Trackball Mouse (/dev/input/event5)
[ 7.321] (**) Ploopy Corporation Trackball Mouse: Applying InputClass "libinput pointer catchall"
[ 7.321] (**) Ploopy Corporation Trackball Mouse: Applying InputClass "system-mouse-pointer"
[ 7.321] (II) Using input driver 'libinput' for 'Ploopy Corporation Trackball Mouse'
[ 7.321] (**) Ploopy Corporation Trackball Mouse: always reports core events
[ 7.321] (**) Option "Device" "/dev/input/event5"
[ 7.321] (II) event5 - Ploopy Corporation Trackball Mouse: is tagged by udev as: Mouse Trackball
[ 7.322] (II) event5 - Ploopy Corporation Trackball Mouse: device is a pointer
[ 7.322] (II) event5 - Ploopy Corporation Trackball Mouse: device removed
[ 7.353] (**) Option "AccelSpeed" "-0.4"
[ 7.353] (**) Option "AccelProfile" "adaptive"
[ 7.353] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:0c:00.3/usb9/9-3/9-3:1.2/0003:5043:5442.0005/input/input5/event5"
[ 7.353] (II) XINPUT: Adding extended input device "Ploopy Corporation Trackball Mouse" (type: MOUSE, id 15)
[ 7.353] (**) Option "AccelerationScheme" "none"
[ 7.353] (**) Ploopy Corporation Trackball Mouse: (accel) selected scheme none/0
[ 7.353] (**) Ploopy Corporation Trackball Mouse: (accel) acceleration factor: 2.000
[ 7.353] (**) Ploopy Corporation Trackball Mouse: (accel) acceleration threshold: 4
[ 7.354] (II) event5 - Ploopy Corporation Trackball Mouse: is tagged by udev as: Mouse Trackball
[ 7.354] (II) event5 - Ploopy Corporation Trackball Mouse: device is a pointer
[ 7.354] (II) config/udev: Adding input device Ploopy Corporation Trackball Mouse (/dev/input/mouse0)
[ 7.354] (**) Ploopy Corporation Trackball Mouse: Applying InputClass "system-mouse-pointer"
3) libinput Accel Profile Enabled Default (305): 1, 0 # it defaults to flat
4) libinput Accel Profile Enabled (304): 1, 0 # flat is activeIf I enter:
xinput --set-prop 16 'libinput Accel Profile Enabled' 0 1
libinput Accel Profiles Available
2 boolean values (8 bit, 0 or 1), in order "adaptive", "flat". Indicates which acceleration profiles are available on this device.
libinput Accel Profile Enabled
2 boolean values (8 bit, 0 or 1), in order "adaptive", "flat". Indicates which acceleration profile is currently enabled on this device.
Offline
Wait wait wait wait wait hold on a second.
You're saying it was earth adaptive all along and I was switching it to flat.
Guess my preface was appropriate haha!
That seemed so odd to me since adaptive was supposed to slow the point at low speed and make it fast at high speed but on adaptive the barest twitch has it flying across the screen.
Am I missing something about getting my pointer to be *less* sensitive when I'm not moving it quickly?
Offline
When using the adaptive pointer acceleration profile, libinput calculates the mouse acceleration depending on the DPI and the parameter Acceleration Speed [2]. libinput relies on the resolution reported by evdev [3]. Feedback settings set with xset m are effectively ignored.
Possibly because of
DPI set to (81, 80); computed from "UseEdidDpi" X config
Personally, I just "xset m 25/10 6" for some usable acceleration rather than some shady blackbox algorithm that's not specified anywhere, overly complex and also doesn't seem to cover trackballs while it special cases every other device under the sun: https://wayland.freedesktop.org/libinpu … l-profiles
Offline
ack, well thanks for debugging my brain.
Guess I'll do some experimentation and see what sticks.
Offline