See https://elixir.bootlin.com/linux/latest/ident/BUS_INTEL_ISHTP
Each of these flags defines whether a given report-type uses numbered reports.
If numbered reports are used for a type, all messages from the kernel already have the report-number as prefix. Otherwise, no prefix is added by the kernel.
For messages sent by user-space to the kernel, you must adjust the prefixes according to these flags.
See https://www.kernel.org/doc/html/latest/hid/uhid.html#write
See https://www.kernel.org/doc/html/latest/hid/uhid.html#read
See https://www.kernel.org/doc/html/latest/hid/uhid.html#read
Any IO error will probably be ‘permission-denied’ if you don’t have access to open /dev/uhid
An unknown event type error should only occur if a new event has been added to uhid-sys
that this wrapper is unaware of.