Probleme mehrere gleichzeitige Tastendrücke zu senden

#include <Keyboard.h>
int pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int pressed[];
int unpressed[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
char output[] = {'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p'};
void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(6, INPUT_PULLUP);
  pinMode(7, INPUT_PULLUP);
  pinMode(8, INPUT_PULLUP);
  pinMode(9, INPUT_PULLUP);
  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  checkpressed();
}

int[] checkpressed() {
  int x = 0;
  for( int i = 0 ; i < 10 ; i++) {
    if(digitalRead(pins[i] == HIGH) {
    x++;
    }
    int pressed[] = new int[x];
    for( int n = 0 ; n < 0 ; n++) {
    if(digitalRead(pins[n] == HIGH) {
    }  
    }
  }
  return pressed[];
}

Weiter bin ich bis jetzt nicht gekommen, die Idee dahinter war, alle Pins und alle Zustände in Arrays zu packen, zu prüfen, ob sich in der nächsten runde des Loops etwas an den Zuständen verändert hat und dann für die gedrückten Tasten den press Befehl weiterzuführen und die losgelassenen halt zu releasen.