这是我第二只因为开关不良而坏掉的鼠标!在大多数操作系统下,都有一个选项可以设置鼠标两次点击处理为双击的最大时间间隔。
从逻辑上讲,必须有一种方法来设置最小双击时间间隔!
我当然可以更换损坏的开关,但更换新开关需要花费成本,而且需要时间和基本的焊接。显然这应该是最后一步。
首先,我想尝试让计算机处理损坏的鼠标。我正在寻找适用于 Windows 和 Linux (ubuntu) 系统的修复方法。
E:正如 Matt Eckert 所说,问题是鼠标开关松了,只需按一下键就会产生两个信号。我从未提到过我想在鼠标内设置任何东西。抱歉造成误解,我以为这个问题经常发生,所以每个人都可以通过给出的信息了解问题所在。
在 Windows 下,只有设置识别双击的最大时间间隔的选项。我需要设置最小时间间隔。换句话说,只有当两次鼠标点击之间的时间差至少为半毫秒时,才应该识别双击。
答案1
答案2
对于Linux解决方案: http://blog.guntram.de/?p=16
如果您重新编译 evdev 并应用补丁,它可能在每个发行版中都能工作。以下内容摘自该链接:
安装 evdev 的源代码和构建环境,并进行编译。警告:第一个 apt-get 会将源代码安装到当前目录的子目录中,因此请先 cd 到合适的位置。
apt-get source xserver-xorg-input-evdev-dev sudo apt-get build-dep xserver-xorg-input-evdev-dev cd xserver-xorg-input-evdev-2.8.2/ patch -p 1 < ../evdev-debounce.patch dch -i debuild -us -uc -b cd ..
这将在您开始的目录中为您提供一个名为 xserver-xorg-input-evdev_2.8.2-1ubuntu2_amd64.deb 的文件。或者,如果您使用的是 32 位系统,则使用 x86 而不是 amd64。如果您不想自己编译,可以从以下位置下载文件我的镜子。这是针对 Ubuntu 14.04 的,因此,根据您阅读本文的时间,我的文件可能已经过时,您必须自行构建它。
使用以下方式安装此 .deb 文件
sudo dpkg -i xserver-xorg-input-evdev_2.8.2-1ubuntu2_amd64.deb
现在,注销并重新登录;这应该启动 X 服务器并加载新的包。
接下来是配置防抖动;如果不配置,新软件不会改变任何东西。使用 xinput –list 找出鼠标设备的 ID – 在我的情况下是 Razer 鼠标,ID=10:
$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Razer Razer Copperhead Laser Mouse id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ....
知道鼠标设备 ID 后,列出该设备的属性。其中一个属性(通常是最后一个)是新的防抖延迟。您需要它的 ID(本例中为 286):
$ xinput --list-props 10 ..... Evdev Debounce Delay (286): 0 .....
最后,将属性更改为最大值以进行去抖动。如果将其设置得太高,快速的真正双击也可能会“去抖动”——对我来说,值为 20 效果很好,如果你的鼠标开关磨损严重,你可能需要使用 50:
$ xinput --set-prop --type=int --format=32 10 286 20
找到您喜欢的值后,您可以将上述命令放入 $HOME/.xprofile 中。或者,要安装系统范围的配置文件,请将以下内容放入 /usr/share/X11/xorg.conf.d/12-evdev-debounce.conf – 此文件是新的,您需要以 root 身份写入它:
Section "InputClass" Identifier "evdev pointer debounce" MatchIsPointer "on" MatchDriver "evdev" Option "DebounceDelay" "20" EndSection