Intervertir deux actions sur la même touche
Posté : 11 avr. 2018, 11:58
Bonjour à tous,
D'abord je vous informe que je ne comprends pas toujours ce que je fais et j'y vais par tâtonnements. Justement, j'essaye d'apprendre via ces petits projets.
J'essaye de classifier mes infos que vous puissiez allez chercher facilement/rapidement ce dont vous avez besoin pour m'aider.
Le but final :
Pour ma première macro, j'aimerais ceci :
Que lorsque j'appuie sur une touche une 1ere fois (touche A), supermacro émule la frappe d'un texte (debut).
Puis lorsque j'appuie sur cette touche une 2eme fois (touche A), supermacro émule la frappe d'un autre texte (FIN).
Ce que j'ai essayé :
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type debut
Goto <EcouteA2>
Label <EcouteA2>
Pause 00:00:01
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA2>
Goto <EcouteA2>
Label <ActionA2>
Calcul évolué [EVENT.ACTIVATE]=0
Type fin
Résultat : quand je joue cette macro, si j'appuie sur la touche a, il m'écrit tout d'un coup : "adebutfin" (en repectant la pause entre "debut" et "fin").
Mon raisonnement erroné du problème :
J'avais mis cette pause pour que justement la nouvelle écoute de la touche "a" se fasse après une pause et par conséquent la seconde me permettait d'avoir relâché la touche. BIG FAIL. Il semblerait que l'écoute se fasse qu'une fois et au début. Je me suis dit ok, qu'à cela ne tienne. Je n'ai qu'a faire une première macro qui écoute "a" pour m'écrire "début", la fermer et appeler une seconde macro "a" pour "fin". Comme ça je force 2 écoutes séparées ! Ce que j'ai fait :
Macro1 :
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type debut
Pause 00:00:01
Execute C:\Users\Dridri\Desktop\Fin.mcr
Macro2:
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type FIN
Pause 00:00:04
Execute C:\Users\Dridri\Desktop\Debut.mcr
Résultat : quand je joue cette macro, si j'appuie sur la touche a, il m'écrit tout d'un coup : "debutfin" en boucle (en repectant les pauses entre "debut" et "fin").
Mon raisonnement erroné du problème : Bordel, comment la seconde macro peut réagir au fait que j'avais appuyé sur "a" pendant l’exécution de la première macro, alors qu'elle n'était même pas encore lancée et par conséquent n'écoutait pas "a" ! Grrrr ! Bon il semblerait qu'entre macro1 et macro2 il y ait de la transmission d'information...
Si une âme charitable veut bien corriger mon code ce serait déjà bien. Si elle veut bien m'expliquer comment voir les choses ce serait encore mieux.
Bonne journée !
D'abord je vous informe que je ne comprends pas toujours ce que je fais et j'y vais par tâtonnements. Justement, j'essaye d'apprendre via ces petits projets.
J'essaye de classifier mes infos que vous puissiez allez chercher facilement/rapidement ce dont vous avez besoin pour m'aider.
Le but final :
Pour ma première macro, j'aimerais ceci :
Que lorsque j'appuie sur une touche une 1ere fois (touche A), supermacro émule la frappe d'un texte (debut).
Puis lorsque j'appuie sur cette touche une 2eme fois (touche A), supermacro émule la frappe d'un autre texte (FIN).
Ce que j'ai essayé :
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type debut
Goto <EcouteA2>
Label <EcouteA2>
Pause 00:00:01
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA2>
Goto <EcouteA2>
Label <ActionA2>
Calcul évolué [EVENT.ACTIVATE]=0
Type fin
Résultat : quand je joue cette macro, si j'appuie sur la touche a, il m'écrit tout d'un coup : "adebutfin" (en repectant la pause entre "debut" et "fin").
Mon raisonnement erroné du problème :
J'avais mis cette pause pour que justement la nouvelle écoute de la touche "a" se fasse après une pause et par conséquent la seconde me permettait d'avoir relâché la touche. BIG FAIL. Il semblerait que l'écoute se fasse qu'une fois et au début. Je me suis dit ok, qu'à cela ne tienne. Je n'ai qu'a faire une première macro qui écoute "a" pour m'écrire "début", la fermer et appeler une seconde macro "a" pour "fin". Comme ça je force 2 écoutes séparées ! Ce que j'ai fait :
Macro1 :
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type debut
Pause 00:00:01
Execute C:\Users\Dridri\Desktop\Fin.mcr
Macro2:
Variable [EVENT.ACTIVATE];[EVENT.ACTIVATE];Numerique;
Variable [EVENT.KEY];[EVENT.KEY];Alpha;
Variable <Var1>;;Alpha;
Calcul évolué [EVENT.ACTIVATE]=1
Label <EcouteA1>
Calcul évolué <Var1>=[EVENT.KEY]
Examine <Var1>;=;a;
Goto <ActionA1>
Goto <EcouteA1>
Label <ActionA1>
Calcul évolué [EVENT.ACTIVATE]=0
Type FIN
Pause 00:00:04
Execute C:\Users\Dridri\Desktop\Debut.mcr
Résultat : quand je joue cette macro, si j'appuie sur la touche a, il m'écrit tout d'un coup : "debutfin" en boucle (en repectant les pauses entre "debut" et "fin").
Mon raisonnement erroné du problème : Bordel, comment la seconde macro peut réagir au fait que j'avais appuyé sur "a" pendant l’exécution de la première macro, alors qu'elle n'était même pas encore lancée et par conséquent n'écoutait pas "a" ! Grrrr ! Bon il semblerait qu'entre macro1 et macro2 il y ait de la transmission d'information...
Si une âme charitable veut bien corriger mon code ce serait déjà bien. Si elle veut bien m'expliquer comment voir les choses ce serait encore mieux.
Bonne journée !