Get TouchKeyUsb shield to press+hold keys

Hello,

I have a Keyestudio TouchKeyUsb Shield connected to some buttons. All the wiring works fine.
I have some code that triggers a keyboard key whenever I press a button.
But when I press and hold a button, instead of holding a keyboard key, it rapidly presses and releases the keys instead of pressing and holding them.
Do you know if there’s any way to get it to press a key when I press the button, and release the key when I release the button?

Found the library on Github:
https://github.com/cefaloide/Arduino-Makey-Touch-Key-USB-SHIELD
Shield on Keyestudio Wiki
https://wiki.keyestudio.com/Ks0147_keyestudio_Touch_Key_USB_shield

Code:

#include "UsbKeyboard.h"

#define BYPASS_TIMER_ISR 1

void setup() {
  pinMode(12, INPUT_PULLUP); //start button
  pinMode(13, INPUT_PULLUP); //y button
  pinMode(A2, INPUT_PULLUP); //x button
  pinMode(A3, INPUT_PULLUP); //b button
  pinMode(A4, INPUT_PULLUP); //a button
  pinMode(A5, INPUT_PULLUP); //select button
  
  #if BYPASS_TIMER_ISR
  // disable timer 0 overflow interrupt (used for millis)
  TIMSK0&=!(1<<TOIE0); // ++
#endif
}

#if BYPASS_TIMER_ISR
void delayMs(unsigned int ms) {
   /*
  */ 
  for (int i = 0; i < ms; i++) {
    delayMicroseconds(1000);
  }
}
#endif

void loop() {
  UsbKeyboard.update();
  if (analogRead(A0) > 1000) {
     UsbKeyboard.sendKeyStroke(KEY_W);
  } else if (analogRead(A0) < 100) {
     UsbKeyboard.sendKeyStroke(KEY_S); 
  }
  
  if (analogRead(A1) > 1000) {
     UsbKeyboard.sendKeyStroke(KEY_D);
  } else if (analogRead(A1) < 100) {
     UsbKeyboard.sendKeyStroke(KEY_A);
  }
  
  if (digitalRead(12) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_ENTER);
  }
  if (digitalRead(13) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_O);
  }
  if (digitalRead(A2) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_I);
  }
  if (digitalRead(A3) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_L);
  }
  if (digitalRead(A4) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_K);
  }
  if (digitalRead(A5) == LOW) {
    UsbKeyboard.sendKeyStroke(KEY_SPACE);
  }
#if BYPASS_TIMER_ISR  // check if timer isr fixed.
    delayMs(1);
#else
    delay(1);
#endif
    
}