Right now you can’t set custom acceleration profiles in kde wayland. There is no gui or cli for that and even in kwin dbus this feature of libinput not exposed.
You can experiment with custom profiles in X session with xinput or in hyprland.
With xinput:
- Switch to X11 and set profile of mouse to “None” with low sensitivity. This way would be easier to find correct device.
- In output of
xinput list
in core pointer section find id of the mouse. - After that run
xinput set-prop MOUSE_ID "libinput Accel Profile Enabled" 0, 0, 1
. This will set mouse acceleration type to custom. If mouse id were correct sensitivity should be high again. xinput set-prop MOUSE_ID "libinput Accel Custom Motion Points" 0.0, 1.0
- this command set curve points.xinput set-prop MOUSE_ID "libinput Accel Custom Motion Step" 8
- this command set step between points.
Examples:
- linear 1:1 speed
curve: 0.0, 1.0
step: 1
Sensitivity on first and only interval (0.0, 1.0) = 1.0/1 = 1
- linear 1/8 speed
curve: 0.0, 1.0
step 8
or
curve: 0.0, 10.0
step 80
Sensitivity on first and only interval (0.0, 10.0) = 10.0/80 = 1/8
- curve with acceleration for high dpi (3200) mouse
curve: 0.0, 0.5, 1.2, 2.1, 3.2
step: 4
Sensitivity on first interval (0.0, 0.5) = 0.5/4 = 1/8 = 0.125
Sensitivity on second interval (0.5 - 1.2) between 0.125 and 1.2/(4*2) [0.15]
Sensitivity on third interval (1.2 - 2.1) between 0.15 and 2.1/(4*3) [0.175]
Sensitivity on last interval (2.1 - 3.2) between 0.175 and 3.2/(4*4) [0.2]
Sensitivity after that between 0.2 and (3.2-2.1)/4 [0.275].
- same curve for low dpi (400) mouse
curve: 0.0, 0.5, 1.2, 2.1, 3.2
step: 0.5
curve - Y position on graph of each points. (pointer speed).
step - increment of each X position of that points. (device speed).
With higher step values you need more units of speed per ms to jump from one curve interval (0.0 - 0.5) to another (0.5 - 1.2). So with 400 dpi mouse and step 4 you will be stuck in first interval and get something like 1/8 of linear sensitivity.