Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 637

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Le clavier - g&eacute;n&eacute;ralit&eacute;s</TITLE>
</HEAD>
<BODY>
<H1>2. <A NAME="s2"></A>Le clavier - g&eacute;n&eacute;ralit&eacute;s</H1>
<P>
<A HREF="Keyboard-HOWTO.html#toc2">Contenu de cette section</A></P>

<P></P>
<P>Quand on appuie sur une touche, le contr&ocirc;leur clavier envoie des
scancodes au pilote clavier du noyau. Certains claviers sont
programmables, mais en g&eacute;n&eacute;ral les scancodes sont fixes.
Quand le pilote clavier est en <EM>mode scancode</EM> (dit aussi
<EM>mode raw</EM>), le noyau se contente 
de transmettre les codes tels quels &agrave; l'application, c'est ce qui se
passe sous <CODE>X</CODE>. Sinon le flux de scancodes est d&eacute;compos&eacute; en
keycodes correspondant &agrave; l'appui ou au rel&acirc;chement d'une touche. (Le
simple fait d'appuyer sur une touche peut produire jusqu'&agrave; 6
scancodes, r&eacute;duits ici en un seul keycode.) Si le pilote clavier est
en <EM>mode keycode</EM> (ou
<EM>mode mediumraw</EM>),
l'application re&ccedil;oit les keycodes (ce mode est utilis&eacute;, par exemple,
par <CODE>showkey</CODE>).
Sinon, les keycodes sont traduits d'apr&egrave;s une table (keymap), ensuite,
soit un caract&egrave;re (ou un cha&icirc;ne) est envoy&eacute; &agrave; l'application, soit une
action est d&eacute;clench&eacute;e.
(Exemple: si on appuie et rel&acirc;che la touche <CODE>q</CODE>, 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 <CODE>q</CODE>
(avec un clavier Azerty et une keymap adapt&eacute;e).
Si on appuie et rel&acirc;che la touche <CODE>Suppr</CODE>, le clavier envoie les
scancodes 0xE0 0x53 0xE0 0xD3, convertis en keycodes 111 et 239, ce
qui donne finalement la s&eacute;quence ESC <CODE>[ 3 ~</CODE>. Ctrl-Alt-Suppr
est une combinaison de touches qui d&eacute;clenche une action.)</P>
<P>La conversion de scancodes exotiques en keycodes peut &ecirc;tre programm&eacute;e
avec l'utilitaire <CODE>setkeycodes</CODE>, mais peu de gens ont besoin.
La table de traduction des keycodes en caract&egrave;res, cha&icirc;nes ou
actions, i.e. la keymap, se manipule gr&acirc;ce &agrave; <CODE>loadkeys</CODE>.
Pour plus de d&eacute;tails, voir getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1).</P>
<P>Dans ce paragraphe, le terme `envoy&eacute; &agrave; l'application' signifie en
fait `transmis au pilote du terminal'. Le texte est ensuite trait&eacute; de
la m&ecirc;me fa&ccedil;on que s'il venait d'une ligne s&eacute;rie. Les d&eacute;tails de ce
traitement sont ajust&eacute;s par le programme <CODE>stty</CODE>. </P>
<P></P>
<HR>
<P>
Chapitre <A HREF="Keyboard-HOWTO-3.html">suivant</A>,
Chapitre <A HREF="Keyboard-HOWTO-1.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="Keyboard-HOWTO.html#toc2">ce chapitre</A>,
 <A HREF="Keyboard-HOWTO.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="Keyboard-HOWTO.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>