我是一名职业治疗师,正在治疗一名四肢瘫痪但头部活动自如的患者。他使用的是 Windows 11,他希望能够在游戏笔记本电脑上玩硬核游戏,我们一直在使用一款出色的头鼠标,让他能够轻松浏览网页并玩 Runescape 等点击游戏。但是,为了玩 Halo 或使命召唤等游戏,他需要能够重新调整头部,而鼠标无法记录这一动作。所以我认为他需要一个脚本,通过按住某个键暂时禁用鼠标的水平移动。我们可以将此键与手势关联(例如,只需抬起眉毛即可按住此键)。
我是一名游戏玩家,但我不知道如何制作脚本,甚至不知道如何让它们在计算机上运行。我看到另一篇帖子要求提供同样的脚本,但只想阻止我从原始帖子中得到的脚本是:
]::
CoordMode, Mouse
MouseGetPos, x
ClipCursor(x, 0, 0, A_ScreenHeight)
return
] Up::
ClipCursor() ; Off
return
; https://www.autohotkey.com/boards/viewtopic.php?f=76&t=62856#p445668
ClipCursor(x := "", y := "", w := "", h := "") {
if p := x != "" {
VarSetCapacity(RECT, 16, 0), p := &RECT
for k, v in [x, y, x + w, y + h]
NumPut(v, p + 4*(k - 1), "Int")
}
DllCall("ClipCursor", "Ptr", p)
}
但我不知道该如何处理这些。有人能告诉我具体该如何设置吗?谢谢
答案1
该脚本是使用 AutoHotkey 版本 1.1 创建的。要运行此脚本,您需要从以下位置下载并安装 AutoHotkey 版本 1.1(如果您尚未下载)...
https://www.autohotkey.com/
安装后,将代码复制/粘贴到记事本中并保存并命名文件。
现在将您的新文本文件从 FileName.txt 重命名为 FileName.ahk。
接下来,只需双击运行该脚本即可。
• 当您想要阻止水平移动时,请按住热键(热键 = F3)。
• 释放热键以恢复正常的鼠标移动。
热键是方括号“[' 但我已将其改为 'F3' 以便更清楚。您可以根据需要更改热键。其他内容均未更改。
F3::
CoordMode, Mouse
MouseGetPos, x
ClipCursor(x, 0, 0, A_ScreenHeight)
return
F3 Up::
ClipCursor() ; Off
return
ClipCursor(x := "", y := "", w := "", h := "") {
if p := x != "" {
VarSetCapacity(RECT, 16, 0), p := &RECT
for k, v in [x, y, x + w, y + h]
NumPut(v, p + 4*(k - 1), "Int")
}
DllCall("ClipCursor", "Ptr", p)
}
如果您更喜欢切换...
• 按下并释放F3 以阻止水平移动。
• 再次按下并释放 F3 可恢复正常移动。
F3::
Toggle := !Toggle
if (Toggle = 1) {
CoordMode, Mouse
MouseGetPos, x
ClipCursor(x, 0, 0, A_ScreenHeight)
} else {
ClipCursor() ; Off
}
Return
ClipCursor(x := "", y := "", w := "", h := "") {
if p := x != "" {
VarSetCapacity(RECT, 16, 0), p := &RECT
for k, v in [x, y, x + w, y + h]
NumPut(v, p + 4*(k - 1), "Int")
}
DllCall("ClipCursor", "Ptr", p)
}
我不能说这是否适用于 Windows 11,但如果不适用,AutoHotkey 论坛上有很多人可以帮助找出需要更改的地方。上述两个版本在我的 Windows 10 系统上运行良好。