Table des Matières du Clavier | Index du Clavier |
Vous pouvez regarder les étets de toutes les touches sur le clavier à un moment donné dans le temps. Cette information et capturée et reportée de deux manières:
Dans les deux cas, le champ de bits est un tableau de 16 octets,
uint8 states[16];
Avec un bit représentant chaque touche sur le clavier. Les bits sont numérotés de gauche à droite, en commençant avec le premier octet dans le tableau, comme illustré si dessous :
Les numéros de bit commencent avec 0 et correspondent aux codes de touche. Par exemple, le bit 0x3c correspond à la touche A, 0x3d à la touche S, 0x3e à la touche D, et ainsi de suite. Le premier bit est 0x00, qui ne correspond à aucune touche. Le premier bit significatif est 0x01, qui correspond à la touche d'échappement.
Quand une touche et pressée, le bits correspondant à son code de touche est initialisé à 1. Autrement, le bit est 0. Cependant, pour les trois touches qui correspondent au verrouillage du clavier —Caps Lock(Majuscule) (key 0x3b), Num Lock(Pavé Numérique) (key 0x22), et Scroll Lock(Défilement) (key 0x0f)—le bit est initialisé à un si le verrouillage est actif et initialisé à zéro si le verrouillage est inactif me, quelle que soit l'état de la touche elle-même.
Pour tester le champ de bit sur une touche particulière,
Par exemple:
if (states[keyCode>>3] & (1 << (7 - (keyCode%8)))) { /* la touche est pressée */ }
Table des Matières du Clavier | Index du Clavier |
Copyright © 2000 Be, Inc. All rights reserved..