AHK组合键问题

AHK key combination issue

完整代码:http://pastebin.com/AX8iNRE6

问题:我有各种字母组合可以作为将拉丁字母转换为西里尔字母的触发器,例如:

:*:h::
    SendInput, х
    FingerPrint(22)
    return
:*:s::
    SendInput, с
    FingerPrint(22)
    return

:*:sh::
    SendInput, ш
    FingerPrint(22)
    return

所以它将 'sh' 切换为 'È'。相反,当我可能打字不够快(或任何其他原因)时,它开始分别替换 's' 和 'h',给我 'сх'

有什么办法可以解决这个问题吗?也许是等待下一个角色或其他东西的条件。

提前致谢!

您可以尝试使用 Input. Or, more comfortably, use Polythene's dynamic regEx-Hotstring library:

自己构建一些东西
#persistent
#include hotstrings.ahk

hotstrings("s([^h])", "c%%")    ; s followed by any non-h-character

return

:*:h::x
:*:sh::?