A maneira como descreve o processo, você: começou a capturar a saída, conectou o teclado, pressionou uma tecla e parou a captura. Se for esse o caso, recomendo ligar o teclado, iniciar a captura, pressionar a tecla, parar a captura?
EDITAR: Adicionando informações adicionais
Eu não consegui nada em minha própria pesquisa rápida para alinhar totalmente com seus lixinhos até agora, mas:
Por documentação do kernel.org e código-fonte , a saída das interfaces / dev / input está no formato:
struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
unsigned int value;
};
O que equivale a:
- timeval: 16 bytes (8 bytes por segundo, 8 bytes por microssegundo)
- tipo: 2 bytes
-
01
paraEV_KEY
(pressionamento de tecla). Veja input-event-codes.h
-
- código: 2 bytes
-
0E
paraKEY_BACKSPACE
. Veja input-event-codes.h
-
- valor: 4 bytes
01
para o pressionamento de tecla,00
para o release,02
para o autorepeat