Mapeamento de scancodes para keycodes

6

O artigo do Archwiki Mapear scancodes para códigos de teclas states

Mapping scancodes to keycodes is universal and not specific to Linux console or Xorg [...]

enquanto o artigo do Archwiki Teclas extras do teclado (que o artigo anterior sugere ler) afirma

Note that the keycodes are different for Linux console and Xorg.

Qual dos dois é verdadeiro? Ou estou recebendo algo errado e não é uma contradição?

    
por jan 12.05.2017 / 14:57

1 resposta

5

Os códigos de teclas são numericamente diferentes: O valor do código-chave X é derivado da adição de 8 (o valor de MIN_KEYCODE ) ao código-chave da camada de entrada do Linux, como você pode ver na fonte evdev.c , linha 280. Além disso, eles são idênticos (mesma ordem, mesmo significado).

E o mapeamento de scancodes para keycodes é realmente feito por dispositivo de entrada , portanto não é "universal" nesse sentido: você pode conectar dois teclados USB ao computador e dar a cada teclado seu próprio mapeamento ( Engraçadamente, não parece ser um programa utilitário padrão para fazer isso. No entanto, os códigos de chaves resultantes serão os mesmos para o console Linux e X (ignorando a diferença numérica).

    
por 12.05.2017 / 15:36