Resposta parcial:
O driver é hid-generic
, então o próximo passo é olhar o descritor HID. Como root, faça
mount -t debugfs none /sys/kernel/debug
E, em seguida, observe o conteúdo de /sys/kernel/debug/hid/<dev>/rdesc
, em que <dev>
identifica seu dispositivo.
O descritor HID descreve o formato do que você pode ler e escrever no descritor hidraw
(talvez também importante para você). Eles são processados pelo analisador HID do kernel e, em seguida, enviados para o descritor hiddev
. Pelo menos para dispositivos de entrada, o arquivo acima também tem informações sobre o que o analisador do kernel faz com as informações, mas não tenho certeza do que acontece com hid-generic
.
Comparar o que você vê em hidraw
e hiddev
deve permitir algumas boas suposições sobre o que o analisador de kernel faz e, na dúvida, é possível ler a origem.
Você pode encontrar mais informações em Documentation/hid/hidraw.txt
e /Documentation/hid/hiddev.txt
nos fontes do kernel.
O "hidpage" dos comentários tem os padrões HID, se você quiser lê-los.