Onde nas fontes do kernel do Linux eu posso encontrar uma lista dos diferentes scancodes de teclado?

5

Eu estava procurando por uma lista de scancodes de teclado nas fontes do kernel Linux, mas eu não encontrei nada. Alguém sabe onde encontrá-los? Especialmente os scancodes USB seriam interessantes.

    
por defoe 28.11.2013 / 15:00

1 resposta

6

Os códigos de teclas estão em [src]/drivers/tty/vt/defkeymap.map :

# Default kernel keymap. This uses 7 modifier combinations.
[...]

Veja também minha resposta aqui para ver as formas ( dumpkeys ) e modificar ( loadkeys ) o mapa de chaves atual como ele existe no kernel em execução.

No entanto, esses são um nível um pouco mais alto do que os scancodes enviados pelo dispositivo. Aqueles podem ser o que está na tabela no topo de [src]/drivers/hid/hid-input.c , no entanto, como eles vêm do dispositivo , você não precisa da fonte do kernel do Linux para descobrir o que são ; eles são os mesmos, independentemente do SO.

"HID" == dispositivo de interface humana . O subdiretório usbhid de drivers/hid não parece conter nenhum código especial, pois os teclados USB são realmente teclados comuns.

Uma diferença entre códigos de teclas e scancodes é que os scancodes são mais granulares - note que há um sinal diferente para a imprensa e o lançamento. Um código de tecla corresponde a uma chave que está em baixo, acredito; então o kernel mapeia os eventos de scancode para um status de keycode.

    
por 28.11.2013 / 15:42