Evénements

La gestion du clavier est aynchrone. Lorsque votre fenêtre graphique a le focus, les touches appuyées sont envoyées dans une file FIFO (First In Firt Out) en attente de traitement. La bibliothèque offre seulement deux fonctions.

Codage des touches

Dans le système X-Window, les touches sont codées à plusieurs niveaux. Au niveau le plus bas, chaque touche à un numéro entre 8 et 255. Ceci n'est pas modifiable, et dépend uniquement du serveur; donc pas très exploitable, puisque trop dépendant du type de clavier logique ou physique.

Aussi les touches sont-elles codées au niveau au-dessus sous forme d'un entier non-signé qui établit une correspondance entre la touche et sa signification. Grâce à cette couche, on peut envisager différents types d'alphabets (latin, hébreu, russe,...). Cette correspondance est définie dans le fichier : /usr/include/X11/keysymdef.h

code dans [0xFF00,0xFFFF]
constante symbolique Description
touches de contrôles  
XK_Tab tabulation
XK_Return entrée
XK_Pause  
XK_Escape échappe
XK_Delete  
XK_Num_Lock  
XK_Left XK_Right XK_Up XK_Down flèches directionnelles
touches modificatrices  
XK_Shift_L Shift gauche
XK_Shift_R Shift droit
XK_Control_L  
XK_Control_R  
XK_Caps_Lock  
XK_Alt_L  
XK_Alt_R  
pavé numérique  
XK_KP_Tab  
XK_KP_Enter  
XK_KP_F1  
XK_KP_F2  
XK_KP_F3  
XK_KP_F4  
XK_KP_Equal  
XK_KP_Multiply  
XK_KP_Add  
XK_KP_Substract  
XK_KP_Decimal  
XK_KP_Divide  
XK_KP_Separator  
XK_KP_0..XK_KP_9  
code dans [0x0000,0x00FF]
constante symbolique caractère
XK_space  
XK_exclam !
XK_quotedbl ``
XK_numbersign #
XK_dollar $
XK_percent %
XK_ampersand &
XK_quoteright '
XK_parentleft (
XK_parentright )
XK_asterisk *
XK_plus +
XK_comma ,
XK_minus -
XK_period .
XK_slash /
XK_0..XK_9 0..9
XK_colon :
XK_semicolon ;
XK_less <
XK_equal =
XK_greater >
XK_question ?
XK_at @
XK_a..XK_z a..z
XK_A..XK_B A..Z
XK_bracketleft ,XK_bracketright [ , ]
XK_backslash \
XK_underscore _
XK_asciicircum ^
XK_braceleft ,,XK_braceright { , }
XK_bar |
XK_asciitilde ~

Remarques

IUT de Fontainebleau

Haut de la page