鼠标双击最小间隔

鼠标双击最小间隔

这是我第二只因为开关不良而坏掉的鼠标!在大多数操作系统下,都有一个选项可以设置鼠标两次点击处理为双击的最大时间间隔。

从逻辑上讲,必须有一种方法来设置最小双击时间间隔!

我当然可以更换损坏的开关,但更换新开关需要花费成本,而且需要时间和基本的焊接。显然这应该是最后一步。

首先,我想尝试让计算机处理损坏的鼠标。我正在寻找适用于 Windows 和 Linux (ubuntu) 系统的修复方法。

E:正如 Matt Eckert 所说,问题是鼠标开关松了,只需按一下键就会产生两个信号。我从未提到过我想在鼠标内设置任何东西。抱歉造成误解,我以为这个问题经常发生,所以每个人都可以通过给出的信息了解问题所在。

在 Windows 下,只有设置识别双击的最大时间间隔的选项。我需要设置最小时间间隔。换句话说,只有当两次鼠标点击之间的时间差至少为半毫秒时,才应该识别双击。

答案1

您正在寻找的是软件防抖动装置

那里有两个自动热键Windows 解决方案在此主题中

第一个是来自名为 HotKeyIt 的用户的简短脚本:

LButton::   
    If (A_TimeSincePriorHotkey < 150) ;hyperclick
        Return
    Click Down
    KeyWait, LButton
    Click Up
Return

然后有一个更长的解决方案:Buggy-Mouse.ahk - 修复鼠标缺陷。当您尝试单击时阻止鼠标双击。

对于 Linux,你可以尝试使用铁矿石,AutoHotkey 的一个移植版本,适用于单核细胞增多症支持,尽管我不确定它的功能。

答案2

对于Linux解决方案: http://blog.guntram.de/?p=16

如果您重新编译 evdev 并应用补丁,它可能在每个发行版中都能工作。以下内容摘自该链接:

  • 获取 event-debounce-patch,可以通过复制/粘贴的方式获取原作者帖子或来自我的镜子

  • 安装 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
    

相关内容