验证AutoHotKey中按下的键

时间:2017-01-29 13:39:14

标签: autohotkey

我一直在寻找很长一段时间并看了很多关于AHK的文档,但还没有找到如何做到这一点。

所以基本上,只要按下CTRL +另一个键,我想检查另一个键是什么。当另一个键不是小键盘号码之一时,我只想发送另一个键。当键是小键盘数字之一时,我想发送CTRL和小键盘键。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我只能想到两种方式。首先,手动分配每个热键。

loop, 255 {
    char := chr(a_index - 1)
    try {
        hotkey, ^%char%, send_key, char
    } catch e { 
        ; many keys in the ansi chart cant be assigned to a hotkey, just ignore the error
    }
}
return
send_key:
    ; A_ThisHotkey contains the pressed combination in a format like ^C. Remove the ^
    key := subStr(a_thisHotkey, 2)
    sendraw %key%
return

循环遍历所有ANSI字符。有关列表,请参阅https://msdn.microsoft.com/en-us/library/aa245259(v=vs.60).aspx。它只是

的简短形式
^a::send a
^b::send b

等,255次。这种方法不会影响空间,小键盘数字(你想要的),#等等,它也无法区分小写和大写字母。但也许它会为你做。

其次,使用input。阅读有关它的文档页面,如果您还在努力,请编辑您的问题。我不知道这对于组合键是否或如何起作用