Problems sending multiple simultaneously held keys

Hello everyone!

I recently started my first project using an Arduino Leonardo and some Cherry MX switches, with which i want to build a game controller.

I don’t know if you are familiar with the game “Guitar Hero” but the controller i want to build is supposed to work like one of these: Guitar

Containing five colored buttons resembling notes ingame, as well as a strumbar that goes up or down to strum these notes, a tremolobar to gain so called “starpower” which multiplies you score when used, a button to use that starpower and a button for options.

The colored buttons should be able to be pressed and held for any amount of time. The strumbar, as well as the starpower and option buttons should only give one input each as they are pressed and the tremolobar should work like any other potentiometer.

I scrapped most of my ideas, when i realized they would not work, but this is what is left of my code:

#include <Keyboard.h>
int strumUp = 2;
int strumDown = 3;
char downArrow = KEY_DOWN_ARROW;
char upArrow = KEY_UP_ARROW;
int pins[]       = {4, 5, 6, 7, 8, 9, 10, 12};
int pressed[]    = {0, 0, 0, 0, 0, 0, 0, 0};
int pressedOld[] = {0, 0, 0, 0, 0, 0, 0, 0};
int difference[] = {0, 0, 0, 0, 0, 0, 0, 0};
char output[] = {'e', 'r', 't', 'z', 'u', 'i', 'o', 'p'};

void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);
  pinMode(11, INPUT);
  Keyboard.begin();
}

void loop() {
  for (int i = 0 ; i < 8 ; i++) {
    pressed[i] = digitalRead(pins[i]);
    if (pressed[i] ==

  }
}

void sendKeys() {
  Keyboard.press();
  Keyboard.release()
}
void compare() {
  for ( int n = 0 ; n < 8 ; n++ ) {
    if ( pressed[n] != pressedOld[n]) {
      difference[n] = 
    }
    }
}

As you can see, i have no idea what i am doing, which is why i need help.
I would really appreciate a code example showing me what to do here.