解决Mint下鼠标移动速度太快的问题(libinput)

环境:Mint Xfce 19 x64
我平时使用的鼠标移动速度比较慢,而且鼠标加速从来不开。一般1000-1200DPI最适合我。Mint下鼠标疯狂起飞,手腕一抖鼠标指针飞过半个屏幕让我很是头疼。而xfce设置里的鼠标速度似乎完全没有作用,Google后我发现这其实是历史的锅,以前X11是用xset管理输入设备的,现在变成了xinput。而xfce的设置还是去修改xset的配置文件。

既然如此,那我们只能来手动研究一下xinput怎么改鼠标速度了。

$ xinput -list

可以查看到所有输入设备,我的部分输出如下:

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                  id=15    [slave  pointer  (2)]
⎜   ↳ PixArt USB Optical Mouse                    id=11    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]

......

可以看到,USB鼠标id为11,接下来再去查看USB鼠标的详细信息:

$ xinput -list-props 11

我的输出如下:

Device 'PixArt USB Optical Mouse':
    Device Enabled (145):    1
    Coordinate Transformation Matrix (147):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (280):    0
    libinput Natural Scrolling Enabled Default (281):    0
    libinput Scroll Methods Available (282):    0, 0, 1
    libinput Scroll Method Enabled (283):    0, 0, 0
    libinput Scroll Method Enabled Default (284):    0, 0, 0
    libinput Button Scrolling Button (285):    2
    libinput Button Scrolling Button Default (286):    2
    libinput Middle Emulation Enabled (287):    0
    libinput Middle Emulation Enabled Default (288):    0
    libinput Accel Speed (289):    ]0.000000
    libinput Accel Speed Default (290):    0.000000
    libinput Accel Profiles Available (291):    1, 1
    libinput Accel Profile Enabled (292):    1, 0
    libinput Accel Profile Enabled Default (293):    1, 0
    libinput Left Handed Enabled (294):    0
    libinput Left Handed Enabled Default (295):    0
    libinput Send Events Modes Available (265):    1, 0
    libinput Send Events Mode Enabled (266):    0, 0
    libinput Send Events Mode Enabled Default (267):    0, 0
    Device Node (268):    "/dev/input/event5"
    Device Product ID (269):    2362, 9488
    libinput Drag Lock Buttons (296):    <no items>
    libinput Horizontal Scroll Enabled (297):    1

根据libinput官网文档所述:https://wayland.freedesktop.org/libinput/doc/latest/scrolling.html
前面一堆Scroll的都是触摸板的参数,不管他,下面一个Accel Speed就是我想要的,找到文档对应部分:
https://wayland.freedesktop.org/libinput/doc/latest/configuration.html#pointer-acceleration
可以看到,设置区间为[-1,1],默认是0,那么我现在嫌它快了,直接设置为-0.5,可用看到这个属性的id是289,所以执行

$ xinput set-prop 11 289 -0.5

完美解决

当然,我还需要搞个开机启动,考虑到图形界面下才会有鼠标,这个设置放在systemd的multi-user节点或者直接扔xprofile里比较合适,图懒省事,我直接扔xprofile里了
/etc/xprofile

xinput set-prop 11 289 -0.5

此处评论已关闭