鼠标加速度
禁用鼠标加速度[编辑 | 编辑源代码]
使用 Xorg,Arch Linux 将 libinput 设置为默认驱动,位于
"/usr/share/X11/xorg.conf.d/40-libinput.conf"
为了激活我们的指针设备的flat
(平坦)配置文件,我们需要将 flat
设置为 1
,并将 adaptive
(自适应)和 custom
(自定义)配置文件选项设置为 0
。
找出您的设备 ID。
# xinput
第一个数字表示默认的加速度配置文件,第二个数字表示平坦配置文件(无加速度),第三个数字表示自定义配置文件。要激活平坦配置文件:
# xinput set-prop "deviceid" "libinput Accel Profile Enabled" 0 1 0
确认更改:
# xinput list-props "deviceid"
通过在 /usr/share/X11/xorg.conf.d/40-libinput.conf
中的指针部分添加选项来使其持久化。
/usr/share/X11/xorg.conf.d/40-libinput.conf
Section "InputClass" Identifier "libinput pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "AccelProfile" "flat" EndSection
配置鼠标加速度[编辑 | 编辑源代码]
设置鼠标加速度取决于您使用的窗口协议:Xorg 或 Wayland。
- 在 Xorg 上,有几种设置鼠标加速度的方法:
- 通过编辑 Xorg 配置文件
- xorg-xset包 和 xorg-xinput包,分别提供 'xset' 和 'xinput'
- 以及在桌面环境中常见的配置界面。
- 如果您使用的是 Wayland,则事件通过 libinput 控制。这是合成器的工作,以暴露 libinput 带来的设置。目前还没有一种标准的方式来跨合成器更改设置。[1]
- GNOME 自行管理鼠标加速度。可以通过安装 dconf-editor包 并编辑
org/gnome/desktop/peripherals/mouse/acceleration-profile
的值,在adaptive
(自适应)和flat
(平坦)配置文件之间进行选择。或者,也可以使用 gnome-tweaks包 来编辑org/gnome/desktop/peripherals/mouse/acceleration-profile
。
使用 libinput 配置鼠标加速度[编辑 | 编辑源代码]
当使用自适应指针加速度配置文件时,libinput 根据 DPI 和参数 Acceleration Speed
[2] 来计算鼠标加速度。libinput 依赖于 xf86-input-evdev包 [3] 报告的分辨率。使用 xset m
设置的反馈设置实际上被忽略了。当使用平坦指针加速度配置文件时,加速度因子是恒定的,不论指针的速度如何。这提供了设备和屏幕上指针之间的 1:1 移动比例。
更改加速度[编辑 | 编辑源代码]
使用 xinput list
查找您的设备 ID,并使用以下命令设置加速度。请注意,加速度必须在 [-1,1] 的范围内。查看这个图表以了解不同加速度值的影响。
$ xinput --set-prop <device id> 'libinput Accel Speed' <acceleration factor>
使用以下命令确认您的更改:
$ xinput --list-props <device id>
持久化配置[编辑 | 编辑源代码]
libinput 本身不存储配置选项,由调用者管理这些配置。在 Wayland 下,桌面环境会恢复配置。在 Xorg 下,xf86-input-libinput包 读取 Xorg 配置文件并应用选项 [4]。为了在 Xorg 下使更改持久化,可以创建如下的配置文件:
/etc/X11/xorg.conf.d/99-libinput-custom-config.conf
Section "InputClass" Identifier "<用于标识此片段的名称>" MatchDriver "libinput" MatchProduct "<设备名称的子字符串>" Option "AccelSpeed" "<例如 0.3>" EndSection
更多选项请参见 libinput(4)。
设置鼠标加速度[编辑 | 编辑源代码]
在 Xorg 配置中[编辑 | 编辑源代码]
详见 xorg.conf(5)。
示例:
/etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Section "InputClass" Identifier "我的鼠标" MatchIsPointer "yes" # 分别设置为 1 1 0 以禁用加速度。 Option "AccelerationNumerator" "2" Option "AccelerationDenominator" "1" Option "AccelerationThreshold" "4" EndSection
/etc/X11/xorg.conf.d/50-mouse-deceleration.conf
Section "InputClass" Identifier "我的鼠标" MatchIsPointer "yes" # 一些曲线减速 # Option "AdaptiveDeceleration" "2" # 线性减速(鼠标速度降低) Option "ConstantDeceleration" "2" EndSection
您也可以通过在类部分中使用MatchProduct
、MatchVendor
等匹配项来为特定硬件分配设置。运行 lsusb
来找出要匹配的产品名称和供应商:
$ lsusb -v | grep -e idProduct -e idVendor
如果您无法识别您的设备,尝试运行 xinput list
。一些使用罗技优联接收器的设备共享相同的 USB 连接,因此鼠标在使用 lsusb
时可能不出现。
使用 xinput[编辑 | 编辑源代码]
首先,获取已连接设备的列表(忽略任何虚拟指针):
$ xinput list
记下设备 ID。如果 ID 容易变化,也可以在命令中使用设备全名。
使用以下命令获取可修改的属性及其当前值的列表:
$ xinput list-props 9
其中 9
是您要使用的设备的 ID。或者
$ xinput list-props "鼠标名称"
其中 鼠标名称
是由 xinput list
提供的鼠标名称。
例如,将 Constant Deceleration
属性更改为 2:
$ xinput list-props 9
Device '鼠标名称': Device Enabled (121): 1 Device Accel Profile (240): 0 Device Accel Constant Deceleration (241): 1.000000 Device Accel Adaptive Deceleration (243): 1.000000 Device Accel Velocity Scaling (244): 10.000000
$ xinput --set-prop "鼠标名称" "Device Accel Constant Deceleration" 2
要使其永久生效,编辑 Xorg 配置文件(见上文)或将命令添加到 xprofile。后者不会影响在显示管理器中的速度。
配置示例[编辑 | 编辑源代码]
您可能需要使用不止一种方法来实现您想要的鼠标设置。以下是我为一个通用光学鼠标配置的步骤: 首先,将默认移动速度减慢 3 倍,使其更精确。
$ xinput --set-prop 9 'Device Accel Constant Deceleration' 3 &
然后,启用加速度,并在移动超过 6 个单位后使其速度提高 3 倍。
$ xset mouse 3 6 &
如果您对结果满意,将上述命令存储在 ~/.xinitrc
中。