|
|
Приложение для управления SuperCollider скетчами
|
|
|
с использованием HID (клавиатура, мышь, тачпад)
|
|
|
|
|
|
Минимальная версия SC 3.14.0
|
|
|
Целевая платформа Linux
|
|
|
|
|
|
Это может быть простой шаблон на sclang,
|
|
|
основаный на HIDDef и Dictionaries
|
|
|
для навешивания обработчиков на события
|
|
|
HID устройств.
|
|
|
|
|
|
Оcновная задача - иметь возможность быстро
|
|
|
управлять NDef и Tdef и видеть минимальный
|
|
|
визуальный фидбек состояния.
|
|
|
|
|
|
Нужна поддержка событий KeyUp и KeyDown для
|
|
|
клавиатур и кнопок мыши/тачпада, а также
|
|
|
движение тачпада по осям.
|
|
|
|
|
|
Если тачпад поддерживает другие события, их тоже
|
|
|
можно поддержать.
|
|
|
|
|
|
Основные рабочие машины - ноутбуки ThinkPad.
|
|
|
|
|
|
* Доступ к HID на Linux (udev)
|
|
|
|
|
|
sclang без привилегий видит HID-устройства только если может читать
|
|
|
/dev/hidraw*. По умолчанию они root:root 0600, поэтому нужно udev-правило.
|
|
|
|
|
|
Простое решение «без групп» (читать может любой пользователь):
|
|
|
|
|
|
#+begin_src sh
|
|
|
# /etc/udev/rules.d/99-hidraw-input.rules
|
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666"
|
|
|
#+end_src
|
|
|
|
|
|
Затем применить:
|
|
|
|
|
|
#+begin_src sh
|
|
|
sudo udevadm control --reload-rules && sudo udevadm trigger
|
|
|
#+end_src
|
|
|
|
|
|
Проверить:
|
|
|
|
|
|
#+begin_src sh
|
|
|
ls -l /dev/hidraw* # должно стать crw-rw-rw-
|
|
|
head -c 0 /dev/hidraw0 # чтение от обычного пользователя должно пройти
|
|
|
#+end_src
|
|
|
|
|
|
Альтернатива «с группой» (безопаснее): MODE="0660", GROUP="input" +
|
|
|
пользователь в группе input (`sudo usermod -aG input $USER`, затем
|
|
|
перелогиниться). При MODE="0660" без членства в input доступа не будет.
|
|
|
|