重新映射字母或数字键对以执行alt,ctrl,shift功能

时间:2013-08-12 05:32:25

标签: autohotkey

我在医院数据录入系统中工作,不允许自定义。我发现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

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

1 个答案:

答案 0 :(得分:1)

&的关键组合产生prefix keys。要恢复前缀密钥的原始功能,您需要明确定义它:

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

但是,以尽可能少的前缀键的方式排列组合键是有意义的。在您的示例中,如果您要定义热门密钥,例如1 + q2 + q3 + 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, @

正如您在示例中所看到的,您始终需要注意具有由AltGrCTRL+ALT触发的(通常是第三种)功能的密钥。但这很大程度上取决于您的键盘布局。