Команда macro¶
Записывает содержимое макросов в прошивку каналом 04 19 и работает с вендорским XML.
Формат блоба описан в разделе Макросы.
Макрос нужно привязать к клавише командой remap --key КЛАВИША=macro<N>.
Нумерация начинается с нуля: «Макрос 1» вендорской утилиты — это macro0.
Примеры¶
./katana.py macro set 0 -- a@126 s@101 -a@41 f # макрос 0 из токенов
./katana.py macro set 0 --xml test.xml # макрос 0 из XML
./katana.py remap --key caps=macro0 # привязать к Caps
./katana.py macro clear # стереть все макросы
./katana.py macro show test.xml # показать события из XML
./katana.py macro export my.xml -- +lctrl a@50 -lctrl
Токены событий¶
Токен имеет вид [+-]имя[@задержка_мс].
| Знак | Действие |
|---|---|
+ |
нажать клавишу |
- |
отпустить клавишу |
| без знака | нажать и отпустить, задержка на отпускание |
@N |
пауза N миллисекунд после события |
Перед токенами, начинающимися с -, ставьте разделитель --, иначе argparse примет их за опции.
Разбор примера a@126 s@101 -a@41:
| Токен | Что делает |
|---|---|
a@126 |
нажать и отпустить A, после отпускания пауза 126 мс |
s@101 |
нажать и отпустить S, пауза 101 мс |
+a |
только нажать A |
-a@41 |
только отпустить A, пауза 41 мс |
Пример с модификатором: +lctrl a@50 -lctrl — зажать Ctrl, нажать и отпустить A, отпустить Ctrl.
Имена в токенах¶
- буквы
a–zи цифры1–0; f1–f12;- модификаторы:
lctrl,lshift,lalt,lwin,rctrlи другие; esc,tab,enter,backspace,caps,space;- стрелки
left,up,right,down; коды Up и Down проверены не на железе; - громкость:
volup,voldown; - кнопки мыши:
lmb,rmb,mmb,back,forward.
Аргументы macro set¶
| Аргумент | Описание |
|---|---|
index |
слот макроса от 0 до 99 |
tokens |
события макроса |
--xml |
взять события из вендорского XML |
--save |
отправить 04 f0 после коммита |
Нужно указать либо tokens, либо --xml.
По умолчанию save выключен, как у вендора.
Но макросы переживают переподключение только со своим save, поэтому для постоянных настроек используйте --save или apply.
macro clear¶
Стирает все слоты макросов.
Ключ --save работает так же, как у macro set.
macro show и macro export¶
Обе команды работают офлайн, без обращения к клавиатуре.
macro show FILEпечатает события из XML в форме токенов;macro export FILE ТОКЕНЫ [--name ИМЯ]создаёт вендорский XML; токены обязательны.
Важно¶
- Запись перезаписывает все слоты макросов: не указанные слоты стираются.
- Несколько макросов записывайте за один вызов;
applyтак и делает. - Ёмкость блоба — 896 байт, это около 60 событий на один слот.
- После записи макросов таблица переназначений и режим подсветки сбиваются в оперативной памяти: отправьте их повторно.
- Чтение содержимого макросов из прошивки не реализовано.