diff options
Diffstat (limited to 'contrib/SDL-3.2.8/src/hidapi/netbsd/README.md')
| -rw-r--r-- | contrib/SDL-3.2.8/src/hidapi/netbsd/README.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/hidapi/netbsd/README.md b/contrib/SDL-3.2.8/src/hidapi/netbsd/README.md new file mode 100644 index 0000000..f1b12a0 --- /dev/null +++ b/contrib/SDL-3.2.8/src/hidapi/netbsd/README.md | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | Implementation Notes | ||
| 2 | -------------------- | ||
| 3 | NetBSD maps every `uhidev` device to one or more `uhid` | ||
| 4 | devices. Each `uhid` device only supports one report ID. | ||
| 5 | The parent device `uhidev` creates one `uhid` device per | ||
| 6 | report ID found in the hardware's report descriptor. | ||
| 7 | |||
| 8 | In the event there are no report ID(s) found within the | ||
| 9 | report descriptor, only one `uhid` device with a report ID | ||
| 10 | of `0` is created. | ||
| 11 | |||
| 12 | In order to remain compatible with existing `hidapi` APIs, | ||
| 13 | all the `uhid` devices created by the parent `uhidev` device | ||
| 14 | must be opened under the same `hid_device` instance to ensure | ||
| 15 | that we can route reports to their appropriate `uhid` device. | ||
| 16 | |||
| 17 | Internally the `uhid` driver will insert the report ID as | ||
| 18 | needed so we must also omit the report ID in any situation | ||
| 19 | where the `hidapi` API expects it to be included in the | ||
| 20 | report data stream. | ||
| 21 | |||
| 22 | Given the design of `uhid`, it must be augmented with extra | ||
| 23 | platform specific APIs to ensure that the exact relationship | ||
| 24 | between `uhidev` devices and `uhid` devices can be determined. | ||
| 25 | |||
| 26 | The NetBSD implementation does this via the `drvctl` kernel | ||
| 27 | driver. At present there is no known way to do this on OpenBSD | ||
| 28 | for a `uhid` implementation to be at the same level as the | ||
| 29 | NetBSD one. | ||
