2015-06-07 3 views
1

Полный код: http://pastebin.com/AX8iNRE6AHK сочетание клавиш вопрос

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

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

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

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

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

Заранее благодарен!

+0

FingerPrint (22) может быть бесполезными здесь и совершенно ненужными. Я не знаю, что это такое и что это за цель. возможно, из материалов gui, которые пришли с оригинальным сценарием, прежде чем я отредактировал, чтобы сопоставить нужные мне ключи. У оригинала каждый ключ был привязан только к одной букве – user127161

ответ

2

Вы можете либо попытаться что-то создать, используя Input. Или, что более удобно, используйте Полиэтилен динамичного regEx-Hotstring library:

#persistent 
#include hotstrings.ahk 

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

return 

:*:h::x 
:*:sh::? 
Смежные вопросы