Page 1 of 1

[Axiome] Le getkey le plus optimisé

Unread postPosted: 07 May 2013, 12:34
by Persalteas
(post originel par kindermoumoute ici.)

Je me permet de faire brièvement la présentation de l'axiome SPEEDKEY. Cet axiome permet de détecter les touches du pavé directionnel de manière très optimisé.

Je dis "brievement" pour la bonne raison que cet axiome est le plus petit jamais conçu (et utile), il ajoute la commande getDir ([Zoom] [3]).

Pour l'utiliser, rien de plus simple ; il vous faut d'abord télécharger l'axiome, le mettre sur votre calculatrice, et taper ceci en début de programme :
Code: Select all
:#Axiom(SPEEDKEY)


Pour rappel la commande #Axiom( se trouve dans le catalogue à la lettre A. Voici un exemple de programme tout simple qui montre bien l'efficacité de cet axiome :
Code: Select all
:.A
:#Axiom(SPEEDKEY)
:
:While 1
:Disp getDir>Dec,i
:EndIf getKey(15)


Aaah, mais ce ne sont pas les mêmes codes touche qui s'affichent ?

Pour le côté technique, la touche du bas correspond au bit 1, la touche de gauche au bit 2, la touche de droite au bit 3 et la touche du haut au bit 4. Donc vous aurez déjà deviné les combinaisons de bases :
  • Bas : 1
  • Gauche : 2
  • Droite : 4
  • Haut : 8
Seulement on peut faire encore mieux et détecter les diagonales tout simplement en additionnant les bits :
  • Bas+Gauche : 3
  • Gauche+Haut : 10
  • Haut+Droite : 12
  • Droite+Bas : 5

Toutes les autres combinaisons/touches valent zéro.

C'est valable pour toutes les autres touches du clavier, et lorsqu'on fait Haut et Bas en même temps par exemple. Pour les intéressés c'est juste un Haut xor Bas et Droite xor Gauche. ;)