Вопрос комбинации клавиш AHK

Полный код: http://pastebin.com/AX8iNRE6

Проблема: у меня есть различные комбинации букв, которые работают как триггер для переключения латинских букв на кириллические, например:

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

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

таким образом, это переключило бы 'sh' только на 'ш'. Вместо этого, когда я, возможно, не набираю достаточно быстро (или по любой другой причине), он начинает заменять 's' и 'h' по отдельности, давая мне 'сх'

Есть ли способ, которым я мог бы обойти это? может быть условие, которое ждет следующего персонажа или что-то.

Заранее спасибо!

1 ответ

Решение

Вы можете попытаться создать что-то самостоятельно, используя Input. Или, для удобства, используйте динамическую библиотеку Polythene regEx-Hotstring:

#persistent
#include hotstrings.ahk

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

return

:*:h::x
:*:sh::?
Другие вопросы по тегам