I have been watching a new HID device been added to SDL called SInput, which has got quite a bit of work of late - libsdl-org/SDL#13343
Looks like a documented way of adding a bunch of support features into at least SDL - https://docs.handheldlegend.com/s/sinput/doc/sinput-hid-protocol-TkPYWlDMAg and even a githib repo - https://github.com/HandHeldLegend/SInput-HID
If SDL supports these features, I bet that Linux and Chrome WebHID support will follow (as open source projects)