KEY SHIFT
fonction : tester l etat des touches de controle
bitmap=Key Shift
KEY SHIFT sert a connaitre l etat actuel des touches qui ne peuvent pas etre detectees par INKEY$ ou SCANCODE car elles ne possedent pas de codes Ascii. Ces touches "de controle" peuvent etre testees individuellement ou en combinaison. Une seule instruction KEY SHIFT peut tester tous les cas, sous la forme d un bit map, comme suit :
Bit Touche testee Remarques 0 [Shift Gauche] Une seule touche Shift a la fois 1 [Shift Droite] Une seule touche Shift a la fois 2 [Caps Lock] Activee ou non 3 [Ctrl] 4 [Alt Gauche] 5 [Alt Droite] 6 [Amiga Gauche] Appelée [Commodore] sur certains claviers 7 [Amiga Droite]
Si le bit est a 1, cela signifie que la touche est enfoncee, sinon elle ne l est pas (0). Voici un exemple pratique :
E> Centre "Appuyez sur des touches de controle" Curs Off Do Locate 14,4: Print Bin$(Key Shift,8) Loop
Ces touches peuvent aussi etre utilisees pour definir des macros via SCAN$ et KEY$, expliquees ci-dessous.
CLEAR KEY
instruction : reinitialiser le tampon clavier
Clear Key
Quand une touche est enfoncee, son code Ascii est place dans une zone memoire appelee le "tampon clavier". Cette zone est ensuite lue par INKEY$ pour detecter les frappes. CLEAR KEY vide completement ce tampon et reinitialise le clavier. Cette commande est tres utile en debut de programme si le tampon contient des frappes inutiles. CLEAR KEY peut aussi etre utilisee juste avant un WAIT KEY pour forcer l attente d une nouvelle frappe.