# Режимы подсветки 19 встроенных режимов прошивки плюс выключение. Номер режима = байт [0] lighting-payload, алиасы заданы в `katana.py` (`MODES`). Полная таблица с байтами payload — в [protocol.md](protocol.md) (раздел «Lighting payload»). ## Таблица режимов Режимы указаны в порядке их перечисления в фирменной утилите. | № | Название | Алиас | Цвет | Яркость | Скорость | Направление | Описание | | --- | -------------------- | ----------- | ----------- | ------- | -------- | ----------- | --------------------------------------------------------------------------------- | | 1 | Постоянный свет | `static` | моно/спектр | + | + | | статическое свечение всех клавиш | | 2 | Подсветка нажатых | `keypress` | моно/спектр | + | + | | все выключены, подсвечиваются нажатые | | 3 | Затухание нажатых | `fade` | моно/спектр | + | + | | все включены, гаснут нажатые | | 4 | Звёздный | `star` | моно/спектр | + | + | | случайные вспышки после полного затухания | | 5 | Снежный | `snow` | моно/спектр | + | + | | аналогично, но больше соседних клавиш | | 6 | Цветочный | `flower` | спектр | + | + | | плавные цвета на каждой клавише без затухания | | 7 | Дыхание | `breathing` | спектр¹ | + | + | | плавное свечение и затухание всех клавиш | | 8 | Полный спектр | `spectrum` | спектр | + | + | | плавные цвета на всех клавишах без затухания | | 9 | Круги | `ripple` | моно/спектр | + | + | | плавные цвета кругами из центра к краям | | 10 | Водопад | `waterfall` | моно/спектр | + | + | ↑/↓ | спектр по рядам клавиш | | 11 | Течение | `flow` | моно/спектр | + | + | ←/→ | косые волны в одну сторону без затухания | | 12 | Вращение | `rotate` | моно/спектр | + | + | ←/→ | волна по кругу вокруг центра | | 13 | Горизонтальная грань | `h-edge` | моно/спектр | + | + | | все выключены, горизонтальная волна по ряду от нажатой клавиши | | 14 | Вертикальная грань | `v-edge` | моно/спектр | + | + | | все выключены, косая волна по всем рядам от нажатой клавиши | | 15 | Рябь по воде | `splash` | моно/спектр | + | + | | все выключены, плавные круги от нажатой клавиши | | 16 | Бегущая строка | `marquee` | моно/спектр | + | + | ←/→ | все выключены, плавная бегущая подсветка каждой клавиши в каждом ряду сверху вниз | | 17 | Горы | `mountains` | моно/спектр | + | + | | плавные углы из середины в стороны | | 18 | Ветер | `wind` | моно/спектр | + | + | ←/→ | косые волны в одну сторону с затуханием | | 19 | Шаттл | `shuttle` | моно/спектр | + | + | | бегущие строки по чётным/нечётным рядам в обе стороны | | 20 | Выключена | `off` | | | | | все клавиши погашены | ¹ У breathing цвет из payload игнорируется прошивкой: цикл цвета зашит и гоняет зелёно-жёлто-красную гамму при любом `--color` (проверено на железе, payload совпадает с вендорским — подробности в [protocol.md](protocol.md)). Для моноцветного дыхания аналога нет; если нужен именно красный постоянный свет — используйте `static`. ## Примеры ``` ./katana.py off # выключить подсветку ./katana.py mode 1 --color ff00ff # статика, маджента ./katana.py mode static --color magenta # то же самое, алиасами ./katana.py mode breathing # дыхание (цвет зашит в прошивку, см. сноску ¹) ./katana.py mode spectrum --color cyan # полный спектр (спектр игнорирует цвет) ./katana.py mode static --rainbow # статика радугой ./katana.py mode waterfall --color gold --speed 5 ./katana.py mode marquee --color red --direction east-west ``` ## Аргументы `mode` ### `N` Номер режима из таблицы выше (десятичный или hex) либо алиас. Также принимается `off`. ### `--color ЦВЕТ` Цвет для моно-режимов. По умолчанию `ffffff`. В спектр-режимах (`flower`, `spectrum`, `waterfall`...) игнорируется прошивкой. ### `--brightness 1–15` Яркость. По умолчанию `15`. ### `--speed 2–15` Скорость анимации. По умолчанию `10` (вендорский дефолт). Для `static` скорость не применяется — прошивке всегда шлётся `10`, при явном другом значении печатается warning. Значения ниже `2` для анимаций принимаются, но не наблюдались у вендора (warning). ### `--rainbow` Только для `static`: радужный спектр вместо одного цвета (байт [11] = `01`). ### `--direction` Направление анимации (байт [11]) для режимов с направлением: `north-south`, `south-north`, `east-west`, `west-east`. Для остальных режимов команда завершается ошибкой. Сняты значения: `waterfall` (`north-south`=`02`, `south-north`=`03`), `marquee` (`east-west`=`01`, `west-east`=`00`); для `flow`, `rotate`, `wind` байты уточняются. ### `--flag 0–255` Переопределение служебного байта [8] payload — без необходимости не трогать. По умолчанию вендорский (`00` static/star, `01` остальные). ### `--no-save` Не писать настройки во флеш (пропустить `save`). По умолчанию save выполняется. Настройка действует до выключения клавиатуры. Полезно для экспериментов, чтобы не изнашивать флеш. ## Направление анимации Задаётся `--direction north-south|south-north|east-west|west-east` (байт [11] payload). Значения сняты для `waterfall` (02/03) и `marquee` (01/00). Для `flow`, `rotate`, `wind` применяйте те же опции — значения байта уточняются. Подробности — [protocol.md](protocol.md) (раздел «Байт [11] — подрежим»).