Команда apply¶
Применяет все настройки из одного YAML-файла.
Секции названы так же, как команды katana.py, а ключи внутри секций — как аргументы этих команд без --.
Для команды нужен PyYAML.
Порядок применения¶
Секции применяются всегда в одном порядке, независимо от их расположения в файле.
remap— таблица переназначений, save.paint— раскраска и режим0x80, save.mode— финальный режим подсветки, save.raw— произвольный payload.macro— все слоты одним блобом, save.remapиpaintилиmode— повторно, со save.
Секция mode пропускается с предупреждением, если в профиле есть paint: иначе режим перекрыл бы раскраску.
Повторная отправка remap и mode нужна потому, что запись макросов сбивает эти области в оперативной памяти.
Сохранение¶
У каждой области прошивки свой save.
apply управляет сохранением сам, поэтому ключ save в секциях не поддерживается и отклоняется как неизвестный.
Секция macro¶
Все слоты пишутся одним блобом, пропуски между номерами становятся пустыми слотами.
Секция remap¶
Ключи и действия те же, что у remap --key.
Секция paint¶
Доступны все ключи команды paint: all, key, wasd, numpad, alpha, punct, digits, arrows, row1…row6, black, keep, brightness.
Секция mode¶
mode принимает номер от 1 до 19, алиас, off и default.
Значения direction зависят от режима.
Секция raw¶
Значение — hex-строка или список строк.
Валидация¶
- неизвестные секции и ключи отклоняются с указанием опечатки;
- у слота макроса должен быть ровно один из ключей
tokensилиxml; - значения проверяются теми же парсерами, что и в командной строке.
Команды keys, scan, reset и version в профиле не нужны: это диагностика, а не состояние.
Совместимость¶
Формат профиля общий с приложением Katana Studio, но имена двух секций пока расходятся: apply ждёт mode и macro, а приложение пишет lighting и macros.
Такой профиль apply отклонит как неизвестный; расхождение записано в todo.md репозитория katana.py.
Описание приложения — в разделе Katana Studio.