Probleme mehrere gleichzeitige Tastendrücke zu senden

Schönes Speicherleck dass du da gebaut hast. Wenn du nicht weißt wie man dynamischen Speicher verwendet lass es sein.
Du kannst entweder ein globales Array verwenden oder ein Array als Parameter übergeben. Das Array wird sowieso nie größer als 10 Einträge. Also braucht man auch keinen dynamischen Speicher.

Und auch das ist wieder mal ein Anwendung für ein struct:

int pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int unpressed[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
char output[] = {'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p'};