Как определить, какое устройство / код ключа используется?

Я пытаюсь переназначить функции на кнопках моей мыши Logitech G700. Используя xinput -list, я вижу, что это считается двумя устройствами (четыре, если вы используете проводные / беспроводные различия).

48 will@will-laptop ~]$xinput --list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Natural® Ergonomic Keyboard 4000        id=10   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=17   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=18   [slave  pointer  (2)]

Проблема в том, что для кнопок есть нестандартные назначения, поэтому xev не показывает такие вещи, как «кнопка 12» или что-то в этом роде, оно просто показывает нажатия клавиш, назначенные кнопке (т.е. KeyPress Ctrl_L, KeyPress «w», KeyRelease Ctrl_L, KeyRelease «w»). Он не показывает устройство, поэтому я не уверен, как переназначить, что должен делать ключ. Кроме того, насколько я могу судить, нет никакого способа сделать аппаратный сброс встроенных профилей памяти, поэтому я не могу сбросить мышь, чтобы на самом деле дать мне «кнопку 7» или что-то еще.

Я использую Ubuntu 13.10.

Вот что я получаю от xev при попытке кнопки «наклонять колесо влево».

KeyPress event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142771, (115,109), root:(2844,1831),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142771, (115,109), root:(2844,1831),
state 0x14, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (17) ""
XmbLookupString gives 1 bytes: (17) ""
XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142935, (115,109), root:(2844,1831),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4a00001,
root 0x90, subw 0x0, time 13142935, (115,109), root:(2844,1831),
state 0x10, keycode 25 (keysym 0x77, w), same_screen YES,
XLookupString gives 1 bytes: (77) "w"
XFilterEvent returns: False`
1
задан 7 January 2014 в 03:12

1 ответ

Существует также приложение solaar, в котором программы Logitech используют «универсальный» USB-разъем Logitech. Он имеет схожие возможности и программирует штепсель для подключения к устройствам и запускает некоторую конфигурацию устройства. На моей настройке 14.04 он поддерживает двухстороннюю связь. Например, он сообщает, сколько энергии аккумулятора остается в каждом сопряженном устройстве.

0
ответ дан 24 May 2018 в 13:17

Другие вопросы по тегам:

Похожие вопросы: