Использование Caps Lock как модификатора с AutoHotkey

Быстрые ссылки
- Основы
- AutoHotkey 101
- Установка AutoHotkey и получение скрипта
- Как это работает?
Основы
Клавиша Caps Lock занимает удобное место на клавиатуре, но редко используется эффективно. Приведённый ниже скрипт позволяет использовать Caps Lock как модификатор: например, Caps Lock + G — поиск в Google выбранного текста, Caps Lock + D — определение слова в словаре. Сочетания настраиваются.
Главное преимущество: скрипт сохраняет обычную функцию Caps Lock — если быстро нажать клавишу дважды, она переключается в режим заглавных букв. Если не двойное нажатие, Caps Lock ведёт себя как модификатор.
Важно: скрипт использует буфер обмена для промежуточного хранения выбранного текста. Перед установкой прочтите раздел о безопасности и конфиденциальности.
AutoHotkey 101
AutoHotkey — бесплатная утилита для Windows, которая запускает пользовательские скрипты в фоне. Скрипты ждут нажатий клавиш и выполняют действия: запуск программ, эмуляция ввода, изменение сочетаний клавиш. Это простой способ переназначить клавиши или добавить горячие комбинации без сторонних утилит.
Краткое определение: AutoHotkey — язык сценариев для автоматизации вводимых действий в Windows.
Примеры применения: блокировка клавиши Windows в полноэкранных играх, создание макросов для офисных задач, быстрый поиск выделенного текста в интернете.
Установка AutoHotkey и получение скрипта
- Скачайте AutoHotkey с официального сайта и установите.
- Скачайте ZIP с CapsLock Modifier скриптом.
- Извлеките файл .ahk в любую папку.
- Чтобы запустить скрипт, щёлкните правой кнопкой по файлу и выберите «Запустить скрипт».

После запуска скрипт работает в фоне. Чтобы быстро включить/выключить обычный Caps Lock — дважды быстро нажмите клавишу Caps Lock. Если не делать двойное нажатие, клавиша используется как модификатор.
Готовые сочетания в базовом скрипте:
- Caps Lock + d — найти определение слова в словаре.
- Caps Lock + g — поиск в Google выделенного текста.
- Caps Lock + t — поиск в тезаурусе.
- Caps Lock + w — поиск на Wikipedia.
Чтобы добавить собственные сочетания, достаточно знание синтаксиса AutoHotkey (ниже есть примеры).
Для управления: найдите иконку AutoHotkey в области уведомлений (зелёный фон с белой буквой H). Чтобы остановить скрипт, щёлкните правой кнопкой по иконке и выберите «Выход».

Связанная статья: Как написать скрипт AutoHotkey.
Как это работает?
Откройте скрипт через «Правка скрипта» (Edit Script) — он откроется в Блокноте. Код небольшой и читаемый; рекомендуется просмотреть его перед запуском и понять, что он делает.
Ключевая часть, которая отвечает за переключение Caps Lock при двойном нажатии, выглядит так:
CapsLock::
KeyWait, CapsLock ; Wait forever until Capslock is released.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 if CapsLock not down within 0.2 seconds.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; Is a double tap on CapsLock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Toggle the state of CapsLock LED
}
returnЭтот блок проверяет, было ли быстрое повторное нажатие (double tap) и переключает состояние Caps Lock. В противном случае скрипт перехватывает Caps Lock и использует его как модификатор для сочетаний.
Ниже — полный скрипт (оригинал). Скопируйте и вставьте в .ahk, если хотите протестировать «как есть».
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
#SingleInstance FORCE ; Skip invocation dialog box and silently replace previously executing instance of this script.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;================================================================================================
; CapsLock processing. Must double tap CapsLock to toggle CapsLock mode on or off.
;================================================================================================
; Must double tap CapsLock to toggle CapsLock mode on or off.
CapsLock::
KeyWait, CapsLock ; Wait forever until Capslock is released.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 if CapsLock not down within 0.2 seconds.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; Is a double tap on CapsLock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Toggle the state of CapsLock LED
}
return
;================================================================================================
; Hot keys with CapsLock modifier. See https://autohotkey.com/docs/Hotkeys.htm#combo
;================================================================================================
; Get DEFINITION of selected word.
CapsLock & d::
ClipboardGet()
Run, http://www.google.com/search?q=define+%clipboard% ; Launch with contents of clipboard
ClipboardRestore()
Return
; GOOGLE the selected text.
CapsLock & g::
ClipboardGet()
Run, http://www.google.com/search?q=%clipboard% ; Launch with contents of clipboard
ClipboardRestore()
Return
; Do THESAURUS of selected word
CapsLock & t::
ClipboardGet()
Run http://www.thesaurus.com/browse/%Clipboard% ; Launch with contents of clipboard
ClipboardRestore()
Return
; Do WIKIPEDIA of selected word
CapsLock & w::
ClipboardGet()
Run, https://en.wikipedia.org/wiki/%clipboard% ; Launch with contents of clipboard
ClipboardRestore()
Return
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;================================================================================================
; Clipboard helper functions.
;================================================================================================
ClipboardGet()
{
OldClipboard:= ClipboardAll ;Save existing clipboard.
Clipboard:= ""
Send, ^c ;Copy selected test to clipboard
ClipWait 0
If ErrorLevel
{
MsgBox, No Text Selected!
Return
}
}
ClipboardRestore()
{
Clipboard:= OldClipboard
}
Объяснение ключевых частей
- KeyWait, CapsLock — ждёт отпускания клавиши, чтобы корректно распознать одиночное или двойное нажатие.
- T0.2 — таймаут 0.2 секунды для распознавания двойного нажатия; можно увеличить для медленного нажимания.
- SetCapsLockState — переключает светодиод состояния Caps Lock и внутреннее состояние.
- Сочетания CapsLock & g:: и т. п. — создают пользовательские «модифицированные» комбинации.
- ClipboardGet/ClipboardRestore — временно сохраняют текущий буфер обмена, кладут туда выделенный текст, выполняют команду, затем восстанавливают буфер.
Настройка и расширение: примеры
- Добавить Caps Lock + S для поиска в Slack/Teams: замените Run на URL или вызов приложения.
- CapsLock + Enter — вставить шаблон текста: используйте SendInput для симуляции ввода.
- Использовать CapsLock + цифры для запуска приложений: CapsLock & 1:: Run, “C:\Program Files\App\app.exe”
Пример: добавление сочетания для поиска в DuckDuckGo:
CapsLock & g::
ClipboardGet()
Run, https://duckduckgo.com/?q=%clipboard%
ClipboardRestore()
ReturnАльтернативные подходы (когда это не подходит)
- Если нужна постоянная аппаратная переназначенность (без скриптов), используйте PowerToys Keyboard Manager или редактирование реестра/SharpKeys. Эти решения работают на уровне ОС, но не дают логики «двойного нажатия» и гибкости.
- На рабочих станциях с жёсткой политикой безопасности администраторы могут запретить запуск AHK-скриптов — тогда потребуется согласование или централизованное распространение через управление конфигурацией.
Безопасность и конфиденциальность
- Clipboard: скрипт временно получает доступ к буферу обмена. Избегайте запуска на машинах с чувствительной информацией (пароли, банковские данные) или внесите исключения.
- Проверяйте любой скрипт перед запуском: откройте через «Правка скрипта» и прочитайте.
- Для корпоративного деплоя обсудите согласованную подпись/развертывание с ИТ.
Важно: не загружайте и не запускайте скрипты из сомнительных источников.
Совместимость и примечания по версиям
- Скрипт написан в синтаксисе AutoHotkey v1 (обычный .ahk). AutoHotkey v2 имеет иной синтаксис — перед перенесением проверьте перевод команд.
- Работает в Windows 7, 8, 10, 11 при установленном AutoHotkey. В некоторых окружениях с политиками безопасности запуск скриптов может быть ограничен.
Методология тестирования и критерии приёмки
Мини-метод: установите, запустите, выполните следующие проверки.
Критерии приёмки
- Двойное быстрое нажатие Caps Lock переключает обычный режим заглавных букв.
- При одиночном удержании Caps Lock + G/D/T/W выполняются соответствующие поиски для выделенного текста.
- Буфер обмена восстанавливается к прежнему содержимому после выполнения каждой команды.
- Скрипт корректно стартует при двойном клике и корректно завершается через меню трея («Выход»).
Тест-кейсы
- Выделить текст, нажать CapsLock+g — откроется браузер с результатами поиска.
- Ничего не выделено, нажать CapsLock+d — появится сообщение «No Text Selected!». (Поведение по умолчанию)
- Быстро дважды нажать Caps Lock — светодиод Caps Lock меняет состояние.
Роли: чек-листы для разных пользователей
Power user:
- Скопировать скрипт в папку автозагрузки.
- Подогнать таймаут двойного нажатия под свой стиль.
- Добавить 5–10 своих сочетаний.
Администратор (корпоративный):
- Проверить политику исполнения скриптов.
- Подписать и развернуть через централизованный менеджер.
- Рассмотреть ограничение доступа к буферу обмена.
Новичок:
- Открыть скрипт в блокноте и прочитать.
- Скопировать оригинал и запускать только проверенные версии.
Быстрый справочник и подсказки
- Увеличьте T0.2 до T0.35, если у вас медленные руки.
- Если скрипт не реагирует, проверьте, не блокирует ли антивирус.
- Для AutoHotkey v2 потребуется переписать функции, например ClipboardAll и синтаксис вызова функций.
Решение: стоит ли использовать?
flowchart TD
A[Нужна быстрая локальная автоматизация?] -->|Да| B{Запрещены скрипты в окружении?}
A -->|Нет| Z[Не использовать — выбрать PowerToys/реестр]
B -->|Да| Z
B -->|Нет| C[Установить AutoHotkey]
C --> D[Запустить и протестировать скрипт]
D --> E[Адаптировать сочетания под себя]
E --> F[Внедрить в автозагрузку]Итог и рекомендации
- Скрипт превращает Caps Lock в удобный модификатор и при этом позволяет оставаться привычному поведению клавиши через двойное нажатие.
- Подходит для пользователей, которые любят быстрые сочетания и не против небольшой автоматизации через скрипты.
- Всегда просматривайте и тестируйте скрипты перед применением, учитывайте риски, связанные с буфером обмена.
Ключевые шаги: установить AutoHotkey, запустить скрипт, протестировать сочетания, при необходимости изменить таймаут или добавить собственные комбинации.
Спасибо автору оригинальной идеи и кода — этот подход удобен и даёт хорошую гибкость для персональной автоматизации.
Похожие материалы
Как записать системный звук на любом устройстве
Добавить подменю в контекстное меню Windows 11
Как бросить Reddit — 9 практических советов
Использование Adobe Bridge без Photoshop и Lightroom
Блокировка и разблокировка пользователей в Discord