So, ich habe jetzt einen funktionierende Programmcode
int fin[] = {0,1,2,3,4,5,6,7,8,9,10,11};
int chan[] = {A0, A1, A2, A3};
int led = 13;
int chan_state = 0;
void setup()
{
for(int i = 0 ; i <=11 ; i++)
{
pinMode(fin[i], INPUT_PULLUP);
pinMode(chan[i], INPUT_PULLUP);
}
pinMode(led, OUTPUT);
Keyboard.begin();
Serial.begin(9600);
}
#define CHARBUTTONS 12
#define MODIFIERBUTTONS 4
char charTable[MODIFIERBUTTONS+1][CHARBUTTONS]={
{'a','b','c','d','e','f','g','h','i','j','k','l'},
{'m','n','o','p','q','r','s','t','u','v','w','x'},
{'y','z','!','%','&','/','(',')','=','?','.',','},
{'1','2','3','4','5','6','7','8','9','0','+','-'}
};
int readCharButton()
{
for(int j = 0 ; j<=11 ; j++)
{
if(digitalRead(fin[j]) == LOW)
{
return j;
}
}
return -1;
}
int readModifierButton()
{
for(int i = 0 ; i <= 3 ; i++)
{
if(digitalRead(chan[i]) == LOW)
{
chan_state = i;
}
}
return chan_state;
}
void fireButton(int charBtn, int modifierBtn)
{
Keyboard.press(charTable[modifierBtn][charBtn]);
Serial.println(charTable[modifierBtn][charBtn]);
}
void loop()
{
int charButton,modifierButton;
charButton=readCharButton();
modifierButton=readModifierButton();
if (charButton>=0)
{
fireButton(charButton,modifierButton);
}
else
{
Keyboard.releaseAll();
}
}
vielen Dank für eure Hilfe!