A execução de xev
, movendo o cursor dentro do quadrado preto, e a rolagem para cima e para baixo deve resultar em ButtonPress
e ButtonRelease
eventos para os botões 4 e 5.
A rolagem do meu mouse não funciona em nenhum PC. Olhando para as perguntas anteriores aqui , parece que está quebrado.
Existe alguma maneira que eu possa descobrir se é realmente quebrado - execute alguns testes de diagnóstico (além de rolá-lo para cima e para baixo e achar que o ponteiro do mouse não se move) e verifique se ele está de fato quebrado?
Controle de botão do X-Mouse é um software do Windows que mostra o que o mouse está fazendo.
Abra o software e clique nos botões ou role a roda. As listas suspensas ao lado de cada ação piscam em amarelo quando você faz isso - por exemplo, a lista suspensa ao lado de "Roda para cima" piscará em amarelo quando você mover a roda do mouse para cima.
Este aplicativo também permite que você personalize o que cada ação faz - eu a uso para reverter minha roda de rolagem no meu PC para que ela seja igual à do Mac OSX Lion.
Acabei de ter um problema com meu mouse - e acabou sendo um hardware ( é um daqueles mouses USB Logitech Wireless, que tem uma opção de 'rolagem suave' na roda de botão do meio - você pressione-o uma vez, você tem 'rolagem suave', pressione-o mais uma vez, então você tem 'pisou' rolar ... ) Acontece, minha roda do meio estava presa, então eu tive que pressioná-lo um par de vezes até que 'recuperou' - e eu usei o xev
(no Ubuntu 10.04) para controlar isso.
Para dizer mais algumas palavras no mouse no Ubuntu - você pode inspecionar o log do sistema, para ver o que foi registrado na inicialização, em relação a, digamos, dispositivos USB - para ver se o dispositivo é reconhecido. No entanto, isso com o "log do sistema" não é necessariamente fixo - no Ubuntu 10.04, eu simplesmente procuro em /var/log/messages
- mas em 11.04, a string 'Logitech' é mostrada nesses arquivos:
$ grep --files-with-matches --recursive Logitech /var/log 2>/dev/null
/var/log/spnavd.log
/var/log/Xorg.0.log
/var/log/Xorg.1.log
/var/log/dmesg.0
/var/log/Xorg.0.log.old
/var/log/dmesg
/var/log/kern.log.1
/var/log/udev
Em 11.04, eu acho que uma maneira é pesquisar / pesquisar por 'usb' string em /var/log/dmesg
- ou talvez até mais fácil; novamente para a string 'Logitech':
$ grep Logitech /var/log/dmesg
[ 22.323032] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input7
[ 22.323529] generic-usb 0003:046D:C526.0001: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1/input0
[ 22.502664] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1/input/input8
[ 22.509847] generic-usb 0003:046D:C526.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.1-1/input1
O que você quer é ver qual "endereço USB" o dispositivo está conectado - acima, vemos " usb3
", então podemos basicamente " cat
" para stdout o arquivo usbmon
correspondente em /dev
(isto é, /dev/usbmon3
); isso deve nos fornecer os dados USB "brutos" vindos do dispositivo; já que este binário não pode ser renderizado diretamente no terminal, nós o enviamos em hexdump
para formatá-lo:
$ sudo cat /dev/usbmon3 | hexdump -C
00000000 80 6b 14 f1 00 00 00 00 43 01 81 02 03 00 2d 00 |.k......C.....-.|
00000010 4c e0 75 4e 00 00 00 00 41 5a 07 00 00 00 00 00 |L.uN....AZ......|
00000020 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 ff ff 00 00 00 00 80 6b 14 f1 00 00 00 00 |.........k......|
00000040 53 01 81 02 03 00 2d 3c 4c e0 75 4e 00 00 00 00 |S.....-<L.uN....|
....
Agora, quando você executa ações no mouse (mover, pressionar o botão), mais dados devem ser mostrados respectivamente no terminal (acabar com esse processo, eventualmente, com Ctrl-C). Note que você teria que usar sudo
no comando acima.
O ponto é - se no teste acima, você obtém dados gerados quando você move a roda de rolagem do mouse para cima e para baixo; então, pelo menos, o hardware e a parte do driver USB da cadeia devem estar funcionando - se tudo estiver funcionando, esses eventos devem se propagar para o sistema X e ser relatados também por xev
. ( pois no meu caso eu não vi esses eventos, eu poderia então deduzir um problema de hardware; que, desta vez, foi facilmente resolvido com apenas algumas pressões. Também note - quando tudo funciona, movendo o scroll roda também gera dados no terminal, então você não será capaz de rolar o terminal com a roda de rolagem :) nesse caso, reverter temporariamente para as setas do teclado rolando de terminal ).
Tags mouse scrolling scroll-wheel