So i discovered that if I use the below code for the button press then at least the correct button is being detected.
Joystick.setButton(buttbx.key[i].kchar, 1);
delay(50);
Joystick.setButton(buttbx.key[i].kchar, 0);
However still all keys are going into the i==0 if statement and ignoring the else portion.