我有一个机械键盘问题,有时一个键被注册为两个。我通过安装解决了这个问题修复键盘抖动问题并设置按键之间至少 50 毫秒的延迟要求。
问题是这毁了我的自动热键需要快速打字能力的脚本。
那么还有其他方法可以解决我的键盘问题吗?
答案1
如果你在 AutoHotkey 中修复抖动问题(而不是使用修复键盘抖动问题,大概是一个单独的实用程序),那么您就不会破坏 AutoHotkey 中运行的任何其他程序。
我做过类似的事情,只是定义了一堆热键来限制检测或发送它们的速度。您的情况可能会有所不同。
热键定义
Space::ti92_rateLimit(needBrackets:=True)
a::rateLimit()
b::rateLimit()
...
z::rateLimit()
您可以看到,使用修饰符时,这可能会崩溃。您也可以尝试使用热键的变体来检测修饰符,并在热键定义中使用,但我不确定您需要多大的修复。如果您采用这种方式并想要调试,请在调用时在例程中*
添加ToolTip
或显示。MsgBox
rateLimit()
A_ThisHotkey
代码
rateLimit(needBrackets:=False) {
static lastHotkey
static lastCall
if ((lastHotkey=A_ThisHotkey) && (lastCall-A_TickCount)>50))
SendInput % needBrackets ? "{" A_ThisHotkey "}" : A_ThisHotkey
;Sleep 20 ; output rate limit
lastHotkey:=A_ThisHotkey
lastCall:=A_TickCount
}