Недавно прочитал что люди по прежнему сражаются с Windows за удобное переключение раскладок клавиатуры.
Делюсь своим методом для трёх языков так как думаю что каждый у кого больше двух раскладок клавиатуры довольно часто промахивается по нужному языку. Я как-то заморочился и настроил для себя kanata - небольшую утилиту для переназначения клавиатуры.
После настройки вы получите возможность переключаться между двумя языками при помощи CAPS и при необходимости включать третий язык (кому надо и четвёртый) при помощи системного сочетания клавиш - в моем случае это Ctrl+Shift+3 ну либо Win+Space (работает как и раньше циклично).
CAPS по-прежнему будет работать на длинное нажатие!
Кстати, способ будет работать и для двух языков также хорошо.
Проходим к официальным релизам kanata и скачиваем windows-binaries-x64.zip или windows-binaries-arm64.zip. Из архива берем kanata_windows_tty_winIOv2_***.exe и переименовываем его для простоты в kanata.exe.
Следующим шагом настройте переключение языков на конкретные сочетания клавиш
En -
Ctrl+Shift+1Ru -
Ctrl+Shift+2Any - у меня
Ctrl+Shift+3для единообразия - но для третьего языка это уже не имеет значения.
Дальше несколько шагов (я пишу как у меня, вы меняете по желанию - тут все просто как дрова).
Создаем папку
kanataна дискеc:Копируем туда нашу утилиту и там же создаем файл конфигурации
kanata.kbdСоздаем короткий скрипт
kanata.cmdдля запуска и добавляем его вshell:startup
kanata.cmd
cd "c:\kanata" START /MIN C:\Windows\System32\conhost.exe --headless kanata.exe
kanata.kbd
(defcfg process-unmapped-keys yes) (defsrc caps lsft) ;; cлой для каждого языка (deflayer en_layer @caps_lock_toggle1 _) (deflayer ru_layer @caps_lock_toggle2 _) (defalias ;; сменить слой внутри kanata + послать сигнал системе cap-short1 (multi (layer-switch ru_layer) ctl lsft 2) cap-short2 (multi (layer-switch en_layer) ctl lsft 1) ;; 300мс для обычного CAPS cap-long caps caps_lock_toggle1 (tap-hold 100 300 @cap-short1 @cap-long) caps_lock_toggle2 (tap-hold 100 300 @cap-short2 @cap-long) )
