Сейчас покажу, как можно превратить клаву за 500 р в почти что Stream Deck за 15 минут. Для начала, бежим по ссылочке и качаем и устанавливаем программу AutoHotKey.
Я скачивал v2.0
Далее, скачиваем
1) Interception Driver:
https://github.com/oblitum/Interception/releases/
2) AutoHotInterception:
https://github.com/evilC/AutoHotInterception/releases
3) папку с заготовкой скрипта (тут качаем по любой удобной ссылке):
https://www.mediafire.com/file/5ihumlspl46cz45/NewMacroboard.zip/file
https://disk.yandex.ru/d/UOrOe0jDcHwB_Q
Выносим все это барахло куда-то в одном место
Заходим в папку Interception и переименовываем «command line installer» в «command»
Круто, молодцы! Теперь надо установить install-interception.exe, который находится в папке command. Запускаем cmd от имени администратора:
Командой cd переходим в тот диск, где лежат эти три папки. У меня они на рабочем столе, соответственно диск С:
Прописываем путь до install-interception.exe в конце добавив /install
Нажимаем Enter, установка ОБЯЗАНА пройти успешно. После этого перезагружаемся.
Отлично, теперь нужно достать id клавиатуры, на которую будем навешивать макросы. Заходим в Interception → library и копируем папки x64 и x86
Заходим в AutoHotInterception → AHK v2 → Lib и вставляем скопированные папки.
Скачиваем файл AutoHotInterception.dll
https://disk.yandex.ru/d/Q3RXQsZDlI-ymQ
И перекидываем его в эту же папку (AutoHotInterception → AHK v2 → Lib)
В папке AHK v2 тыкаем на файл Monitor.ahk
Тут у нас открывается окно с подключенными девайсами
Наша задача — путем выделения галочкой попеременно каждого устройства найти то, которое мы хотим использовать для макросов. Выделяем одно устройство — тыкаем на кнопку на клавиатуре для макросов. Если «попали» в нужную, будет примерно такая картина:
Как видим, у необходимой мне клавиатуры id (0×1C4F, 0×0002) — копируем его.
Переходим в папку NewMacroboard, открываем файл NewMacroboard.ahk в любом удобном редакторе кода.
Меняем строчку
id1 := AHI.GetDeviceIdFromHandle(false, "ACPI\VEN_PNP&DEV_0303")
на
id1 := AHI.GetKeyboardId(id клавиатуры который мы копировали выше)
Получится так:
Если вдруг захотите вместо клавиатуры использовать мышь, замените
id1 := AHI.GetKeyboardId(ваш ID)
на
id1 := AHI.GetMouseId(ваш ID)
Сохраняем, закрываем. Для удобства запуска я храню папку NewMacroboard на рабочем столе, а сам скрипт запускаю через ярлык, чтобы каждый раз не залезать в папку.
Теперь в скрипте NewMacroboard.ahk можно писать практически что угодно. Любой бред, который выдумает ваша больная фантазия для автоматизации и ускорения работы — все это пишем в этом скрипте.
Что касается функционала AutoHotKey, то мне, наверно, проще оставить ссылку на сайт с командами:
https://ahk-wiki.ru/commandlist
Ибо вариантов использования нереально много. Сделать буфер обмена с несколькими ячейками памяти? Легко. После копирования текста отсортировать его? Тоже можно. Тут ограничитель — ваша фантазия. Конкретно у меня написаны макросы для:
вставки нод или связок нод в Nuke
позиционирование окон приложений на мониторах (у меня 3 монитора и делать это все мышкой долго и неприятно)
Что ж, это был общий тутор, в котором показан процесс настройки всей этой байды для вашей клавиатуры. Более подробные примеры и описание того, как все это работает у меня, будет в следующей статье.
Не прощаюсь! :)
Мой телеграмм канал с полезными инструментами для работы в Nuke и не только.
Комментарии (25)
Maxim_Q
17.07.2024 06:09+1Также можно и с мышкой сделать, вот код для закрытия одной вкладки в браузере. При работе в браузере не нужно тянутся к клавиатуре или мышкой тыкать на крестик. Просто нажимаешь дополнительную кнопку на мышке(ели она есть) и вкладка закрывается. Этим я чаще всего пользуюсь:
; Этот код поместить в файл: AutoHotkeyU64.ahk ; ------- XButton2 - (шершавая кнопка) -------- XButton2:: IfWinActive, Vivaldi ; Проверяет, существует ли указанное окно и является ли оно активным. окно браузера "Vivaldi" { ; если окно активно то нужно закрыть одну вкладку SendInput ^{F4} ; нажатие Ctrl + F4 для закрытия вкладки return ; выходим досрочно если у нас была работа с Vivaldi } IfWinActive, Mozilla Firefox ; Проверяет, существует ли указанное окно и является ли оно активным. окно браузера "Mozilla Firefox" { ; если окно активно то нужно закрыть одну вкладку SendInput ^{F4} ; нажатие Ctrl + F4 для закрытия вкладки return ; выходим досрочно если у нас была работа с Mozilla Firefox } return ; конец нажатия XButton1 =============== ; =============================================
davidaganov
17.07.2024 06:09Ctrl + W не работает в вивальди?)
MainTrain
17.07.2024 06:09+1Это две кнопки, это другое. Тут в два раза быстрее чем Ctrl + W
UralVFX Автор
17.07.2024 06:09Ahk не просто про «нажатие двух кнопок заменить на нажатие одной» - прога позволяет писать комплексные скрипты для автоматизации чего угодно, конкретные примеры - у меня в профиле! :)
slonik_nocry
17.07.2024 06:09+1в графике да хоткеи очень важны Плохо что сам разработчик приложения не добавил настройку
UralVFX Автор
17.07.2024 06:09+1Добавил. Но только недостаточно) хахаха. Так что все, что нужно - пишем сами)
Rai0
17.07.2024 06:09+1Добрый день! Немного вкину своего экспирианса и спрошу. Вариант же позиционируется как, практически, бесплатный для эквапа девайса с макросами? И возможностью их тонкой кастомизации? Просто если да, ноу проблем, это хорошо! Но если нет, то есть альтернативы - кейпады и мышки с макросами. Я проектировщик, много работаю в 2D 3D, и ещё миллионе программ связанных/не связанных с работой. Взял себе кейпад и мышку с макросами, эффективность работы в любой программе x 20. Максимум, хоткеев (по навигации, скриптам, горячим клавишам и ТД.), что можно тактильно запомнить, при учёте использования программы и раскладки под нее хотя бы раз в неделю, 20-40, не учитывая повторных кнопок в профиле. К тому же, очень часто приходится переназначивать максоры, ввиду ненадобности последних, или для более удобного расположения, абгрейдить их и переписывать последовательности (что в прочем не помеха для скриптов), и это все намного удобнее делать в уже готовом и заточенным под это дело интерфейсе с дровами для кейпада и мышки. Ну а если в общем, то все это полезно больше для людей которые на потоке выдают результат, проектирование, моделирование, дизайн, документооборот. В сферах, где мыслительный процесс, это неотъемлемая часть процесса, которая не может быть в достаточно степени оптимизирована, как написание кода, это уже намного менее эффективно. Спасибо огромное за пост! Попробую с этой программой залатать пару косяков софтины под кейпад и мышки.
UralVFX Автор
17.07.2024 06:09На счет периферии с готовой возможностью настройки макросов - уже засматриваюсь на мышку с 12 кнопками на боковой панели) AHK - абсолютно бесплатная программа, и предлагает не просто макросы на ЛЮБУЮ периферию подвязать - она предлагает составлять целые скрипты, которые исполняются нажатии на кнопку. Конкретно такого функционала в официальных приложениях для макросов на клаве/мышки пока не встречал(но могу ошибаться). То есть ahk - не просто сочетание клавиш повесить на кнопку - это про «создать скрипт с ветвлениями, обработкой и прочим добром», чтобы сделать свою жизнь проще! У меня в профиле есть конкретные примеры использования (при работе за пк и работе в Nuke в частности)
Dolios
ЯННП, как вы стали работать быстрее?
UralVFX Автор
Программа AHK позволяет забить на нажатие кнопки огромное количество макросов. То есть одна кнопка может теперь выполнять практически неограниченное кол-во полезных действий. Дальше - дело техники. У всех рабочие программы/пайпланы/воркфлоу разные, у себя в других статьях я разобрал на примере работы с Foundry Nuke. Данная статья скорее как тутор по установки проги и настройки работы второй клавиатуры!
Dolios
Я всё еще не понял, как вы стали работать быстрее. В чем заключается ваша работа?
UralVFX Автор
Я работаю в сфере визуальных эффектов, именно - композитинг. Программа, в которой я работаю, использует ноды для обработки изображения. Есть разные ноды с разным функционалом. Обычно, чтобы добавить ноду - нужно руками писать ее имя и нажимать enter. Поэтому, когда я ввел себе вторую клаву и autohotkey - я забил на клавиши определенные вызов нужных нод. То есть, вместо того, чтобы каждый раз совершать кучу действий - я совершаю одно (нажимаю нужную кнопку на клаве). Это один из примеров. Макросами можно ускорить работу с системой, открывая сразу нужные папки. В целом макросы ускоряют работу и упрощают жизнь!
Dolios
А думать при этом нужно? Просто я работаю программистом и даже если у меня будет инструмент, который позволит коммитить 100500 строк текста в день, я продолжу выдавать ~200.
UralVFX Автор
Мы, кажется, о разном немного говорим) Я вел речь о «техническом» аспекте. О том, как «кнопочки нажимать быстрее» - и только об этом. Тут не про личные навыки и компетенции (это совсем другой разговор) - тут скорее про то, как ускорить и автоматизировать рутину в работе! :)
HEPEBAP
я думаю человек выше говорит вот о чем: обычно "нажимание кнопочек" занимает 5-10% всего рабочего времени, все остальное время ты "думаешь", и при таком раскладе экономия выходит всего пара минут в день
UralVFX Автор
Понимаю! Опять же, как я сказал выше, не имею представления, как именно протекает работа в других сферах. Конкретно у меня - «нажимание кнопочек» - это значительная часть работы. И очень нудная. Соответственно, для меня ускорение открытия папок, создания папок и прочего - значительное ускорение работы в целом)
Vaitek
Тут экономия не времени имхо, а нервов. Иногда есть что-то рутинное в работе связанное с однообразными действиями и даже если это 10 минут в день, хочется автоматизировать)
alexs963
emacs уже 40 лет существует
WeirdM
Просто это кликбейтный заголовок