是否可以让 Windows 中的鼠标在按下时单击而不释放?

是否可以让 Windows 中的鼠标在按下时单击而不释放?

我儿子是残疾人。他玩一款叫《Tibia》的电脑游戏,这是一款简单的点击游戏。

我注意到他在玩游戏时必须点击 2 到 3 次才能让角色移动。这是因为他的手在按下鼠标键之前会痉挛并移动。所以我正在寻找一种方法,无需等待鼠标释放,直接跳到点击。

答案1

这是一个AutoIt 脚本。 第一的安装 AutoIt.然后创建一个带有扩展名的文件.au3(类似于test.au3),并在其中输入以下文本:

#include <AutoItConstants.au3>

HotKeySet("{ESC}","Quit")

While 1
    Sleep(1)
    If _IsPressed('01') Then
        MouseClick($MOUSE_CLICK_LEFT)
    EndIf
WEnd

Func _IsPressed($HexKey)
   Local $AR
   $HexKey = '0x' & $HexKey
   $AR = DllCall("user32","int","GetAsyncKeyState","int",$HexKey)
   If NOT @Error And BitAND($AR[0],0x8000) = 0x8000 Then Return 1
   Return 0
EndFunc

Func Quit()
    Exit
EndFunc

您可以双击该脚本来启动它。

只要按下鼠标按钮,它就会立即点击。如果按下,Escape脚本就会停止。

我把它做成了一个小程序,你可以在这里下载: https://drive.google.com/file/d/1ZcAO8apIbl0SY4vYZPUzW8htYjnIyIe3/view?usp=sharing

答案2

免费开源的 AutoHotKey (AHK) 可以非常轻松地做到这一点:

#IfWinActive, Tibia
LButton:: 
  Click
  return
LButton UP::
  ; do nothing, avoid spurious "up" events
  return

#IfWinActive确保行为仅在该游戏中触发。如果字符串“Tibia”不在游戏的实际窗口标题中,则可以使用 AutoHotKey 附带的间谍应用程序来查找正确的选择器。此解决方案纯粹基于事件,因此没有性能开销,并且如果 PC 繁忙也不会落后。

这可以任意扩展。例如,您可以将其更改为,如果您按下另一个键,则暂时禁用该行为,您可以选择将第 4 或第 5 个鼠标按钮用作单击并释放左键,等等。浏览一下AutoHotKey 用法和语法章节来了解一下有哪些可能。

AHK 可以提供大量“生活品质”功能,只受您的想象力限制。例如,它可以扫描屏幕以查找特定图像/图标,并在检测到某些事物时执行操作,等等。我强烈建议那些使用鼠标或键盘功能有限的人深入了解它。

答案3

Gantendo 慷慨地提供了一个出色的解决方案。

如果出于某种原因,该解决方案不适合您和您的儿子,或者您想要一个具有附加功能和灵活性的工具,我强烈推荐X-鼠标按钮控制 (XMBC)作者:菲利普·吉本斯(Phillip Gibbons)。

XMBC 是一款功能丰富的免费(作者接受捐赠)Windows 软件工具,它允许您定义所有指点设备按钮以及按钮组合的功能。它可以很好地处理“按钮弹起”和“按钮按下”等事件。它非常强大且灵活。

答案4

这里介绍了一些很棒的免费解决方案。如果价格昂贵,你可以给他买一个“游戏”鼠标,很多鼠标都附带软件,允许重新映射鼠标上的按钮。你可以轻松创建宏并将其分配给鼠标上的任何点击/按钮。Razer 品牌及其软件 razer synapse 允许你做这样的事情,我有一个非常类似的用例,我重新映射键盘上的按键以在“按键按下”时执行“按键释放”,最重要的是,你可以将鼠标/键盘配置文件分配给某些应用程序,以便仅在使用该特定应用程序时发生此特定行为。

相关内容