Files
ardor-katana-linux/docs/COLOR-MODES.md
T

103 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Режимы подсветки
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] — подрежим»).