Isso pode não ajudar, mas aqui está um problema semelhante que tive no passado. Quando eu cato o arquivo do dispositivo para o meu mouse diretamente (ou seja, usando cat /dev/input/by-id/usb-<mymouse>
), recebo uma saída semelhante à que você obtém com o teclado (ou seja, rabiscos). No entanto, alguns movimentos do mouse, como o clique esquerdo, não geram nenhum caractere imprimível, portanto o terminal não mostra nada.
É claro que o mouse ainda está fazendo alguma coisa, nós não podemos ver por cat
'o arquivo do dispositivo. Felizmente, o kernel tem um recurso interessante chamado usbmon, que é útil para escutas na saída binária bruta de dispositivos usb. Usando isso, podemos ver exatamente o que está acontecendo quando executamos (digamos) um clique com o botão esquerdo, enquanto que fazer a mesma coisa via /dev
geralmente não mostra nada.
Novamente, isso pode não ajudar, mas veja como usar o usbmon:
-
Certifique-se de que seu kernel tenha o usbmon ativado. A saída de:
zcat /proc/config.gz | grep USB_MON
deve ter =m
ou =y
.
-
Se foi =m
, carregue o módulo com sudo modprobe usbmon
-
Para certificar-se de que todos os soquetes usb estão aparecendo no lugar certo, execute:% ls /sys/kernel/debug/usb/usbmon
Você deve ver algo como: 0s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u
Os diferentes números referem-se a diferentes portas USB, e aqueles com um 0 na frente fornecem a saída agregada de todas as portas USB. Por exemplo, executar cat /sys/kernel/debug/usb/usbmon/0u
mostra exatamente o que o dispositivo está fazendo, mesmo nos casos em que cat
'ing o arquivo em /dev
não mostrou nada.
Se isso resolve ou não seu problema, pode ser útil no futuro, já que muitas vezes é uma maneira mais útil de espionar dispositivos USB do que /dev
.
Boa sorte:)