sdlxHidGetReportDescriptor function hidapi

Uint8List sdlxHidGetReportDescriptor(
  1. Pointer<SdlHidDevice> dev, {
  2. int bufSize = 4096,
})

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)

See also:

Implementation

Uint8List sdlxHidGetReportDescriptor(
  Pointer<SdlHidDevice> dev, {
  int bufSize = 4096,
}) => ffi.using((arena) {
  final dataPointer = arena<Uint8>(bufSize);
  final bytes = sdlHidGetReportDescriptor(dev, dataPointer, bufSize);

  if (bytes <= 0) {
    return Uint8List(0);
  }

  return Uint8List.fromList(dataPointer.asTypedList(bytes));
});