Mar. 25th, 2007
Zero-click solution revisited
Mar. 25th, 2007 08:45 pmПочти год назад я сделал себе Zero-click solution для MIDI-клавиатуры. Чтобы сразу при включении клавиатуры компьютер начинал издавать звуки при нажатии на клавиши.
Прогресс, к сожалению, не стоит на месте. Прошёл всего год, даже версия дистрибутива смениться ещё не успела, ан увы - hotplug нынче obsolete, пользоваться надо udev, да и alsa теперь номера устройств динамически назначает.
Пришлось переделывать. Собственно переделка заключалась в том что
1. Нужно добавить правило для udev, чтобы при включении клавиатуры он вызывал скрипт.
Правило получилось вот такое:
2. Дабы не зависеть от номеров устройств, скрипт теперь выглядит так:
По хорошему счету, надо бы имя устройства брать из udev-овских атрибутов, чтобы при смене модели клавиатуры редактировать пришлось ровно в одном месте - в udev-овских правилах.
Прогресс, к сожалению, не стоит на месте. Прошёл всего год, даже версия дистрибутива смениться ещё не успела, ан увы - hotplug нынче obsolete, пользоваться надо udev, да и alsa теперь номера устройств динамически назначает.
Пришлось переделывать. Собственно переделка заключалась в том что
1. Нужно добавить правило для udev, чтобы при включении клавиатуры он вызывал скрипт.
Правило получилось вот такое:
SUBSYSTEM=="usb" \ ATTRS{product}=="USB Keystation 49e" \ RUN+="/usr/local/sbin/midi-keyboard"
2. Дабы не зависеть от номеров устройств, скрипт теперь выглядит так:
#!/bin/sh case "$ACTION" in add) logger -t udev "Connecting keyboard with software synth" aconnect 'USB Keystation 49e:0' TiMidity:0 ;; esac
По хорошему счету, надо бы имя устройства брать из udev-овских атрибутов, чтобы при смене модели клавиатуры редактировать пришлось ровно в одном месте - в udev-овских правилах.