sdlHidEnumerate function

Pointer<SdlHidDeviceInfo> sdlHidEnumerate(
  1. int vendorId,
  2. int productId
)

Enumerate the HID Devices.

This function returns a linked list of all the HID devices attached to the system which match vendor_id and product_id. If vendor_id is set to 0 then any vendor matches. If product_id is set to 0 then any product matches. If vendor_id and product_id are both set to 0, then all HID devices will be returned.

By default SDL will only enumerate controllers, to reduce risk of hanging or crashing on bad drivers, but SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS can be set to "0" to enumerate all HID devices.

\param vendor_id the Vendor ID (VID) of the types of device to open, or 0 to match any vendor. \param product_id the Product ID (PID) of the types of device to open, or 0 to match any product. \returns a pointer to a linked list of type SDL_hid_device_info, containing information about the HID devices attached to the system, or NULL in the case of failure. Free this linked list by calling SDL_hid_free_enumeration().

\since This function is available since SDL 3.1.3.

\sa SDL_hid_device_change_count

extern SDL_DECLSPEC SDL_hid_device_info * SDLCALL SDL_hid_enumerate(unsigned short vendor_id, unsigned short product_id)

Implementation

Pointer<SdlHidDeviceInfo> sdlHidEnumerate(int vendorId, int productId) {
  final sdlHidEnumerateLookupFunction = libSdl3.lookupFunction<
      Pointer<SdlHidDeviceInfo> Function(Uint16 vendorId, Uint16 productId),
      Pointer<SdlHidDeviceInfo> Function(
          int vendorId, int productId)>('SDL_hid_enumerate');
  return sdlHidEnumerateLookupFunction(vendorId, productId);
}