Quand on appuie sur une touche, le contr�leur clavier envoie des
scancodes au pilote clavier du noyau. Certains claviers sont
programmables, mais en g�n�ral les scancodes sont fixes.
Quand le pilote clavier est en mode scancode (dit aussi
mode raw), le noyau se contente
de transmettre les codes tels quels � l'application, c'est ce qui se
passe sous X
. Sinon le flux de scancodes est d�compos� en
keycodes correspondant � l'appui ou au rel�chement d'une touche. (Le
simple fait d'appuyer sur une touche peut produire jusqu'� 6
scancodes, r�duits ici en un seul keycode.) Si le pilote clavier est
en mode keycode (ou
mode mediumraw),
l'application re�oit les keycodes (ce mode est utilis�, par exemple,
par showkey
).
Sinon, les keycodes sont traduits d'apr�s une table (keymap), ensuite,
soit un caract�re (ou un cha�ne) est envoy� � l'application, soit une
action est d�clench�e.
(Exemple: si on appuie et rel�che la touche q
, le clavier envoie
les scancodes 0x1E et 0x9E, ce qui est converti en keycodes 30 et
158, puis en la valeur 113, qui est le code ASCII ou Latin-1 de q
(avec un clavier Azerty et une keymap adapt�e).
Si on appuie et rel�che la touche Suppr
, le clavier envoie les
scancodes 0xE0 0x53 0xE0 0xD3, convertis en keycodes 111 et 239, ce
qui donne finalement la s�quence ESC [ 3 ~
. Ctrl-Alt-Suppr
est une combinaison de touches qui d�clenche une action.)
La conversion de scancodes exotiques en keycodes peut �tre programm�e
avec l'utilitaire setkeycodes
, mais peu de gens ont besoin.
La table de traduction des keycodes en caract�res, cha�nes ou
actions, i.e. la keymap, se manipule gr�ce � loadkeys
.
Pour plus de d�tails, voir getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1).
Dans ce paragraphe, le terme `envoy� � l'application' signifie en
fait `transmis au pilote du terminal'. Le texte est ensuite trait� de
la m�me fa�on que s'il venait d'une ligne s�rie. Les d�tails de ce
traitement sont ajust�s par le programme stty
.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:42