问题描述
我有一个USB鼠标连接到我的Ubuntu笔记本电脑。这个鼠标(不幸的是)非常敏感,所以有时用鼠标指针很难击中小图标。这实际上是一个硬件问题,它不是一个错误,它不是Ubuntu’s/gnome’s错误。不过,我非常希望通过软件来解决这个问题(通过硬件解决意味着购买新鼠标)。
回到Windows,如果我将灵敏度设置得非常低,那就足够舒服了。在Ubuntu中,即使是可用的最低灵敏度和加速度(在系统> Prerences>鼠标菜单中)仍然令人沮丧。如何将其降低到默认最小值以下?
我试过xset,但似乎xset只处理加速度和阈值,但不是实际灵敏度。
最佳解决思路
我有一个Razer DeathAdder鼠标,就像你的情况一样,灵敏度/加速度太高,即使我把它们放在鼠标首选项的最低级别。所以为了解决这个问题,我使用了xinput命令。
首先,您将需要您的鼠标ProductName和ID:
xinput list
...
Razer Razer DeathAdder id=8 [slave pointer (2)]
...
然后使用此命令设置适合您需要的恒定减速级别:
xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.
要使配置持久(并使其在系统范围内),您需要编辑xorg.conf(/etc/X11/xorg.conf
)。
Section "InputClass"
Identifier "Razer" # Whatever you want.
MatchProduct "Razer Razer DeathAdder" # Product name from xinput list.
Option "ConstantDeceleration" "3" # The same value as xinput.
EndSection
重新启动后,您应该具有与xinput命令相同的结果。
如果有帮助,请告诉我。
次佳解决思路
Ubuntu 17.04
按照以下说明操作,但更改:
xinput set-prop 10 "Device Accel Constant Deceleration" 3
至:
xinput set-prop 10 "libinput Accel Speed" -0.4
谢谢@tambre。不确定这是否与旧设置一样理想,但它非常接近。
xset m 3
这仍然很好用。需要弄清楚如何保存,这是重启时的默认值。
Ubuntu 16.04
@JackTravis的回答非常有帮助,但我认为值得更新为16.04,因为xorg.conf文件已移动并被拆分为多个文件。在写这个答案之前,我尝试使用xset
并使用xinput
设置一段时间,然后决定JackTravis的xinput
ConstantDeceleration
3
设置是我桌面上的Logitech M510和笔记本电脑上的一些旧有线鼠标的最佳设置。
1.列出小鼠
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M510 id=10 [slave pointer (2)]
⎜ ↳ Synaptics Inc. Composite TouchPad / TrackPoint id=13 [slave pointer (2)]
...
我的鼠标是Logitech M510
,id=10
所以我将在本例中使用它。无论你的鼠标是什么,你都需要替换它。现在,使用xinput set-prop
尝试各种设置,直到鼠标完全按照您的意愿移动。下面的10
对应于我系统上鼠标的id=10
。你可能不得不改变它。
2.暂时更改您的设置
$ xinput set-prop 10 "Device Accel Constant Deceleration" 3
如果您很好奇其他设置会影响您的设备,请尝试
$ xinput --list-props 10
为了在我真正弄乱它们之后清除设置,我所要做的就是拔下电源插头和re-plug我的鼠标。
3.永久保存新设置
如果您喜欢ConstantDeceleration为3,那么您需要以新的Ubuntu 16.04方式添加xorg.conf文件:在/usr/share/X11/xorg.conf.d/
中添加新文件您需要在文件名中更改Logitech M510
和logitech-m510
以匹配您的鼠标。我认为文件名开头的60-
是加载这些文件的优先级。以下one-line shell命令是我在Dropbox中的machineSetup.sh
文件中放置的命令,这样我就可以在全新安装的几分钟内快速自定义新机器:
sudo sh -c "echo 'Section \"InputClass\"\n\
Identifier \"My awesome new mouse\"\n\
MatchProduct \"Logitech M510\"\n\
Option \"ConstantDeceleration\" \"3\"\n\
EndSection\n' > /usr/share/X11/xorg.conf.d/60-logitech-m510.conf"
或者,如果您想以GUI方式执行此操作,请以root身份打开编辑器,然后将以下内容粘贴并编辑到/usr/share/X11/xorg.conf.d/60-<whatever>.conf
中
Section "InputClass"
Identifier "My Awesome Blue Mouse"
MatchProduct "Logitech M510"
Option "ConstantDeceleration" "3"
EndSection
4.重新启动
而已。只需重新启动并验证新设置是否生效。
第三种解决思路
迟到的回复,但我认为这值得张贴:
因为我们在这里谈论游戏鼠标。更好的是完全关闭鼠标加速(对FPS游戏玩家等有用)。通过不使用它来计算任何鼠标加速度并且可能更准确的读数(取决于或鼠标硬件传感器具有build-in外推)来节省一些CPU周期。
xinput set-prop <mousedevice_nr> "Device Accel Profile" -1
要么
Section "InputClass"
Identifier "Razer"
MatchProduct "Razer DeathAdder" # Product name from xinput list.
Option "AccelerationProfile" "-1" # Turn mouse accel off saving CPU cycles
EndSection
第四种思路
对Glen的回答略有修改,这适用于我的Logitech鼠标,并且从1到2加倍”slowness”。
添加到〜/.profile(如注释中所指出的)(或.bashrc,但是你必须启动一个终端才能进行更改)
MOUSE_SLOWNESS=2
MOUSE_ID=`xinput list | grep Mouse | awk '{print $(NF-3)}' | cut -c4-5`
xinput set-prop $MOUSE_ID "Device Accel Constant Deceleration" $MOUSE_SLOWNESS