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

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. Производное ПО обязано быть с открытым исходным кодом.