Como posso identificar qual dispositivo / código está sendo usado?

1

Estou tentando reatribuir as funções nos botões do meu mouse Logitech G700. Usando xinput --list, vejo que isso conta como dois dispositivos (quatro, se você incluir as diferenças com fio / sem fio).

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)]

O problema é que existem atribuições não padrão para os botões, então xev não mostra coisas como "botão 12" ou qualquer outra coisa, apenas mostra os pressionamentos de tecla atribuídos ao botão (por exemplo, KeyPress Ctrl_L, KeyPress "w" , KeyRelease Ctrl_L, KeyRelease "w"). Ele não mostra o dispositivo e, portanto, não sei como reatribuir o que a chave deve fazer. Além disso, por mais que eu saiba, não há como fazer uma redefinição de hardware dos perfis de memória on-board, então não posso redefinir o mouse para realmente me dar um "botão 7" ou qualquer outra coisa.

Estou usando o Ubuntu 13.10.

Aqui está o que eu recebo do xev quando tento o botão "Inclinar a roda para a esquerda".

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'
    
por William Everett 06.01.2014 / 22:06

2 respostas

1

Depois de brincar com isso por um tempo e ler sobre isso, descobri que o G700 realmente armazena o perfil do botão no mouse, então clicar no botão 12, literalmente, enviou o atalho Ctrl + W. Eu usei uma máquina Windows e o software Logitechs Gaming para restaurar os botões ao status padrão e eles começaram a relatar o "botão 12" ou o que quer que seja no xev.

    
por William Everett 19.06.2014 / 20:12
0

Existe também um aplicativo solaar que programa dispositivos da Logitech usando o plugue sem fio USB "universal" da Logitech. Ele possui recursos semelhantes e programa o plugue para parear com dispositivos e para executar algumas configurações do dispositivo. Na minha configuração 14.04, ele suporta comunicação bidirecional --- Por exemplo, anuncia quanta energia de bateria permanece em cada dispositivo pareado.

    
por Frank M 12.08.2014 / 18:54