GANSS ARDOR Katana
Протокол, консольная утилита katana.py и приложение Katana Studio для настройки подсветки, раскраски, переназначений и макросов из Linux и macOS.
Документация GANSS ARDOR Katana¶
Здесь собраны сведения о настройке клавиатуры GANSS ARDOR_Katana (она же ARDOR Gaming Katana) из Linux и macOS: протокол обмена, консольная утилита katana.py и графическое приложение Katana Studio.
Проект исследовательский: протокол восстановлен по дампам USB-трафика вендорской утилиты и проверен на одном экземпляре клавиатуры.
Разделы¶
-
Как устроен проект¶
Компоненты, доступ к устройству, очередь операций, профили, предпросмотр и тесты.
-
Утилита katana.py¶
Установка, команды, режимы подсветки, раскраска клавиш, переназначения, макросы и YAML-профили.
-
Katana Studio¶
Графический редактор на Electron: окно, вкладки, сборка пакетов, отладка и TypeScript API.
-
Протокол¶
Транспорт feature-репортов, транзакции, форматы payload'ов, карта клавиш и открытые вопросы реверса.
Устройство¶
| Характеристика | Значение |
|---|---|
| Устройство | GANSS ARDOR_Katana |
| USB ID | 0C45:8006 (Sonix SN32) |
| Канал | feature-репорты rid=0, интерфейс 0, payload 64 байта |
| Транспорт | hidraw ioctl на Linux, IOKit на macOS |
Подпись «Microdia Dual Mode Camera (8006 VGA)» в lsusb — норма: этот USB ID принадлежит чипу Sonix SN32, который встречается и в вебкамерах.
Возможности¶
- 19 режимов подсветки, выключение и вендорский сброс;
- яркость, скорость и направление анимации;
- покраска каждой из 104 физических клавиш своим цветом;
- переназначение клавиш на кнопки мыши, функции редактора, горячие клавиши, мультимедиа и макросы;
- макросы в прошивке с импортом и экспортом XML вендорской утилиты;
- чтение живого кадра подсветки;
- YAML-профиль, общий для CLI и приложения.
Быстрый старт¶
# установка (подробности — в разделе «Установка»)
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
sudo cp 70-ganss-katana.rules /etc/udev/rules.d/ && sudo udevadm trigger
# подсветка
./katana.py mode breathing --color red --no-spectrum
./katana.py paint --black --wasd dodgerblue
./katana.py keys
# переназначение и макросы
./katana.py remap --key caps=copy
./katana.py macro set 0 -- a@126 s@101 -a@41
./katana.py remap --key caps=macro0
# всё сразу из YAML-профиля
./katana.py apply ~/my-katana.yaml
Карта документов¶
| Раздел | Содержание |
|---|---|
| Как устроен проект | Из чего состоит проект и как части работают вместе. |
| Протокол | Как устроен обмен с прошивкой и что означают байты. |
| katana.py | Консольная утилита: установка, команды, расширение. |
| Katana Studio | Приложение: окно, архитектура, API, тесты, отладка. |
Предостережение¶
Это исследовательский проект. Автор не гарантирует работу скриптов на другом экземпляре клавиатуры, достоверность сведений о протоколе и совместимость с другими моделями Ardor.
Все операции с оборудованием выполняются на ваш страх и риск. Флеш-память клавиатуры имеет ограниченный ресурс перезаписи, поэтому не включайте сохранение без необходимости.
Лицензия¶
Программное обеспечение распространяется под лицензией GNU GPL v3. Производное ПО обязано быть с открытым исходным кодом.