Skip to main content

Смена раскладки в Windows по нажатию Caps Lock

В macOS можно очень удобно назначить переключение раскладки на Caps Lock (а когда нужно включить именно Caps — просто зажать его либо нажать Shift+Caps Lock / Ctrl+Caps Lock), а в новых версиях вообще есть отдельная клавиша переключения языка. Из-за специфики работы приходится работать на Windows, а потому захотелось подобного решения, и оно есть — AutoHotkey.

Скачиваем AutoHotkey с официального сайта.

Открываем в проводнике директорию с автозапуском:

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Создаем новый текстовый файл с таким содержимым:

SendMode Input
SetWorkingDir %A_ScriptDir% CapsLock::Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}{Ctrl Down}{Shift Down}{Shift Up}{Ctrl Up}

Переименовываем файл в caps_to_change_kb_layout.ahk (название любое, расширение должно быть ahk).

Запускаем файл. Впоследствии он будет запускаться автоматически при входе в систему.

P.S. Можно указать в скрипте только нужную комбинацию для переключения раскладки — Ctrl+Shift или Alt+Shift. Локально я использую Ctrl+Shift, а на удаленных серверах по RDP по умолчанию настроен Alt+Shift, поэтому в скрипте обрабатываются одновременно оба варианта.

P.P.S. Переключение раскладки по Caps Lock не работает в оснастке Active Directory и иногда слетает при подключении по RDP (в последнем случае нужно просто через ПКМ по иконке AutoHotkey в трее перезапустить скрипт).

UPD: В новой версии AutoHotkey 2.0 изменился синтаксис, поэтому скрипт caps_to_change_kb_layout.ahk будет выглядеть следующим образом:

#Requires AutoHotkey v2.0
CapsLock:: {
  Send '{Alt Down}{Shift Down}{Shift Up}{Alt Up}{Ctrl Down}{Shift Down}{Shift Up}{Ctrl Up}'
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *