Autohotkey: требовать Capslock для Hotstring

Следующий код autohotkey

:*:\alpha::α

приводит к тому, что текст строки автозамены «\ alpha» непрерывно заменяется соответствующим символом UTF8 «α».

Однако было бы довольно неприятно, если бы эта замена всегда была включена. Поэтому я решил активировать его с помощью клавиши CapsLock. Итак, как мне включить указанную выше строку быстрого доступа только тогда, когда клавиша CapsLock была нажата непосредственно перед комбинацией строк?


person logical x 2    schedule 03.01.2018    source источник


Ответы (1)


; The tilde prefix (~) prevents AHK from blocking key-down/up events.

~Capslock Up:: Send, {Capslock Up}


; The #If directive creates context-sensitive hotkeys and hotstrings:

#If (A_PriorHotkey = "~Capslock Up")

    :*:\alpha::α

#If

https://autohotkey.com/docs/commands/_If.htm

person user3419297    schedule 03.01.2018
comment
если вы хотите писать сценарии с помощью блокнота, вы можете немного изменить сценарий :*:\alpha:: SendInput {U+0251} ;Send Unicode symbol alpha return UnicodeTable - person stevecody; 04.01.2018
comment
Это сработало. Однако тогда Capslock все еще действует! Я решил это, добавив SetCapsLockState AlwaysOff, и это решило это для меня. Спасибо! :) - person logical x 2; 04.01.2018