Repetir comando só se outro comando for acionado antes

Fala galera, boa noite! Estou usando um Arduino Leonardo para executar alguns teclas função do windows ao receber comandos externos. Fiz a seguinte programação:

#include <Keyboard.h>

void setup() {
pinMode(9,INPUT_PULLUP);
pinMode(10,INPUT_PULLUP);
pinMode(11,INPUT_PULLUP);
}

void loop() {

Keyboard.begin();

if (digitalRead(9) == 0){
Keyboard.press(0xC2);
delay(200);
Keyboard.releaseAll();}

if (digitalRead(10) == 0){
Keyboard.press(0xC3);
delay(200);
Keyboard.releaseAll();}

if (digitalRead(11) == 0){
Keyboard.press(0xC4);
delay(200);
Keyboard.releaseAll();}

Keyboard.end();
}

O que eu precisava implementar ai é o seguinte, que um dos comandos só fosse executado se outro for executado antes. Pra ser mais didático:

  • acionou pino 9 clicou F5;
  • acionou pino 9 de novo só clica F5 depois que acionar o pino 10;
  • acionou pino 10 clicou F6;
  • acionou pino 10 de novo só clicou F6 depois que acionar o pino 9, ou 11;

Mesmo tendo acionamento varias vezes só se repita o comando depois de acionar outro pino,tipo um rodizio!

E se não for aproveitar muito da bondade, teria como o Arduíno entender que um programa X está na tela do windows ai executar os comandos, se o programa for minimizado por exemplo, mesmo que acionado os pinos, ele não gere o comando?

Será que alguém consegue me dar um help? Sou bem iniciante em programação de Arduíno, desde já agradeço!

Vê se ajuda: Gobetwino.