Arduino USB Host Shield

The following is a simpler device that might work for your application. I have never used so I cannot answer any questions about it.

Note the pro mini must operate using 3.3V logic levels to work with the USB host mini board. These two boards together appoximate the capabilities of the Hobbytronics device.

The usb host mini has a SPI interface and the ESP32 has a SPI interface so there is no need for the pro mini or the hobbytronics device. But whatever is easiest for you.

In the USBHIDBootKbd example, the following functions will be called when a USB keyboard key is pressed. OnKeyDown is called for regular keys and OnControlKeysChanged is called for shift key(shift, control, alt, GUI/Windows). Put your code to handle the keys inside one of these functions.

Usb.Task() keeps checking the keyboard for key presses then calls one of the above functions when a key is pressed. There is no need for a Keyboard.read function.

It does not help to post multiple messages all over the board all on the same topic.