You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.6 KiB
3.6 KiB
Keyboard Controller — вопросы
Вопросы, на которые не ответить чтением репозитория. Ответы помогут зафиксировать план точнее. Нумерую для удобства ответа.
Устройство и события
- Какое устройство — приоритет? Тачпад (HID), клавиатура (HID) или TrackPoint? На ThinkPad TrackPoint обычно PS/2-мышь через evdev и НЕ виден в HID-слое — если он важен, нужен отдельный обходной путь (не HIDdef). Тачпад и клавиатура в HID есть.
В приоритете клавиатура + тачпад, так как это софт скорее для живых выступлений.
- Кнопки мыши/тачпада — нужны все (left/right/middle) или хватит одной-двух под конкретные действия?
Хватит двух. Если возможно, конечно, стоит захватить максимум.
- Оси тачпада: абсолютные координаты (как pad) или относительное смещение (как трекпад-жесты)? От этого зависит маппинг на параметры (pan по X, что по Y?).
Для начала абсолютные.
Цели управления (Ndef/Tdef)
- Какие конкретно Ndef/Tdef должны управляться? Это готовые NodeDictionary-инструменты из bmSClib (какие .scd?), или скетч должен быть самодостаточным с парой демо-Ndef внутри?
Скетч должен быть самодостаточным
- Есть ли связь с 24_09_2026_gig (печатная машинка + live-electronics), или это отдельный инструмент? Влияет на набор действий (например, нужен ли freeze/hold, пресеты, «держать-пока-нажата»).
Это отдельный инмтрумент, но будет применён в этом перформансе
Набор действий
- Минимальный достаточный набор действий для первого работающего скетча: toggle, inc/dec, play/stop, free — хватит? Или сразу нужны пресеты/переключение сцен?
Хватит
- «Держать-пока-нажата» (gate) — это требование (KeyUp важен для нот) или KeyUp достаточно для анти-дребезга/фиксации состояния?
Требование
Фидбек и форма
- Фидбек: пост-окно (просто), текстовое окно со строками по Ndef/Tdef, или GUI со слайдерами сразу? Readme говорит «минимальный визуальный фидбек» — уточнить, где нижняя граница.
Это может быть gui окно с текстовым фидбеком
- Форма результата: отдельный .scd-скелет (несколько файлов) или один самодостаточный .scd? Или встроить как класс/расширение в bmSClib (рядом с NodeDictionary)?
Несколько файлов с одной точкой входа