sdlxHidGetReportDescriptor function hidapi
Get a report descriptor from a HID device.
User has to provide a preallocated buffer where descriptor will be copied to. The recommended size for a preallocated buffer is 4096 bytes.
\param dev a device handle returned from SDL_hid_open(). \param buf the buffer to copy descriptor into. \param buf_size the size of the buffer in bytes. \returns the number of bytes actually copied or -1 on failure; call SDL_GetError() for more information.
\since This function is available since SDL 3.2.0.
extern SDL_DECLSPEC int SDLCALL SDL_hid_get_report_descriptor(SDL_hid_device *dev, unsigned char *buf, size_t buf_size)
Implementation
Uint8List sdlxHidGetReportDescriptor(
Pointer<SdlHidDevice> dev, {
int bufSize = 4096,
}) {
var bytes = 0;
late Uint8List data;
final dataPointer = ffi.calloc<Uint8>(bufSize);
bytes = sdlHidGetReportDescriptor(dev, dataPointer, bufSize);
if (bytes > 0) {
data = Uint8List.fromList(dataPointer.asTypedList(bytes).sublist(0));
} else {
data = Uint8List(0);
}
dataPointer.callocFree();
return data;
}