Макросы: что это и для чего?
Что такое макросы?
Макросы, макрокоманды или скрипты – это набор заранее запрограммированных действий, набор инструкций написанных на одном из сценарных (скриптовых) языков программирования.
Применение макросов
Макросы применяются там, где требуется автоматизация рутинных действий, например в:
- офисных приложениях
- графических редакторах
- компьютерных играх (чаще в MMORPG)
- программном коде при работе с файлами и др.
Сами действия могут быть связаны с математическими расчетами, нажатием клавиш, движениями мыши и взаимодействием с пользовательским интерфейсом приложений/игр. В общем то макросы можно применять везде, где требуется выполнять действия в некоторой заранее известной последовательности.
Макросы для игровых мышек
Мышки некоторых производителей имеют возможность запрограммировать макросы которые могут автоматически нажимать кнопки мыши и перемещать указатель. Как раз именно на таких макросах и специализируется наш проект. Но даже, если у вас обычная офисная мышка, вы все равно можете использовать макросы, например через наше приложение Promacro HUB.
Как устроена работа макросов
В целом все сводится к двум вещам:
- Набор команд
- Условия воспроизведения и остановки воспроизведения этих команд
Допустим вам нужно передвинуть курсор мыши на 100 пикселей вправо и кликнуть левой кнопкой мышкой. Условный набор команд будет выглядеть примерно так:
- Переместить курсор вправо на 100
- Клик левой кнопкой мыши
Условия воспроизведения могут настраиваться прямо в коде с набором команд (Logitech G HUB), а могут быть выведены в отдельную настройку в программе воспроизводящей макрос (A4Tech Oscar – Bloody, X7). Условия выполнения команд могут быть такими:
- один раз полностью при опускании левой кнопки мыши
- при опускании левой кнопки мыши, если кнопка отжата, то остановить выполнение команд
- многократно (с повторами) пока опущена и удерживается левая кнопки мыши (иначе стоп)
То, насколько развитой может быть вариативность условий зависит исключительно от возможностей конкретного скриптового языка.
Мы опустим тот момент, что перемещение может быть относительным и абсолютным, а клик делится на опускание кнопки мыши, некоторое время ожидания и поднятие кнопки мыши. Это не так неважно, главное, что бы вы поняли суть.
Аппаратные и программные макросы
Действия запрограммированные в макросе для мышек могут выполняться на двух абсолютно разных уровнях.
Под аппаратными макросами имеется ввиду то, что действия прописанные в макросе выполняются в самой мышке и поступают от нее так же как и обычный ввод пользователя. Именно так работают макросы в мышках A4Tech Bloody и X7.
Программные макросы – это макросы, действия которых выполняются системными средствами через программу интерпретатор установленную на вашем ПК. Так работают макросы на мышках Logitech G.
В интернете повсеместно бытует мнение, что аппаратные макросы, в отличии от программных невозможно обнаружить и игроки могут безнаказанно ими пользоваться и нарушать правила в разных играх. Это миф. Все современные античиты в состоянии обнаруживать использование любых макросов.
Возможности макросов
Возможности макросов достаточно ограниченны и проще упомянуть то, на что макросы способны.
Например, макросы для A4Tech могут выполнять только нажатия и отпускания кнопок мыши/клавиш клавиатуры, перемещать курсор мыши и делать это все с заранее выставленными задержками.
Макросы для Logitech, в силу возможностей языка LUA (версии LUA специально для Logitech) способны на чуть большее. Например, можно менять сценарии активации макросов, собирать их в один файл и переключаться между ними. Есть конечно еще дополнительные «фишки» вроде управления выводом информации на LCD дисплей клавиатуры, но это уже слишком специфичные возможности с которыми вы можете ознакомиться сами в официальной документации «G-series Lua API» (Just Google it).
Макросы для мышек не могут:
- сканировать/изменять значения в памяти приложений/игр
- сами переключаться в зависимости от выбранного вами оружия
- переключаться между активными окнами
- делать что либо в свернутом приложении
Если вы где то услышали/прочитали, что макрос сам, что то определяет, делает, переключает и тп. то вы должны понять, что речь не о макросе, а о целой программе, которая не только воспроизводит макросы, но и делает, то, за что вы с очень большой вероятностью отправитесь в бан, без вариантов.