30

Enfin la taille du code, je dirais qu'à première vue, étant donné que je privilégias le #define, non. Mais comme tu me le fais remarquer, passer par une fonction est la meilleure des deux solutions. smile

Oups ... j'ai du mal à factoriser le code en fonction à cause de la macro PSEUDO_CONST_KBD : si je dois la remplacer à chaque fois, ce n'est plus une fonction.
En Macro ça ne passe pas non plus sad
Le gentil timide du 64

31

Alors en fait un RR_machin est une macro qui représente deux entiers séparés par une virgule, donc si tu veux définir une fonction qui prend en paramètre un RR_* :
int pressed(int row,int col) {
  ... _keytest_optimized(row,col) ...
}

... if (pressed(RR_ENTER)) ...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

32

merci smile
mais je n'y arrive pas : je me suis lancé dans un domaine qui ne correspond pas : je ferais mieux de me tenir aux combinaisons kakuro.
Le gentil timide du 64

33

tu n'arrives pas à faire quoi ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

34

je n'arrive pas à faire une fonction qui prend en paramètre un KBD_PSEUDO_CONSTANT ou KBD_PSEUDO_CONSTANT * (Moi et les macros sad )
Le gentil timide du 64

35

quel est ton code ? normalement avec ./31 ça devrait marcher smile (sauf qu'en fait il faut utiliser _keytest au lieu de _keytest_optimized, parce que _keytest_optimized a besoin d'être mis entre BEGIN_KEYTEST et END_KEYTEST)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

36

Comme ça me prenait la tête, je l'avais effacé entièrement de ma calculette... tout en me disant que si je voulais reprendre, j'ai celui que j'ai transféré en post ./23 wink
J'étais énervé, je me suis défoulé en effacant le code ma calculette, mais il y a encore la possibilité de le retransferer.
Si tu veux, ne me donne pas la solution maintenant, comme ça je me le retransferts, je réessaye exactement la même chose, et je te poste mon erreur

Promis, toujours une sauvegarde de coté d'une version assez évolué du code avant que l'idée de faire une bêtise me prenne .
Le gentil timide du 64

37

Pollux, voilà déja un premier blocage :
int pressed(int row, int col){
   return _keytest_optimized(row,col);
}


me retourne :
In file ''(line 18), in function pressed :
Error : undifined identifier '__current_row'


(même en incluant compat.h)

Autre question
Quelle la différence entre la solution de squale92 (tester les 3 états touche relachée/appuyée/relachée) post ./15 et son autre solution (utiliser une variable volatile dans une boucle) post ./17 ? Parce que je suis tenté de prendre la solution de Martial. Je vous explique pourquoi : parce que pour l'instant, j'ai du mal à trouver le système qui me permette de tester les appuis long de touches, pour incrémenter sans atendre d'autant de secondes (demi-secondes) que nécessaires.
Le gentil timide du 64

38

Pollux (./35) :
(sauf qu'en fait il faut utiliser _keytest au lieu de _keytest_optimized, parce que _keytest_optimized a besoin d'être mis entre BEGIN_KEYTEST et END_KEYTEST)

oui
(autrement dit tu ne peux utiliser _keytest_optimized que si tu fais tous tes appels à _keytest_optimized dans une même fonction... de toute façon _keytest_optimized est assez crade, donc c'est pas très grave ; au pire si ça devient trop lent tu peux passer par _rowread)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

39

(Pollux parle à Pollux ... roll )
Tu es sûr que tu ne t'es pas trompé de citation ? sad
Le gentil timide du 64

40

non, c'est juste que le passage de ./35 que j'ai cité répond à la question de ./37 ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

41

donc pour utiliser ma fonction, je ne passe que par des _keytest au lieu de _keytest_optimized
Le gentil timide du 64

42

oui

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

43

Ecoutes, je sèche, penses-tu avoir le courage de me donner la solution complète ? Je suis incapable de faire al modif sans obtenir une seule erreur de compilation.
Le gentil timide du 64