Проблема с повторным переплетением Ctrl к Автогорячей клавише использования Capslock

Я использую AutoHotkey для повторного переплетения Ctrl к Capslock как это:

Capslock::Ctrl

Я также связал свои клавиши Home для перемещения, в то время как Capslock сохранен:

^h::Send {LEFT}
^j::Send {DOWN}
^k::Send {UP}
^l::Send {RIGHT}

Проблема, я могу держать Capslock и выпустить одну комбинацию перемещения, но последующие касания h, j, k или l при тихом содержании Capslock приводят к одной из тех букв, появляющихся в моем редакторе. Другими словами, это - как будто Capslock выпускается, даже при том, что я все еще удерживаю его. Если я держу фактическую клавишу Ctrl и использую привязку перемещения, она хорошо работает. Кто-либо знает, как исправить это?

3
задан 27.07.2010, 18:12

3 ответа

Решение было любезно отправлено на форуме AutoHotKey "VxE":

Capslock::
   Gui, 93:+Owner ; prevent display of taskbar button
   Gui, 93:Show, y-99999 NA, Enable nav-hotkeys: hjkl
   Send {LCtrl Down}
   KeyWait, Capslock ; wait until the Capslock button is released
   Gui, 93:Cancel
   Send, {LCtrl Up}
Return

#IfWinExist, Enable nav-hotkeys: hjkl

   *h::Send {Blind}{LCtrl Up}{Left}{LCtrl Down}
   *j::Send {Blind}{LCtrl Up}{Down}{LCtrl Down}
   *k::Send {Blind}{LCtrl Up}{Up}{LCtrl Down}
   *l::Send {Blind}{LCtrl Up}{Right}{LCtrl Down}

#IfWinExist, ; end context-sensitive block
3
ответ дан 08.12.2019, 01:08

Я думаю, что это - потому что ПК читает capslock как КЛАВИШУ-ПЕРЕКЛЮЧАТЕЛЬ. Заглавные буквы нажимаются, и это изменяет состояние, затем это нажимается снова, и состояние возвращается. Другие ключи неблокировки продолжают отправлять свой сигнал пока и каждый раз, когда они нажимаются.

0
ответ дан 08.12.2019, 01:08

Возможно, можно попробовать scancode отображающийся метод как это.

0
ответ дан 08.12.2019, 01:08

Теги

Похожие вопросы