AutoHotKey CapsLock условие активации скрипта

AutoHotKey CapsLock условие активации скрипта

В AutoHotKey (AHK) я хотел просто обусловить свой скрипт.

Если Caps Lock выключен, ничего не происходит, если включен, скрипт выполняется и, конечно, обнаруживает любые изменения.

Вот моя попытка, но она не работает. Она позволяет выполнять скрипт с включенным или выключенным Caps Lock:

#Requires AutoHotKey v2.0
state := GetKeyState("CapsLock", "T")
if(state = 1)
{
LAlt & i::Send "{Up}"
}

решение1

Пользовательские комбинацииговорит:

Примечание: длякомбинации со стандартными клавишами-модификаторами, обычно лучшеиспользуйте стандартный синтаксис. Например, используйте<+с::а не LShift & s::.

В этом случае:

#Requires AutoHotKey v2.0

; LAlt + I
<!i::Send "{Up}"

<!— символ левой клавиши Alt.

ВидетьСимволы модификаторов горячих клавиш

Ксделать горячие клавиши или горячие строки контекстно-зависимыми, использовать#HotIfдиректива:

#Requires AutoHotkey v2.0

#HotIf GetKeyState("CapsLock", "T")

    <!i::Send "{Up}"
    <!k::Send "{Down}"

#HotIf  ; turn off context sensitivity

решение2

#Требует проверяет только версию AutoHotKey.

Используйте такой код:

GetKeyState, CapLck, CapsLock, T
if ( CapLck == "D" ) {          ; check key-down condition
  some statement
}

Связанный контент