将鼠标灵敏度降低到标准极限以下


42

我的Ubuntu笔记本上装有USB鼠标。(不幸的是)该鼠标非常敏感,因此有时很难用鼠标指针击中小图标。这确实是一个硬件问题,不是错误,也不是Ubuntu / gnome的错。尽管如此,我还是非常希望通过软件解决此问题(通过硬件解决将意味着购买新鼠标)。

回到Windows,如果我将灵敏度设置为非常低,那就足够舒适了。在Ubuntu中,即使是最低的灵敏度和加速度(在“ 系统”>“ Prerences”>“鼠标”菜单中)仍然令人沮丧。如何将其降低到默认最小值以下?

我尝试了xset,但似乎xset仅处理加速度和阈值,而不涉及实际灵敏度。


1
这些代码行放在哪里?

Answers:


55

我有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命令相同的结果。

让我知道是否有帮助。


惊人!我几周前就放弃了。非常感谢,它确实有帮助。
马拉巴巴

5
Bah:“属性'Device Accel Constant Deceleration'不存在,您需要指定其类型和格式
mlissner,

1
即使对Linux Mint 17仍然有效!谢谢:)
理查德·德·威特

3
如果我没有xorg.conf文件,应该创建它吗?
西普里安·托莫阿格(CiprianTomoiagă)2016年

1
@mlissner尝试使用不同的设备ID,我的有3个指针,我不得不使用10
flcoder

6

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 M510id=10因此在本示例中将使用它。您将需要用任何鼠标来替换它。现在,使用xinput set-prop尝试各种设置,直到鼠标完全按照您的期望移动。在10下面的对应于id=10我的鼠标我的系统上。您可能必须更改它。

2.临时更改设置

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

如果您好奇其他设置会影响您的设备,请尝试

$ xinput --list-props 10

要在真正搞砸之后清除设置,我所要做的就是拔下并重新插入鼠标。

3.永久保存新设置

如果您喜欢ConstantDeceleration 3,则需要以新的Ubuntu 16.04方式添加一个xorg.conf文件:通过在中添加新文件,/usr/share/X11/xorg.conf.d/ 您将要更改名称,Logitech M510logitech-m510在文件名中匹配鼠标。我认为60-文件名的开头是优先加载这些文件。下面的一行命令行命令是我machineSetup.sh在Dropbox 中的文件中输入的命令,以便在全新安装后的几分钟内可以完全按照自己的喜好快速自定义新计算机:

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.重新启动

而已。只需重新启动并验证新设置已生效。


1
不幸的是,我得到以下信息:property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and format在第二步(使用我的设备ID)尝试命令时。
tambre

@tambre我的猜测是,在执行步骤2时,您没有使用步骤1中标识的正确数字ID。
GlenPeterson

1
列出属性后,该属性将Device Accel Constant Deceleration不存在。似乎使用libinput作为驱动程序,因此我不得不修改的值libinput Accel Speed,而有效值从-1到1。
tambre

1
这对我有用,但是我的鼠标(“ Razer Razer DeathAdder 2013”​​)在Virtual core pointer(两次)和Virtual core keyboard(一次)下出现了多次。只有pointer设备才有Device Accel Constant Deceleration,因此在使用进行测试时,我必须确保选择这些设备之一xinput。该xorg.conf.d文件仍然运行良好。
亚历克斯(Alex)

2

回复较晚,但是我认为这值得发布:

由于我们在这里谈论游戏鼠标。更好的方法是完全关闭鼠标加速功能(对FPS游戏玩家等有用)。不使用它来计算任何鼠标加速度,也可能会获得更准确的读数,从而节省一些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

资源


我得到这个:X Error of failed request: BadValue (integer parameter out of range for operation)
MasterOfBinary

太好了,谢谢。我的Kingsis Peripherals Evoluent VerticalMouse 3遇到问题。它的DPI设置位于鼠标底部,并且DPI设置最高,即使最低的灵敏度设置仍然过高。
anon58192932

2

略微修改了Glen的答案,这适用于我的Logitech鼠标,并且将“慢速”从1翻倍到2。

添加到〜/ .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

1
我认为最好将这些行添加到的末尾,.profile而不是.bashrc.profile仅由交互式登录 Shell .bashrc运行,而每次bash启动Shell 时都会运行。有关更多信息,请参见此答案
chus

技术上也可以.bash_aliases正常工作,因为标准ubuntu .bashrc文件加载正确吗?
anon58192932

1

如果使用PS2端口,则在相同的鼠标分辨率下鼠标移动会慢得多。

对于您的鼠标,请尝试使用USB转PS2转换器,并将鼠标置于PS2端口上。

编辑:

我找到了xorg.conf可行的解决方案:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

默认情况下,灵敏度为1,而灵敏度为0.2,则将灵敏度降低五倍。


那是个创意。我想我家里有个转换器,所以明天再试试。
马拉巴巴

我找到了一个有效的xorg.conf解决方案。编辑答案。
iugamarian

1
不过,这不适用于笔记本电脑。
丹尼尔·席尔瓦

哪里xorg.conf
绿色的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.