2

В настоящее время я использую следующий код для изменения раскладки клавиатуры:

//vim.ahk
CapsLock::Send, {CTRLDOWN}{SHIFTDOWN}{SHIFTUP}{CTRLUP}{CTRLUP}
    return
!^CapsLock::CapsLock

CapsLock & j  :: Send  {Down}
CapsLock & k  :: Send {Up}
CapsLock & h  :: Send {Left}
CapsLock & l  :: Send {right}
CapsLock & p  :: Send {PGUP}
CapsLock & `; :: Send {PGDN}
CapsLock & ^  :: Send {home}
CapsLock & $  :: Send {end}

Достаточно ли стабилен этот код? Проблема в том, что иногда CapsLock нежелательно включается

Упадет: Я обнаружил, что CapsLock включается при нажатии любой клавишей, кроме указанных выше. (hkll;pae)

2 ответа2

2

добавьте это в начало вашего скрипта.

SetCapsLockState, AlwaysOff

!^CapsLock::CapsLock

Он должен остановить все события Capslock, которые вы не создаете.

http://www.autohotkey.com/docs/commands/SetNumScrollCapsLockState.htm

0

Я перестал возиться с CapsLock в качестве модификатора из-за соображений согласованности (без него вы потеряетесь на компьютере другого человека). Поэтому вместо CapsLock я использую ALT+SHIFT (!+) модификаторы, потому что это не распространено, но все же достаточно удобно для легкого доступа. Я смог повторить стрелки up/down/left/right (kjhl) с AutoHotkey, например, как это делает Vim, но не мог перемещаться по этим клавишам при использовании Windows ALT+TAB (см. Ниже, как я случайно нашел решение).

Затем я случайно наткнулся на решение использовать Vim-навигационные клавиши в Windows ALT+TAB без его исчезновения. Я не могу объяснить это, но это просто работает, и я опубликую свою текущую настройку и покажу вам разницу с моим случайным обнаружением.

AHK VIM-НАВИГАЦИЯ HOTKEY

Если эти ключи не подходят вам удобно, пожалуйста. изменить его по своему вкусу. Я просто предпочитаю иметь shortnavigation-keys (up/down/left/right) соответствующие vim, и я добавил настройки только для longnavigation-keys (home/end/pgup/pgdn)

!+[::SendInput, {Escape} !+k::SendInput, {Up} !+j::SendInput, {Down} !+h::SendInput, {Left} !+l::SendInput, {Right} !+p::SendInput, {Home} !+u::SendInput, {End} !+o::SendInput, {PgUp} !+i::SendInput, {PgDn} !+0::SendInput, ^{Tab} ; tabmove-forward !+9::SendInput, !^{Tab} ; idk why, but doesn't tabmove-backward

WIN ALT+TAB с VIM-NAVIGATIONKEYS (статическое меню, из-за другого предварительного нажатия горячей клавиши)

  • активировать !+9::SendInput, !^{Tab}
    • После нажатия клавиш ALT+SHIFT+9 продолжайте удерживать клавиши ALT+SHIFT и переходите с помощью kjhl:D

ВЫИГРАТЬ ALT+TAB с VIM-NAVIGATIONKEYS (невозможно, потому что меню закрывается)

  • ALT+TAB
    • Теперь продолжайте удерживать Alt, а затем удерживайте Shift aswell и теперь начинайте использовать имитируемые клавиши навигации vim, которая называется kjhl, обратите внимание, что окно исчезает :(
НОТА
  • Общие клавиши - это типичные клавиши, используемые для основных функций, таких как вырезание / копирование / вставка и переключение между вкладками. Все они используют только комбинацию одного модификатора и нажатия одной клавиши, если только это не для навигации по виртуальному рабочему столу Windows.
    • например, для переключения виртуального рабочего стола Windows используется сочетание клавиш CTRL+WIN+LEFT / RIGHT
    • Это хорошая идея, чтобы по-прежнему использовать обычные горячие клавиши и не слишком настраивать их, если вы не можете доказать, почему ваш путь лучше
  • В чем разница между короткими и длинными навигационными клавишами?
    • клавиши быстрого доступа: вверх / вниз / влево / вправо
    • longnavgiation-keys: home / end / pgup / pgdn

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .