Неверная горячая клавиша: Ctrl & CapsLock & L - PullRequest
0 голосов
/ 05 апреля 2020

Чтобы сопоставить CapsLock с Esc, если нажать только, и использовать его в качестве клавиши-модификатора, в противном случае я использую этот сценарий:

#InstallKeybdHook
SetCapsLockState AlwaysOff
CapsLock::Send {esc}
CapsLock & h::Left
CapsLock & j::Down
CapsLock & k::Up
CapsLock & l::Right
return

Для перемещения по виртуальным рабочим столам в Windows, я хотел теперь карту Ctrl & CapsLock & l::^#Right. К сожалению, это невозможно и выдает ошибку: Invalid hotkey. Кто-нибудь знает почему?

1 Ответ

1 голос
/ 05 апреля 2020

Вместо переназначения я использовал бы команду Send для определения новых горячих клавиш. Переопределение не является горячей клавишей. Повторное сопоставление - это две горячие клавиши (клавиши и клавиши), каждая из которых имеет подстановочный символ, как показано в документации .

Комбинации трех или более клавиш (Ctrl & CapsLock & l) не поддерживаются. Или попробуйте это так:

#InstallKeybdHook
SetCapsLockState AlwaysOff

CapsLock::Send {esc}
CapsLock & h::Send {Left}
CapsLock & j::Send {Down}
CapsLock & k::Send {Up}

CapsLock & l::
If GetKeyState("Ctrl", "P")
    SendEvent {LWin down}{LCtrl down}{Right down}{LWin up}{LCtrl up}{Right up}    ; switch to next virtual desktop
else
    Send {Right}
return
...