Using custom reportmap on usb_hid. Confirmed with M5AtomS3(ESP32-S3) / CircuitPython 8.2.7 / MacOS Sonoma 14.1.
Detailed instrustion can be found in the following article. https://learn.adafruit.com/custom-hid-devices-in-circuitpython
This is the code from here with some modifications to make it work.
Almost the same as old (< ver.8) sample code.
Split report ids