
🖱 Как переназначить кнопки мыши через AutoHotkey и ускорить работу
Вы купили мышь с дополнительными кнопками, а пользуетесь только левой, правой и колёсиком. Кнопки под большим пальцем простаивают, хотя могли бы закрывать вкладки, переключаться между ними, дублировать клик и открывать инструменты разработчика. Месяц за месяцем вы тянетесь к клавиатуре за сочетаниями, которые мышь способна выполнять сама.
Проблема не в «неправильной» мыши. Проблема в том, что штатное ПО производителя либо не позволяет привязать к кнопке сложное действие, либо глючит при смене активного окна. Решение, заслать с кнопок «пустые» сигналы и перехватить их скриптом, который понимает контекст приложения.
💡 Быстрый обзор:
- Назначаем дополнительным кнопкам мыши виртуальные клавиши F13-F24 через драйвер: они ничего не делают в системе, но скрипт их «слышит»
- Устанавливаем AutoHotkey и пишем скрипт: для каждого приложения свой набор действий, от закрытия вкладки до удержания Alt в Photoshop
- Через Window Spy цепляемся к любому exe-файлу: метод работает в браузере, редакторе кода, видеоплеере, где угодно
Что такое AutoHotkey и зачем он мыши
AutoHotkey (AHK), бесплатный язык автоматизации для Windows с открытым исходным кодом. Он умеет перехватывать нажатия клавиш и кнопок мыши, отправлять произвольные комбинации в активное окно и различать приложения по имени исполняемого файла. Именно последнее делает его идеальным слоем между «тупым» железом и софтом: одна и та же кнопка мыши делает разное в Chrome, Photoshop и на рабочем столе.
На момент написания актуальна версия AHK v2.0, она быстрее, строже к синтаксису и избавилась от устаревших команд вроде #NoEnv. Приводимые ниже скрипты написаны под v2, но логика переносится и на v1 (она всё ещё поддерживается для обратной совместимости).
Альтернатива без скриптов, утилита XMBC (X-Mouse Button Control) с графическим интерфейсом. Она тоже различает приложения, поддерживает до 10 слоёв на профиль и не требует ни строчки кода. Минус: переносимость между компьютерами нулевая, а возможности ограничены тем, что заложил разработчик. AHK гибче, скрипт копируется вместе с остальными настройками системы.
Шаг 1: привязываем кнопки к виртуальным клавишам F13-F24
Обычные функциональные клавиши (F1-F12) заняты, они что-то делают в каждом приложении. Но Windows знает и F13-F24, это реально существующие скан-коды, на которые ни одна программа не вешает обработчики по умолчанию. Они идеальны как «пустышки»: драйвер мыши шлёт системе F15, система никому его не передаёт, кроме нашего AHK-скрипта.
Привязка через драйвер мыши
Откройте фирменное ПО вашей мыши, Logitech G Hub, Razer Synapse, SteelSeries Engine или универсальное. Найдите вкладку назначения кнопок и для каждой дополнительной кнопки выберите «Назначить клавишу» или «Keystroke assignment». Введите F13, F14, F15…, по одной на каждую кнопку. Не бойтесь, что физически клавиш F13-F24 на клавиатуре нет: драйвер отправит скан-код, и Windows его примет.
Как «нажать» F15, если такой кнопки нет? Сохраните этот AHK-сниппет в файл send.ahk и запустите:
1 ; send.ahk — эмулирует нажатие F15 через 5 секунд 2 Sleep 5000 3 Send "{F15}" 4 ExitApp
Запустите, быстро переключитесь в окно драйвера мыши, кликните в поле «Назначить клавишу», через 5 секунд AHK пошлёт F15, драйвер его зарегистрирует. Повторите для каждой кнопки, меняя номер F-клавиши.

Шаг 2: ставим AutoHotkey и создаём базовый скрипт
Скачайте AHK с официального сайта (выбирайте версию v2.0). После установки создайте текстовый файл с расширением .ahk, например, mouse.ahk. Базовая шапка скрипта:
1 ; mouse.ahk — базовая настройка AHK v2 2 #Requires AutoHotkey v2.0 3 SendMode "Input" 4 SetWorkingDir A_ScriptDir 5 SetTitleMatchMode 2 6 #MaxHotkeysPerInterval 300 7 #InstallMouseHook
Разбор: SendMode "Input", самый быстрый и надёжный метод отправки нажатий; SetTitleMatchMode 2, ищет подстроку в заголовке окна (достаточно части названия); #InstallMouseHook, активирует перехват кнопок мыши на низком уровне.
Автозапуск при старте Windows
Нажмите Win+R, введите shell:startup, откроется папка автозагрузки. Зажмите Alt и перетащите mouse.ahk в эту папку: создастся ярлык. Скрипт будет запускаться вместе с системой. Редактировать .ahk-файл удобно в Sublime Text или Notepad++, оба подсвечивают синтаксис AHK.
Шаг 3: пишем скрипт для браузера
Браузер, полигон для кнопок мыши. Вот раскладка, покрывающая основные навигационные действия:
1 ; Chrome / любой браузер на Chromium 2 #HotIf WinActive("ahk_exe chrome.exe") or WinActive("ahk_exe msedge.exe") 3 ; Ctrl+W = закрыть вкладку 4 F14::Send "^w" 5 ; Ctrl+Shift+C = инструменты разработчика (inspect element) 6 F22::Send "^+c" 7 ; Ctrl+PageDown = следующая вкладка 8 F16::Send "^{PgDn}" 9 ; Ctrl+PageUp = предыдущая вкладка 10 F17::Send "^{PgUp}" 11 ; Alt+Left = назад по истории 12 F18::Send "!{Left}" 13 ; F5 = перезагрузить вкладку 14 F20::Send "{F5}" 15 ; Ctrl+Shift+T = восстановить закрытую вкладку 16 F23::Send "^+t" 17 #HotIf
Скопируйте блок в mouse.ahk, заменив номера F-клавиш на те, которые вы назначили в драйвере. После сохранения файла нажмите Ctrl+R (Reload script) из трей-меню AHK, новые привязки заработают мгновенно, без перезагрузки браузера.
#HotIf ограничивает действие блока, кнопки работают только когда Chrome или Edge в фокусе. Переключились в проводник, те же F14-F23 могут делать другое или ничего.
Шаг 4: скрипт для Photoshop и графического планшета
Пример посложнее: Photoshop, где кнопки не просто шлют сочетание, а удерживают клавишу-модификатор. Это незаменимо при работе с пером Wacom, кнопки на пере включают пипетку цвета и перетаскивание холста:

1 ; Adobe Photoshop 2 #HotIf WinActive("ahk_exe photoshop.exe") 3 ; Удерживать Alt = пипетка цвета (пока кнопка нажата) 4 F14:: 5 { 6 if !GetKeyState("Alt") 7 Send "{Alt down}" 8 } 9 F14 Up::Send "{Alt up}" 10 11 ; Alt+Ctrl+Z = шаг назад (вместо простого Undo) 12 F16::Send "!^z" 13 14 ; Shift+Ctrl+Z = шаг вперёд 15 F17::Send "+^z" 16 17 ; Удерживать Space = перетаскивание холста 18 F18:: 19 { 20 if !GetKeyState("Space") 21 Send "{Space down}{Click down}" 22 } 23 F18 Up::Send "{Space up}{Click up}" 24 25 ; Ctrl+S = сохранить 26 F19::Send "^s" 27 28 ; Ctrl+N = новый документ 29 F20::Send "^n" 30 31 ; Alt+Shift+Ctrl+S = Export → Save for Web 32 F23::Send "!+^s" 33 #HotIf
Обратите внимание на конструкцию F14:: с фигурными скобками, это многострочный хоткей. GetKeyState("Alt") страхует от повторного зажатия модификатора, если кнопка дрогнула. F14 Up:: срабатывает при отпускании, возвращает Alt в исходное положение.
Тот же подход примени́м к любому софту, где нужны модификаторы: Figma (Space для драг-хенда), Blender (Shift для точного перемещения), DaVinci Resolve (Alt для копирования клипа).
Шаг 5: глобальные действия по умолчанию
Когда ни одно из приложений не в фокусе, кнопки делают что-то универсальное:
1 ; Глобальные привязки (работают везде, где нет специфичного #HotIf) 2 F14::Send "{Backspace}" ; назад (аналог браузерной кнопки) 3 F15::Send "{Click 2}" ; двойной клик 4 F19::Send "{MButton}" ; средняя кнопка (удобнее чем жать на колёсико) 5 F21::Send "#d" ; Win+D = свернуть все окна (boss key)
Двойной клик одной кнопкой, личный фаворит автора оригинальной методики. После недели использования физический дабл-клик вызывает недоумение: зачем стучать дважды, если можно один раз?
Альтернатива без кода: X-Mouse Button Control
Если скрипты не ваш путь, присмотритесь к X-Mouse Button Control (XMBC). Это бесплатная утилита с графическим интерфейсом, которая умеет то же самое: профили под конкретные .exe, до 10 слоёв на профиль, переключение слоёв по горячей клавише.
Плюсы XMBC: ставится за минуту, настройка, выбор действия из выпадающего списка, не надо править код. Минусы: меньше гибкости (нельзя написать условие с GetKeyState), а конфигурация живёт в реестре и редко выживает при переезде на другой компьютер. Для базовых сценариев («закрыть вкладку», «переключить трек»), отличный выбор. Для многоэтажных конструкций с удержанием модификаторов, только AHK.
Как целить скрипт в любое приложение через Window Spy
Чтобы добавить поддержку новой программы, нужно узнать имя её исполняемого файла. В трее нажмите правой кнопкой на значок AHK и выберите Window Spy. Кликните на окно целевой программы, Window Spy покажет:
- Window Title, заголовок окна (можно целить по нему)
- ahk_exe, имя процесса (например
firefox.exeилиcode.exeилиnotion.exe) - ahk_class, класс окна (полезно для различения диалогов внутри приложения)
Добавьте новый блок в mouse.ahk:
1 #HotIf WinActive("ahk_exe firefox.exe") 2 F14::Send "^w" 3 ; ... ваши действия 4 #HotIf
Сохраните, Ctrl+R для перезагрузки скрипта, готово. Приём универсален: видеоплееры (VLC, PotPlayer), мессенджеры (Telegram, Discord), IDE (VS Code, PhpStorm), файловые менеджеры, всё, что имеет .exe.
Бонус: управление музыкой глобальными медиа-клавишами
Если на клавиатуре нет мультимедийных кнопок, мышь их заменит. Следующие действия глобальны и не требуют обнаружения окна плеера:
1 ; Управление медиа — работает всегда 2 F18::Send "{Media_Prev}" ; предыдущий трек 3 F19::Send "{Media_Play_Pause}" ; пауза / воспроизведение 4 F20::Send "{Media_Next}" ; следующий трек 5 F22::Send "{Volume_Down}" ; тише 6 F23::Send "{Volume_Up}" ; громче 7 F14::Send "{Volume_Mute}" ; выключить звук
Работает с любым плеером, который слушается системные медиа-события: Spotify, YouTube Music (PWA), AIMP, foobar2000, даже встроенный проигрыватель Windows.
⁉️🤔 Частые вопросы
Зачем нужны F13-F24, если AHK может перехватывать нажатия мыши напрямую?
AHK различает кнопки мыши как
XButton1иXButton2, это только две дополнительных. У игровых мышей их бывает 8-12, и драйвер всё равно выступает посредником. Связка «драйвер → F13-F24 → AHK» масштабируется на любое количество кнопок, а драйвер не пытается выполнить действие самостоятельно, он просто шлёт код клавиши. Если скрипт AHK упадёт, кнопки мыши перестанут что-либо делать, а не начнут выполнять неожиданные макросы из драйвера.
Работает ли метод на Windows 11?
Да. F13-F24, это стандартные скан-коды USB HID, они не привязаны к версии Windows. AHK v2.0 официально поддерживает Windows 10 и 11. На ARM-версиях Windows (Surface Pro X) некоторые драйверы мышей могут не отдавать виртуальные клавиши, но Logitech G Hub и Razer Synapse работают без проблем.
Что делать, если драйвер мыши не даёт назначить F13-F24?
Некоторые офисные мыши с урезанным ПО ограничены F1-F12. Варианта два: попробовать утилиту X-Mouse Button Control, она умеет назначать F13-F24 независимо от модели мыши, либо использовать
XButton1/XButton2напрямую в AHK. Всего две кнопки, но для старта хватит.
Можно ли перенести скрипт на другой компьютер?
Да. Скопируйте файл
mouse.ahkи папку с AutoHotkey Portable (есть на официальном сайте). Переназначьте кнопки в драйвере мыши на новом ПК на те же F-клавиши, всё заработает без изменений в коде скрипта.
Не замедляет ли AHK работу системы?
В простое AHK потребляет менее 5 МБ оперативной памяти и 0% процессора, официальная документация подтверждает минимальный footprint. Хук срабатывает только при нажатии отслеживаемой клавиши, в остальное время скрипт спит. Для сравнения: фирменное ПО Razer Central в простое «весит» 200-400 МБ.
Стоит ли овчинка выделки
Первичная настройка занимает минут 20: привязать кнопки в драйвере, скопировать сниппеты, поправить номера F-клавиш под себя. Дальше скрипт живёт годами и переезжает с компьютера на компьютер вместе с остальным конфигом. Отдачи, две.
Первая: экономия микродвижений. Закрытие вкладки без Ctrl+W (одно нажатие вместо двух), переключение вкладок без Ctrl+Tab, цветопипетка в Photoshop без отрыва пера от планшета. За день набираются сотни операций, каждая по отдельности копеечная, вместе, часы за год.
Вторая: эффект «магии». Когда коллега смотрит на ваш экран и не понимает, как вы переключаетесь между окнами, не касаясь клавиатуры, это производит впечатление. За этим стоит не магия, а 40 строк AHK и полчаса настройки.
Если работаете с мышью по 6+ часов в день, настройте кнопки. Первая неделя непривычна, вторая, удобна, через месяц вы перестанете понимать, как люди живут без этого.
Вот видео, где метод разбирается от установки до первого скрипта:



