Перейти к содержанию

Команда 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 событий на один слот.
  • После записи макросов таблица переназначений и режим подсветки сбиваются в оперативной памяти: отправьте их повторно.
  • Чтение содержимого макросов из прошивки не реализовано.