Короткий вариант того, что я хочу выполнить. У меня есть ножная педаль (INFINITY-IN-USB-1, если она интересна), которая реализована как универсальное HID-устройство, и я хотел бы, чтобы он вел себя как контрольные и альт-ключи на linux. Я ищу что-то на уровне X, т.е. Не только отдельных программ.
Более длинная версия. У меня эта настройка работает в Windows XP, вызывая dll RegisterRawInputDevices и GetRawInputData и прослушивая ввод в скрытых окнах. Все выполняется с помощью довольно простого Autohotkey script (может размещаться здесь, если кому-то интересно). Дело в том, что нет необходимости в дополнительном драйвере и т.д.; требуется только родная Windows dll.
Я хочу, чтобы эта настройка работала на linux (точнее, Gnome под Ubuntu, но иногда я использую другой диспетчер дистрибутивов/окон, поэтому решение на уровне X оценивается). Эта ножная педаль не регистрируется как клавиатура или даже джойстик, а как устройство HID с UsagePage 12, использование 3. Я замечаю, что последний Ubuntu может обнаруживать и использовать любимые ключи на Microsoft Natural Keyboard, которые также регистрируются как устройство HID *. Я использую эти ключи в Windows, используя тот же метод, что и я использую ножную педаль (т.е. Без комплекта программного обеспечения). Поэтому я предполагаю, что эта педаль может работать и на Linux, но вопрос в том, как?
[Я новичок в материалах более низкого уровня в Linux, поэтому, пожалуйста, будьте щедрыми со ссылками на введение или учебник, когда это применимо.]
* Для тех, кто не знает этого, Microsoft Natural Keyboard регистрируется как обычная клавиатура, так и общее HID-устройство. Без какого-либо приложения (например, связанного приложения), зная, как интерпретировать вход HID, обычные клавиши будут работать, но любимые клавиши и специальные функциональные клавиши бесполезны.Суб >
Чтобы уточнить, Linux не видит нажатия педалей в качестве входного сигнала. Он распознает USB-устройство, но xev не дает выхода для педальных прессов. Я видел сообщения о том, что люди успешно используют педаль под WINE для программного обеспечения транскрипции, но это должно работать по-разному и не дает того, что я хочу (что делает педаль похожей на клавиатуру на все родные приложения для Linux). Интересно, будет ли какой-то низкоуровневый драйвер клавиатуры linux необходимо?
Вот еще одна информация: если я выдаю это в терминале
cat /dev/usb/hiddev0
(dev/usb/hiddev0
- моя педаль), я получаю сырые коды, соответствующие моим нажатиям на педали. Это начало. Я знаю, что означает этот необработанный код: в двоичном формате, 0001, 0010, 0100 соответствует каждой педали, соответственно, и комбинация педальных прессов посылает комбинацию этих двоичных чисел, а также отпускает триггерный вход педали любой педали, все еще нажатой (если все педаль вверх, отправляется 0000).
Как заставить X слушать dev/usb/hiddev0
и переводить необработанные коды в, возможно, специальный кодовый ключ, чтобы я мог сопоставлять их с xmodmap или что-то в этом роде?