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.
bmSClib/keyboard-controller/questions.org

3.6 KiB

Keyboard Controller — вопросы

Вопросы, на которые не ответить чтением репозитория. Ответы помогут зафиксировать план точнее. Нумерую для удобства ответа.

Устройство и события

  1. Какое устройство — приоритет? Тачпад (HID), клавиатура (HID) или TrackPoint? На ThinkPad TrackPoint обычно PS/2-мышь через evdev и НЕ виден в HID-слое — если он важен, нужен отдельный обходной путь (не HIDdef). Тачпад и клавиатура в HID есть.

В приоритете клавиатура + тачпад, так как это софт скорее для живых выступлений.

  1. Кнопки мыши/тачпада — нужны все (left/right/middle) или хватит одной-двух под конкретные действия?

Хватит двух. Если возможно, конечно, стоит захватить максимум.

  1. Оси тачпада: абсолютные координаты (как pad) или относительное смещение (как трекпад-жесты)? От этого зависит маппинг на параметры (pan по X, что по Y?).

Для начала абсолютные.

Цели управления (Ndef/Tdef)

  1. Какие конкретно Ndef/Tdef должны управляться? Это готовые NodeDictionary-инструменты из bmSClib (какие .scd?), или скетч должен быть самодостаточным с парой демо-Ndef внутри?

Скетч должен быть самодостаточным

  1. Есть ли связь с 24_09_2026_gig (печатная машинка + live-electronics), или это отдельный инструмент? Влияет на набор действий (например, нужен ли freeze/hold, пресеты, «держать-пока-нажата»).

Это отдельный инмтрумент, но будет применён в этом перформансе

Набор действий

  1. Минимальный достаточный набор действий для первого работающего скетча: toggle, inc/dec, play/stop, free — хватит? Или сразу нужны пресеты/переключение сцен?

Хватит

  1. «Держать-пока-нажата» (gate) — это требование (KeyUp важен для нот) или KeyUp достаточно для анти-дребезга/фиксации состояния?

Требование

Фидбек и форма

  1. Фидбек: пост-окно (просто), текстовое окно со строками по Ndef/Tdef, или GUI со слайдерами сразу? Readme говорит «минимальный визуальный фидбек» — уточнить, где нижняя граница.

Это может быть gui окно с текстовым фидбеком

  1. Форма результата: отдельный .scd-скелет (несколько файлов) или один самодостаточный .scd? Или встроить как класс/расширение в bmSClib (рядом с NodeDictionary)?

Несколько файлов с одной точкой входа