1

我使用不允许定制的医院数据输入系统。我发现 AutoHotKey 提供了有效的方法来解决这个系统的“缓慢笨拙”。我需要的是键盘上的更多功能键。我发现近似的最好方法是重新映射密钥对 1 Q:: Alt n, 2 w::ctrl r....ect。我能想到的最好的方法是来自 AHK 网站的示例以及如何将字母键重新映射到其他字母键目的地的说明。我进行了调整和调整,并提出了以下建议:

1 & q::
SetKeyDelay -1, 40  ; 
Send {ctrl Down}  ; 
Send {Blind}{f Downtemp}
return

1 & q up::
SetKeyDelay -1  ;
Send {Blind}{ctrl up}
Send {Blind}{f Up}
return

这段代码可以完成这项工作,但它有一个缺点。序列中的第一个键失去了它的常规功能。在这种情况下,我失去了将第一行数字用作功能键的用途。是否可以在密钥对中使用第一个密钥后自动恢复其本机功能?我和其他药房人员将非常感谢您提供的任何帮助。谢谢你。

4

1 回答 1

1

带有&产生前缀键的组合键。要恢复前缀键的原始功能,您需要明确定义它:

1 & q::Msgbox, 1
1::Send, 1
+1::Send, {!} ; SHIFT + 1 may depend on your keyboard layout

但是,以产生尽可能少的前缀键的方式排列组合键是有意义的。在您的示例中,如果您想定义热键,如1 + q, 2 + q, 3 + q, 等等,使用q第一个键可能更聪明,让您只需要重新定义一个键:

SendMode, Input

q & 1::Msgbox, 1
q & 2::Msgbox, 2
q & 3::Msgbox, 3
q::Send, q
+q::Send, Q
; AltGr+q and CTRL+ALT+q also do something in Germany ;)
<^>!q::Send, @
^!q::Send, @

正如您在示例中所见,您始终必须注意具有由AltGror触发的(通常是第三个)功能的键CTRL+ALT。但这在很大程度上取决于您的键盘布局。

于 2013-08-12T09:03:05.837 回答