
🖱 Як переназначити кнопки миші через 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+ годин на день, налаштуйте кнопки. Перший тиждень незвично, другий, зручно, через місяць ви перестанете розуміти, як люди живуть без цього.
Ось відео, де метод розбирається від встановлення до першого скрипту:



