标准韩语键盘上的空格键旁边有两个键(每侧一个),我想将它们重新映射为 Control 或 Alt 修饰符 - 所以我可以使用比我的小指更强的手指交替使用(我是 emacs 用户) .
我猜问题是它们似乎没有生成KeyUp事件,并且它们不会像其他键一样重复。我有一个非常糟糕的解决方案,涉及使用自动热键的循环。还对另一个非免费程序 KeyManager 做了类似的事情。我希望有一些更高级的技巧或解决方法(AutoHotkey、驱动程序或其他)。
;Scan Code for Hanja Key
sc1F1::
Loop 10000
{
SetKeyDelay,-1
Send {Blind}{LCtrl DownTemp}
}
SetKeyDelay,-1
Send {Blind}{LCtrl Up}
Return
按下(并按住)的键盘挂钩输出Hanja:
您可以看到没有重复和向上事件。
VK SC Type Up/Dn Elapsed Key Window
74 03F u 0.08 F5
19 1F1 d 0.66 Hanja
74 03F d 9.58 F5
更新:
试过:
sc1F1 & t::Send {Blind}{LCtrl DownTemp}{t}{LCtrl Up}
结果:
按Hanja+后t,热键会触发,但随后仅按ONLY会 执行相同的操作。 似乎没有发生。t LCtrl Up
安倍的SetTimer
重置还是不错的!感觉就像我的原始代码的一个更优雅的版本。然而,问题在于延迟——我必须调整输入速度以匹配延迟。
其他经过测试的解决方案:
GetKeyState("vk19", "p")
总是在脚本加载和第一次按下后报告 PRESSED。它永远不会打破这种状态——即使在我释放密钥很久之后。
KeyWait
也不能按预期工作。
sc1F1 up::traytip,, test
在任意数量的按下/释放后也不会产生托盘提示。