From 3da13705af8db9072f35b5f4a146e213fedc4038 Mon Sep 17 00:00:00 2001 From: James Buren Date: Mon, 5 Aug 2024 15:05:58 -0500 Subject: [PATCH] Update hidapi dependency to 0.14.0 --- OpenRGB.pro | 2 +- .../{hidapi/hidapi => hidapi-win/include}/hidapi.h | 1183 +++++++++-------- dependencies/hidapi-win/include/hidapi_winapi.h | 74 ++ dependencies/hidapi-win/x64/hidapi.dll | Bin 130560 -> 162304 bytes dependencies/hidapi-win/x64/hidapi.lib | Bin 6270 -> 6850 bytes dependencies/hidapi-win/x86/hidapi.dll | Bin 110080 -> 132608 bytes dependencies/hidapi-win/x86/hidapi.lib | Bin 6376 -> 6964 bytes dependencies/hidapi/hidapi.c | 1383 -------------------- 8 files changed, 699 insertions(+), 1943 deletions(-) rename dependencies/{hidapi/hidapi => hidapi-win/include}/hidapi.h (85%) create mode 100644 dependencies/hidapi-win/include/hidapi_winapi.h delete mode 100644 dependencies/hidapi/hidapi.c diff --git a/OpenRGB.pro b/OpenRGB.pro index 2b27043e..c9d47097 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -237,7 +237,7 @@ TRANSLATIONS += win32:QMAKE_CXXFLAGS += /utf-8 win32:INCLUDEPATH += \ dependencies/display-library/include \ - dependencies/hidapi/hidapi \ + dependencies/hidapi-win/include \ dependencies/winring0/include \ dependencies/libusb-1.0.27/include \ dependencies/mbedtls-2.28.8/include \ diff --git a/dependencies/hidapi/hidapi/hidapi.h b/dependencies/hidapi-win/include/hidapi.h similarity index 85% rename from dependencies/hidapi/hidapi/hidapi.h rename to dependencies/hidapi-win/include/hidapi.h index 3cee21db..2da647f3 100644 --- a/dependencies/hidapi/hidapi/hidapi.h +++ b/dependencies/hidapi-win/include/hidapi.h @@ -1,559 +1,624 @@ -/******************************************************* - HIDAPI - Multi-Platform library for - communication with HID devices. - - Alan Ott - Signal 11 Software - - libusb/hidapi Team - - Copyright 2022, All Rights Reserved. - - At the discretion of the user of this library, - this software may be licensed under the terms of the - GNU General Public License v3, a BSD-Style license, or the - original HIDAPI license as outlined in the LICENSE.txt, - LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt - files located at the root of the source distribution. - These files may also be found in the public source - code repository located at: - https://github.com/libusb/hidapi . -********************************************************/ - -/** @file - * @defgroup API hidapi API - */ - -#ifndef HIDAPI_H__ -#define HIDAPI_H__ - -#include - -#ifdef _WIN32 - #define HID_API_EXPORT __declspec(dllexport) - #define HID_API_CALL -#else - #define HID_API_EXPORT /**< API export macro */ - #define HID_API_CALL /**< API call macro */ -#endif - -#define HID_API_EXPORT_CALL HID_API_EXPORT HID_API_CALL /**< API export and call macro*/ - -/** @brief Static/compile-time major version of the library. - - @ingroup API -*/ -#define HID_API_VERSION_MAJOR 0 -/** @brief Static/compile-time minor version of the library. - - @ingroup API -*/ -#define HID_API_VERSION_MINOR 13 -/** @brief Static/compile-time patch version of the library. - - @ingroup API -*/ -#define HID_API_VERSION_PATCH 0 - -/* Helper macros */ -#define HID_API_AS_STR_IMPL(x) #x -#define HID_API_AS_STR(x) HID_API_AS_STR_IMPL(x) -#define HID_API_TO_VERSION_STR(v1, v2, v3) HID_API_AS_STR(v1.v2.v3) - -/** @brief Coverts a version as Major/Minor/Patch into a number: - <8 bit major><16 bit minor><8 bit patch>. - - This macro was added in version 0.12.0. - - Convenient function to be used for compile-time checks, like: - #if HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0) - - @ingroup API -*/ -#define HID_API_MAKE_VERSION(mj, mn, p) (((mj) << 24) | ((mn) << 8) | (p)) - -/** @brief Static/compile-time version of the library. - - This macro was added in version 0.12.0. - - @see @ref HID_API_MAKE_VERSION. - - @ingroup API -*/ -#define HID_API_VERSION HID_API_MAKE_VERSION(HID_API_VERSION_MAJOR, HID_API_VERSION_MINOR, HID_API_VERSION_PATCH) - -/** @brief Static/compile-time string version of the library. - - @ingroup API -*/ -#define HID_API_VERSION_STR HID_API_TO_VERSION_STR(HID_API_VERSION_MAJOR, HID_API_VERSION_MINOR, HID_API_VERSION_PATCH) - -#ifdef __cplusplus -extern "C" { -#endif - struct hid_api_version { - int major; - int minor; - int patch; - }; - - struct hid_device_; - typedef struct hid_device_ hid_device; /**< opaque hidapi structure */ - - /** hidapi info structure */ - struct hid_device_info { - /** Platform-specific device path */ - char *path; - /** Device Vendor ID */ - unsigned short vendor_id; - /** Device Product ID */ - unsigned short product_id; - /** Serial Number */ - wchar_t *serial_number; - /** Device Release Number in binary-coded decimal, - also known as Device Version Number */ - unsigned short release_number; - /** Manufacturer String */ - wchar_t *manufacturer_string; - /** Product string */ - wchar_t *product_string; - /** Usage Page for this Device/Interface - (Windows/Mac/hidraw only) */ - unsigned short usage_page; - /** Usage for this Device/Interface - (Windows/Mac/hidraw only) */ - unsigned short usage; - /** The USB interface which this logical device - represents. - - * Valid on both Linux implementations in all cases. - * Valid on the Windows implementation only if the device - contains more than one interface. - * Valid on the Mac implementation if and only if the device - is a USB HID device. */ - int interface_number; - - /** Pointer to the next device */ - struct hid_device_info *next; - }; - - - /** @brief Initialize the HIDAPI library. - - This function initializes the HIDAPI library. Calling it is not - strictly necessary, as it will be called automatically by - hid_enumerate() and any of the hid_open_*() functions if it is - needed. This function should be called at the beginning of - execution however, if there is a chance of HIDAPI handles - being opened by different threads simultaneously. - - @ingroup API - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(NULL) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_init(void); - - /** @brief Finalize the HIDAPI library. - - This function frees all of the static data associated with - HIDAPI. It should be called at the end of execution to avoid - memory leaks. - - @ingroup API - - @returns - This function returns 0 on success and -1 on error. - */ - int HID_API_EXPORT HID_API_CALL hid_exit(void); - - /** @brief 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 @p vendor_id is set to 0 then any vendor matches. - If @p product_id is set to 0 then any product matches. - If @p vendor_id and @p product_id are both set to 0, then - all HID devices will be returned. - - @ingroup API - @param vendor_id The Vendor ID (VID) of the types of device - to open. - @param product_id The Product ID (PID) of the types of - device to open. - - @returns - This function returns a pointer to a linked list of type - struct #hid_device_info, containing information about the HID devices - attached to the system, - or NULL in the case of failure or if no HID devices present in the system. - Call hid_error(NULL) to get the failure reason. - - @note The returned value by this function must to be freed by calling hid_free_enumeration(), - when not needed anymore. - */ - struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id); - - /** @brief Free an enumeration Linked List - - This function frees a linked list created by hid_enumerate(). - - @ingroup API - @param devs Pointer to a list of struct_device returned from - hid_enumerate(). - */ - void HID_API_EXPORT HID_API_CALL hid_free_enumeration(struct hid_device_info *devs); - - /** @brief Open a HID device using a Vendor ID (VID), Product ID - (PID) and optionally a serial number. - - If @p serial_number is NULL, the first device with the - specified VID and PID is opened. - - @ingroup API - @param vendor_id The Vendor ID (VID) of the device to open. - @param product_id The Product ID (PID) of the device to open. - @param serial_number The Serial Number of the device to open - (Optionally NULL). - - @returns - This function returns a pointer to a #hid_device object on - success or NULL on failure. - Call hid_error(NULL) to get the failure reason. - - @note The returned object must be freed by calling hid_close(), - when not needed anymore. - */ - HID_API_EXPORT hid_device * HID_API_CALL hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number); - - /** @brief Open a HID device by its path name. - - The path name be determined by calling hid_enumerate(), or a - platform-specific path name can be used (eg: /dev/hidraw0 on - Linux). - - @ingroup API - @param path The path name of the device to open - - @returns - This function returns a pointer to a #hid_device object on - success or NULL on failure. - Call hid_error(NULL) to get the failure reason. - - @note The returned object must be freed by calling hid_close(), - when not needed anymore. - */ - HID_API_EXPORT hid_device * HID_API_CALL hid_open_path(const char *path); - - /** @brief Write an Output report to a HID device. - - The first byte of @p data[] must contain the Report ID. For - devices which only support a single report, this must be set - to 0x0. The remaining bytes contain the report data. Since - the Report ID is mandatory, calls to hid_write() will always - contain one more byte than the report contains. For example, - if a hid report is 16 bytes long, 17 bytes must be passed to - hid_write(), the Report ID (or 0x0, for devices with a - single report), followed by the report data (16 bytes). In - this example, the length passed in would be 17. - - hid_write() will send the data on the first OUT endpoint, if - one exists. If it does not, it will send the data through - the Control Endpoint (Endpoint 0). - - @ingroup API - @param dev A device handle returned from hid_open(). - @param data The data to send, including the report number as - the first byte. - @param length The length in bytes of the data to send. - - @returns - This function returns the actual number of bytes written and - -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_write(hid_device *dev, const unsigned char *data, size_t length); - - /** @brief Read an Input report from a HID device with timeout. - - Input reports are returned - to the host through the INTERRUPT IN endpoint. The first byte will - contain the Report number if the device uses numbered reports. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param data A buffer to put the read data into. - @param length The number of bytes to read. For devices with - multiple reports, make sure to read an extra byte for - the report number. - @param milliseconds timeout in milliseconds or -1 for blocking wait. - - @returns - This function returns the actual number of bytes read and - -1 on error. - Call hid_error(dev) to get the failure reason. - If no packet was available to be read within - the timeout period, this function returns 0. - */ - int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds); - - /** @brief Read an Input report from a HID device. - - Input reports are returned - to the host through the INTERRUPT IN endpoint. The first byte will - contain the Report number if the device uses numbered reports. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param data A buffer to put the read data into. - @param length The number of bytes to read. For devices with - multiple reports, make sure to read an extra byte for - the report number. - - @returns - This function returns the actual number of bytes read and - -1 on error. - Call hid_error(dev) to get the failure reason. - If no packet was available to be read and - the handle is in non-blocking mode, this function returns 0. - */ - int HID_API_EXPORT HID_API_CALL hid_read(hid_device *dev, unsigned char *data, size_t length); - - /** @brief Set the device handle to be non-blocking. - - In non-blocking mode calls to hid_read() will return - immediately with a value of 0 if there is no data to be - read. In blocking mode, hid_read() will wait (block) until - there is data to read before returning. - - Nonblocking can be turned on and off at any time. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param nonblock enable or not the nonblocking reads - - 1 to enable nonblocking - - 0 to disable nonblocking. - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_set_nonblocking(hid_device *dev, int nonblock); - - /** @brief Send a Feature report to the device. - - Feature reports are sent over the Control endpoint as a - Set_Report transfer. The first byte of @p data[] must - contain the Report ID. For devices which only support a - single report, this must be set to 0x0. The remaining bytes - contain the report data. Since the Report ID is mandatory, - calls to hid_send_feature_report() will always contain one - more byte than the report contains. For example, if a hid - report is 16 bytes long, 17 bytes must be passed to - hid_send_feature_report(): the Report ID (or 0x0, for - devices which do not use numbered reports), followed by the - report data (16 bytes). In this example, the length passed - in would be 17. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param data The data to send, including the report number as - the first byte. - @param length The length in bytes of the data to send, including - the report number. - - @returns - This function returns the actual number of bytes written and - -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length); - - /** @brief Get a feature report from a HID device. - - Set the first byte of @p data[] to the Report ID of the - report to be read. Make sure to allow space for this - extra byte in @p data[]. Upon return, the first byte will - still contain the Report ID, and the report data will - start in data[1]. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param data A buffer to put the read data into, including - the Report ID. Set the first byte of @p data[] to the - Report ID of the report to be read, or set it to zero - if your device does not use numbered reports. - @param length The number of bytes to read, including an - extra byte for the report ID. The buffer can be longer - than the actual report. - - @returns - This function returns the number of bytes read plus - one for the report ID (which is still in the first - byte), or -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length); - - /** @brief Get a input report from a HID device. - - Since version 0.10.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 10, 0) - - Set the first byte of @p data[] to the Report ID of the - report to be read. Make sure to allow space for this - extra byte in @p data[]. Upon return, the first byte will - still contain the Report ID, and the report data will - start in data[1]. - - @ingroup API - @param device A device handle returned from hid_open(). - @param data A buffer to put the read data into, including - the Report ID. Set the first byte of @p data[] to the - Report ID of the report to be read, or set it to zero - if your device does not use numbered reports. - @param length The number of bytes to read, including an - extra byte for the report ID. The buffer can be longer - than the actual report. - - @returns - This function returns the number of bytes read plus - one for the report ID (which is still in the first - byte), or -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT HID_API_CALL hid_get_input_report(hid_device *dev, unsigned char *data, size_t length); - - /** @brief Close a HID device. - - @ingroup API - @param dev A device handle returned from hid_open(). - */ - void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev); - - /** @brief Get The Manufacturer String from a HID device. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param string A wide string buffer to put the data into. - @param maxlen The length of the buffer in multiples of wchar_t. - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen); - - /** @brief Get The Product String from a HID device. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param string A wide string buffer to put the data into. - @param maxlen The length of the buffer in multiples of wchar_t. - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen); - - /** @brief Get The Serial Number String from a HID device. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param string A wide string buffer to put the data into. - @param maxlen The length of the buffer in multiples of wchar_t. - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen); - - /** @brief Get The struct #hid_device_info from a HID device. - - Since version 0.13.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 13, 0) - - @ingroup API - @param dev A device handle returned from hid_open(). - - @returns - This function returns a pointer to the struct #hid_device_info - for this hid_device, or NULL in the case of failure. - Call hid_error(dev) to get the failure reason. - This struct is valid until the device is closed with hid_close(). - - @note The returned object is owned by the @p dev, and SHOULD NOT be freed by the user. - */ - struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_get_device_info(hid_device *dev); - - /** @brief Get a string from a HID device, based on its string index. - - @ingroup API - @param dev A device handle returned from hid_open(). - @param string_index The index of the string to get. - @param string A wide string buffer to put the data into. - @param maxlen The length of the buffer in multiples of wchar_t. - - @returns - This function returns 0 on success and -1 on error. - Call hid_error(dev) to get the failure reason. - */ - int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen); - - /** @brief Get a string describing the last error which occurred. - - This function is intended for logging/debugging purposes. - - This function guarantees to never return NULL. - If there was no error in the last function call - - the returned string clearly indicates that. - - Any HIDAPI function that can explicitly indicate an execution failure - (e.g. by an error code, or by returning NULL) - may set the error string, - to be returned by this function. - - Strings returned from hid_error() must not be freed by the user, - i.e. owned by HIDAPI library. - Device-specific error string may remain allocated at most until hid_close() is called. - Global error string may remain allocated at most until hid_exit() is called. - - @ingroup API - @param dev A device handle returned from hid_open(), - or NULL to get the last non-device-specific error - (e.g. for errors in hid_open() or hid_enumerate()). - - @returns - A string describing the last error (if any). - */ - HID_API_EXPORT const wchar_t* HID_API_CALL hid_error(hid_device *dev); - - /** @brief Get a runtime version of the library. - - This function is thread-safe. - - @ingroup API - - @returns - Pointer to statically allocated struct, that contains version. - */ - HID_API_EXPORT const struct hid_api_version* HID_API_CALL hid_version(void); - - - /** @brief Get a runtime version string of the library. - - This function is thread-safe. - - @ingroup API - - @returns - Pointer to statically allocated string, that contains version string. - */ - HID_API_EXPORT const char* HID_API_CALL hid_version_str(void); - -#ifdef __cplusplus -} -#endif - -#endif - +/******************************************************* + HIDAPI - Multi-Platform library for + communication with HID devices. + + Alan Ott + Signal 11 Software + + libusb/hidapi Team + + Copyright 2023, All Rights Reserved. + + At the discretion of the user of this library, + this software may be licensed under the terms of the + GNU General Public License v3, a BSD-Style license, or the + original HIDAPI license as outlined in the LICENSE.txt, + LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt + files located at the root of the source distribution. + These files may also be found in the public source + code repository located at: + https://github.com/libusb/hidapi . +********************************************************/ + +/** @file + * @defgroup API hidapi API + */ + +#ifndef HIDAPI_H__ +#define HIDAPI_H__ + +#include + +/* #480: this is to be refactored properly for v1.0 */ +#ifdef _WIN32 + #ifndef HID_API_NO_EXPORT_DEFINE + #define HID_API_EXPORT __declspec(dllexport) + #endif +#endif +#ifndef HID_API_EXPORT + #define HID_API_EXPORT /**< API export macro */ +#endif +/* To be removed in v1.0 */ +#define HID_API_CALL /**< API call macro */ + +#define HID_API_EXPORT_CALL HID_API_EXPORT HID_API_CALL /**< API export and call macro*/ + +/** @brief Static/compile-time major version of the library. + + @ingroup API +*/ +#define HID_API_VERSION_MAJOR 0 +/** @brief Static/compile-time minor version of the library. + + @ingroup API +*/ +#define HID_API_VERSION_MINOR 14 +/** @brief Static/compile-time patch version of the library. + + @ingroup API +*/ +#define HID_API_VERSION_PATCH 0 + +/* Helper macros */ +#define HID_API_AS_STR_IMPL(x) #x +#define HID_API_AS_STR(x) HID_API_AS_STR_IMPL(x) +#define HID_API_TO_VERSION_STR(v1, v2, v3) HID_API_AS_STR(v1.v2.v3) + +/** @brief Coverts a version as Major/Minor/Patch into a number: + <8 bit major><16 bit minor><8 bit patch>. + + This macro was added in version 0.12.0. + + Convenient function to be used for compile-time checks, like: + @code{.c} + #if HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0) + @endcode + + @ingroup API +*/ +#define HID_API_MAKE_VERSION(mj, mn, p) (((mj) << 24) | ((mn) << 8) | (p)) + +/** @brief Static/compile-time version of the library. + + This macro was added in version 0.12.0. + + @see @ref HID_API_MAKE_VERSION. + + @ingroup API +*/ +#define HID_API_VERSION HID_API_MAKE_VERSION(HID_API_VERSION_MAJOR, HID_API_VERSION_MINOR, HID_API_VERSION_PATCH) + +/** @brief Static/compile-time string version of the library. + + @ingroup API +*/ +#define HID_API_VERSION_STR HID_API_TO_VERSION_STR(HID_API_VERSION_MAJOR, HID_API_VERSION_MINOR, HID_API_VERSION_PATCH) + +/** @brief Maximum expected HID Report descriptor size in bytes. + + Since version 0.13.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 13, 0) + + @ingroup API +*/ +#define HID_API_MAX_REPORT_DESCRIPTOR_SIZE 4096 + +#ifdef __cplusplus +extern "C" { +#endif + /** A structure to hold the version numbers. */ + struct hid_api_version { + int major; /**< major version number */ + int minor; /**< minor version number */ + int patch; /**< patch version number */ + }; + + struct hid_device_; + typedef struct hid_device_ hid_device; /**< opaque hidapi structure */ + + /** @brief HID underlying bus types. + + @ingroup API + */ + typedef enum { + /** Unknown bus type */ + HID_API_BUS_UNKNOWN = 0x00, + + /** USB bus + Specifications: + https://usb.org/hid */ + HID_API_BUS_USB = 0x01, + + /** Bluetooth or Bluetooth LE bus + Specifications: + https://www.bluetooth.com/specifications/specs/human-interface-device-profile-1-1-1/ + https://www.bluetooth.com/specifications/specs/hid-service-1-0/ + https://www.bluetooth.com/specifications/specs/hid-over-gatt-profile-1-0/ */ + HID_API_BUS_BLUETOOTH = 0x02, + + /** I2C bus + Specifications: + https://docs.microsoft.com/previous-versions/windows/hardware/design/dn642101(v=vs.85) */ + HID_API_BUS_I2C = 0x03, + + /** SPI bus + Specifications: + https://www.microsoft.com/download/details.aspx?id=103325 */ + HID_API_BUS_SPI = 0x04, + } hid_bus_type; + + /** hidapi info structure */ + struct hid_device_info { + /** Platform-specific device path */ + char *path; + /** Device Vendor ID */ + unsigned short vendor_id; + /** Device Product ID */ + unsigned short product_id; + /** Serial Number */ + wchar_t *serial_number; + /** Device Release Number in binary-coded decimal, + also known as Device Version Number */ + unsigned short release_number; + /** Manufacturer String */ + wchar_t *manufacturer_string; + /** Product string */ + wchar_t *product_string; + /** Usage Page for this Device/Interface + (Windows/Mac/hidraw only) */ + unsigned short usage_page; + /** Usage for this Device/Interface + (Windows/Mac/hidraw only) */ + unsigned short usage; + /** The USB interface which this logical device + represents. + + Valid only if the device is a USB HID device. + Set to -1 in all other cases. + */ + int interface_number; + + /** Pointer to the next device */ + struct hid_device_info *next; + + /** Underlying bus type + Since version 0.13.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 13, 0) + */ + hid_bus_type bus_type; + }; + + + /** @brief Initialize the HIDAPI library. + + This function initializes the HIDAPI library. Calling it is not + strictly necessary, as it will be called automatically by + hid_enumerate() and any of the hid_open_*() functions if it is + needed. This function should be called at the beginning of + execution however, if there is a chance of HIDAPI handles + being opened by different threads simultaneously. + + @ingroup API + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(NULL) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_init(void); + + /** @brief Finalize the HIDAPI library. + + This function frees all of the static data associated with + HIDAPI. It should be called at the end of execution to avoid + memory leaks. + + @ingroup API + + @returns + This function returns 0 on success and -1 on error. + */ + int HID_API_EXPORT HID_API_CALL hid_exit(void); + + /** @brief 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 @p vendor_id is set to 0 then any vendor matches. + If @p product_id is set to 0 then any product matches. + If @p vendor_id and @p product_id are both set to 0, then + all HID devices will be returned. + + @ingroup API + @param vendor_id The Vendor ID (VID) of the types of device + to open. + @param product_id The Product ID (PID) of the types of + device to open. + + @returns + This function returns a pointer to a linked list of type + struct #hid_device_info, containing information about the HID devices + attached to the system, + or NULL in the case of failure or if no HID devices present in the system. + Call hid_error(NULL) to get the failure reason. + + @note The returned value by this function must to be freed by calling hid_free_enumeration(), + when not needed anymore. + */ + struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id); + + /** @brief Free an enumeration Linked List + + This function frees a linked list created by hid_enumerate(). + + @ingroup API + @param devs Pointer to a list of struct_device returned from + hid_enumerate(). + */ + void HID_API_EXPORT HID_API_CALL hid_free_enumeration(struct hid_device_info *devs); + + /** @brief Open a HID device using a Vendor ID (VID), Product ID + (PID) and optionally a serial number. + + If @p serial_number is NULL, the first device with the + specified VID and PID is opened. + + @ingroup API + @param vendor_id The Vendor ID (VID) of the device to open. + @param product_id The Product ID (PID) of the device to open. + @param serial_number The Serial Number of the device to open + (Optionally NULL). + + @returns + This function returns a pointer to a #hid_device object on + success or NULL on failure. + Call hid_error(NULL) to get the failure reason. + + @note The returned object must be freed by calling hid_close(), + when not needed anymore. + */ + HID_API_EXPORT hid_device * HID_API_CALL hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number); + + /** @brief Open a HID device by its path name. + + The path name be determined by calling hid_enumerate(), or a + platform-specific path name can be used (eg: /dev/hidraw0 on + Linux). + + @ingroup API + @param path The path name of the device to open + + @returns + This function returns a pointer to a #hid_device object on + success or NULL on failure. + Call hid_error(NULL) to get the failure reason. + + @note The returned object must be freed by calling hid_close(), + when not needed anymore. + */ + HID_API_EXPORT hid_device * HID_API_CALL hid_open_path(const char *path); + + /** @brief Write an Output report to a HID device. + + The first byte of @p data[] must contain the Report ID. For + devices which only support a single report, this must be set + to 0x0. The remaining bytes contain the report data. Since + the Report ID is mandatory, calls to hid_write() will always + contain one more byte than the report contains. For example, + if a hid report is 16 bytes long, 17 bytes must be passed to + hid_write(), the Report ID (or 0x0, for devices with a + single report), followed by the report data (16 bytes). In + this example, the length passed in would be 17. + + hid_write() will send the data on the first OUT endpoint, if + one exists. If it does not, it will send the data through + the Control Endpoint (Endpoint 0). + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data The data to send, including the report number as + the first byte. + @param length The length in bytes of the data to send. + + @returns + This function returns the actual number of bytes written and + -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_write(hid_device *dev, const unsigned char *data, size_t length); + + /** @brief Read an Input report from a HID device with timeout. + + Input reports are returned + to the host through the INTERRUPT IN endpoint. The first byte will + contain the Report number if the device uses numbered reports. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data A buffer to put the read data into. + @param length The number of bytes to read. For devices with + multiple reports, make sure to read an extra byte for + the report number. + @param milliseconds timeout in milliseconds or -1 for blocking wait. + + @returns + This function returns the actual number of bytes read and + -1 on error. + Call hid_error(dev) to get the failure reason. + If no packet was available to be read within + the timeout period, this function returns 0. + */ + int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds); + + /** @brief Read an Input report from a HID device. + + Input reports are returned + to the host through the INTERRUPT IN endpoint. The first byte will + contain the Report number if the device uses numbered reports. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data A buffer to put the read data into. + @param length The number of bytes to read. For devices with + multiple reports, make sure to read an extra byte for + the report number. + + @returns + This function returns the actual number of bytes read and + -1 on error. + Call hid_error(dev) to get the failure reason. + If no packet was available to be read and + the handle is in non-blocking mode, this function returns 0. + */ + int HID_API_EXPORT HID_API_CALL hid_read(hid_device *dev, unsigned char *data, size_t length); + + /** @brief Set the device handle to be non-blocking. + + In non-blocking mode calls to hid_read() will return + immediately with a value of 0 if there is no data to be + read. In blocking mode, hid_read() will wait (block) until + there is data to read before returning. + + Nonblocking can be turned on and off at any time. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param nonblock enable or not the nonblocking reads + - 1 to enable nonblocking + - 0 to disable nonblocking. + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_set_nonblocking(hid_device *dev, int nonblock); + + /** @brief Send a Feature report to the device. + + Feature reports are sent over the Control endpoint as a + Set_Report transfer. The first byte of @p data[] must + contain the Report ID. For devices which only support a + single report, this must be set to 0x0. The remaining bytes + contain the report data. Since the Report ID is mandatory, + calls to hid_send_feature_report() will always contain one + more byte than the report contains. For example, if a hid + report is 16 bytes long, 17 bytes must be passed to + hid_send_feature_report(): the Report ID (or 0x0, for + devices which do not use numbered reports), followed by the + report data (16 bytes). In this example, the length passed + in would be 17. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data The data to send, including the report number as + the first byte. + @param length The length in bytes of the data to send, including + the report number. + + @returns + This function returns the actual number of bytes written and + -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length); + + /** @brief Get a feature report from a HID device. + + Set the first byte of @p data[] to the Report ID of the + report to be read. Make sure to allow space for this + extra byte in @p data[]. Upon return, the first byte will + still contain the Report ID, and the report data will + start in data[1]. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data A buffer to put the read data into, including + the Report ID. Set the first byte of @p data[] to the + Report ID of the report to be read, or set it to zero + if your device does not use numbered reports. + @param length The number of bytes to read, including an + extra byte for the report ID. The buffer can be longer + than the actual report. + + @returns + This function returns the number of bytes read plus + one for the report ID (which is still in the first + byte), or -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length); + + /** @brief Get a input report from a HID device. + + Since version 0.10.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 10, 0) + + Set the first byte of @p data[] to the Report ID of the + report to be read. Make sure to allow space for this + extra byte in @p data[]. Upon return, the first byte will + still contain the Report ID, and the report data will + start in data[1]. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param data A buffer to put the read data into, including + the Report ID. Set the first byte of @p data[] to the + Report ID of the report to be read, or set it to zero + if your device does not use numbered reports. + @param length The number of bytes to read, including an + extra byte for the report ID. The buffer can be longer + than the actual report. + + @returns + This function returns the number of bytes read plus + one for the report ID (which is still in the first + byte), or -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT HID_API_CALL hid_get_input_report(hid_device *dev, unsigned char *data, size_t length); + + /** @brief Close a HID device. + + @ingroup API + @param dev A device handle returned from hid_open(). + */ + void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev); + + /** @brief Get The Manufacturer String from a HID device. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param string A wide string buffer to put the data into. + @param maxlen The length of the buffer in multiples of wchar_t. + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen); + + /** @brief Get The Product String from a HID device. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param string A wide string buffer to put the data into. + @param maxlen The length of the buffer in multiples of wchar_t. + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen); + + /** @brief Get The Serial Number String from a HID device. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param string A wide string buffer to put the data into. + @param maxlen The length of the buffer in multiples of wchar_t. + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen); + + /** @brief Get The struct #hid_device_info from a HID device. + + Since version 0.13.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 13, 0) + + @ingroup API + @param dev A device handle returned from hid_open(). + + @returns + This function returns a pointer to the struct #hid_device_info + for this hid_device, or NULL in the case of failure. + Call hid_error(dev) to get the failure reason. + This struct is valid until the device is closed with hid_close(). + + @note The returned object is owned by the @p dev, and SHOULD NOT be freed by the user. + */ + struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_get_device_info(hid_device *dev); + + /** @brief Get a string from a HID device, based on its string index. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param string_index The index of the string to get. + @param string A wide string buffer to put the data into. + @param maxlen The length of the buffer in multiples of wchar_t. + + @returns + This function returns 0 on success and -1 on error. + Call hid_error(dev) to get the failure reason. + */ + int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen); + + /** @brief Get a report descriptor from a HID device. + + Since version 0.14.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 14, 0) + + User has to provide a preallocated buffer where descriptor will be copied to. + The recommended size for preallocated buffer is @ref HID_API_MAX_REPORT_DESCRIPTOR_SIZE bytes. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param buf The buffer to copy descriptor into. + @param buf_size The size of the buffer in bytes. + + @returns + This function returns non-negative number of bytes actually copied, or -1 on error. + */ + int HID_API_EXPORT_CALL hid_get_report_descriptor(hid_device *dev, unsigned char *buf, size_t buf_size); + + /** @brief Get a string describing the last error which occurred. + + This function is intended for logging/debugging purposes. + + This function guarantees to never return NULL. + If there was no error in the last function call - + the returned string clearly indicates that. + + Any HIDAPI function that can explicitly indicate an execution failure + (e.g. by an error code, or by returning NULL) - may set the error string, + to be returned by this function. + + Strings returned from hid_error() must not be freed by the user, + i.e. owned by HIDAPI library. + Device-specific error string may remain allocated at most until hid_close() is called. + Global error string may remain allocated at most until hid_exit() is called. + + @ingroup API + @param dev A device handle returned from hid_open(), + or NULL to get the last non-device-specific error + (e.g. for errors in hid_open() or hid_enumerate()). + + @returns + A string describing the last error (if any). + */ + HID_API_EXPORT const wchar_t* HID_API_CALL hid_error(hid_device *dev); + + /** @brief Get a runtime version of the library. + + This function is thread-safe. + + @ingroup API + + @returns + Pointer to statically allocated struct, that contains version. + */ + HID_API_EXPORT const struct hid_api_version* HID_API_CALL hid_version(void); + + + /** @brief Get a runtime version string of the library. + + This function is thread-safe. + + @ingroup API + + @returns + Pointer to statically allocated string, that contains version string. + */ + HID_API_EXPORT const char* HID_API_CALL hid_version_str(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/dependencies/hidapi-win/include/hidapi_winapi.h b/dependencies/hidapi-win/include/hidapi_winapi.h new file mode 100644 index 00000000..da576846 --- /dev/null +++ b/dependencies/hidapi-win/include/hidapi_winapi.h @@ -0,0 +1,74 @@ +/******************************************************* + HIDAPI - Multi-Platform library for + communication with HID devices. + + libusb/hidapi Team + + Copyright 2022, All Rights Reserved. + + At the discretion of the user of this library, + this software may be licensed under the terms of the + GNU General Public License v3, a BSD-Style license, or the + original HIDAPI license as outlined in the LICENSE.txt, + LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt + files located at the root of the source distribution. + These files may also be found in the public source + code repository located at: + https://github.com/libusb/hidapi . +********************************************************/ + +/** @file + * @defgroup API hidapi API + * + * Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0) + */ + +#ifndef HIDAPI_WINAPI_H__ +#define HIDAPI_WINAPI_H__ + +#include + +#include + +#include "hidapi.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /** @brief Get the container ID for a HID device. + + Since version 0.12.0, @ref HID_API_VERSION >= HID_API_MAKE_VERSION(0, 12, 0) + + This function returns the `DEVPKEY_Device_ContainerId` property of + the given device. This can be used to correlate different + interfaces/ports on the same hardware device. + + @ingroup API + @param dev A device handle returned from hid_open(). + @param guid The device's container ID on return. + + @returns + This function returns 0 on success and -1 on error. + */ + int HID_API_EXPORT_CALL hid_winapi_get_container_id(hid_device *dev, GUID *container_id); + + /** + * @brief Reconstructs a HID Report Descriptor from a Win32 HIDP_PREPARSED_DATA structure. + * This reconstructed report descriptor is logical identical to the real report descriptor, + * but not byte wise identical. + * + * @param[in] hidp_preparsed_data Pointer to the HIDP_PREPARSED_DATA to read, i.e.: the value of PHIDP_PREPARSED_DATA, + * as returned by HidD_GetPreparsedData WinAPI function. + * @param buf Pointer to the buffer where the report descriptor should be stored. + * @param[in] buf_size Size of the buffer. The recommended size for the buffer is @ref HID_API_MAX_REPORT_DESCRIPTOR_SIZE bytes. + * + * @return Returns size of reconstructed report descriptor if successful, -1 for error. + */ + int HID_API_EXPORT_CALL hid_winapi_descriptor_reconstruct_pp_data(void *hidp_preparsed_data, unsigned char *buf, size_t buf_size); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/dependencies/hidapi-win/x64/hidapi.dll b/dependencies/hidapi-win/x64/hidapi.dll index 68d7a8980bd0cb26306e9357171666b53921931a..4eded6eeb17e7dee808e4ef77b902532d9cffa69 100644 GIT binary patch literal 162304 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 z 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 literal 130560 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

8@I&HZqv@|X+-$+daWQ|_xOb3fUD9mZ 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 delta 810 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

L?~k9K-2XvY>^H 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 rQB#|YZ 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 WBtipFr9>%NS^~-6LYn-q`u+Q delta 61846 zcmb4s3w#vS+4t;blPqMzE|5TgfB^yo0}@!GiAyj+HUTBLA!b9wBv>JCS8EY=09(QY zC(%sCZLwpm?W?U6+uGK)SSuH`m=MfGkc(Q3f`TpTNjKFfFj zn*||`zVH`)3xf77)68*MKQjr>A-U@*laN8_Crm

|;~M+RmATohY0BBa^VjNt)pyAmm@S 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 z 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

~TiqCM_| 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 R3K+Bd^*nYSi`|2s{|~`?&`AIQ diff --git a/dependencies/hidapi-win/x86/hidapi.lib b/dependencies/hidapi-win/x86/hidapi.lib index a1c38297ffb820dace7e7c65923aab59ab95f18d..85d906cb9c03c2a8635e0f39b82f5a9facc20cc1 100644 GIT binary patch delta 1206 zcmbW0Uq}>D6vn?<|IWjrM%}hbCX>k`_M0Z;^3=t%H zstlxS5G3`~i;*uI)}zpiCaHmx7=}J21!6A-W!jk?j6f-A;K$|M^PO+F=bpP-`n+PO za-b|w;ZJ{81OVlLI0i`bfR$p;oPoU<&~f<;yiI_PTx;Oy0CZf#2F_6+O@LOy)?y$} zke+ZX7^rF(P*q~kK&b}Okby#YXAInnK$;}2gnh%nMrJzpAp^IC@`Q(cb<|BAX6BlM zz0vMaJgS8wJ#C3-JQ+)9iAYUT zYzXke4Hq1cVS^p{$U`P_;QWt@3}{+SU9i5PQL8?8v8tga*qExzuHo#vn#Me)Le^>$ z*m%yQ@9&qC>dcin$1Vpjzv&Qrz~B2vIV%uu@E^y&zZEzjm%TCPF`p%mEeVOtgP81R z7o;PsPYjqQ`%`10o6GWw%b#DeZRr48HAi+N$0*IlL@yhWE@y^fUF&R1dbX3y6V9~7 zy5c3#upvsVS!`LA(`;Lo%>}ow zPah?t!sPv|)t zn|8JGRd=VS3MjI(Qg?)xmYpkyDRQvK?oR&frAM=Viex4$?flZWz-t;DIN41_<7fJ! z@AbKLu`f#f`4eTk5A|Z?;YtN5+&hQb-+S6pf@1DU=5i60Ds(Xgf{*p8_590EzOOXD JP}!{N`31$VIaUAw delta 806 zcmb7>O-K}R7{;HOcFmcc-Pw|-awW65F+=pbuR=2`2bjxyio0P|$f2G+?i*I3k9UUMc)AH6wh z3*(76kR^OdC{WQEfCC@mu(20GRKS1^4V6g1LJVO<5Q2#mlJFyn|8f_%Dhi79R&Gk2 z8kK^o%apb*KUGJb>Em*Oxt!{ku|PpP(|vbUSAa^X3Z>mb0l62dl?9_g z9Umx`3`g-#Z(aWVRPyG2X$ty4>K%6zz6OzXLey;u9{u3Yj= z#pZC>FRyG%o0@#EbeInjkS}(>HgjY3178h>bUFns-B^0-MnQSbs7ak$amN#q+V}-+ z`$x@&TQg-WUeIpiz{e^^VcCxN1WqcyUe_>+u$hc6CAnBYZY7QfMkc?#uVy~V{Ar&f zTZz2(>B;@CoE2iynmn()IXL|y!^o0H$-LZ5S%LVu_Kic#*j&@B?vt0Pytc8>U*fFc INIIST0|+mu=l}o! diff --git a/dependencies/hidapi/hidapi.c b/dependencies/hidapi/hidapi.c deleted file mode 100644 index a6e560a5..00000000 --- a/dependencies/hidapi/hidapi.c +++ /dev/null @@ -1,1383 +0,0 @@ -/******************************************************* - HIDAPI - Multi-Platform library for - communication with HID devices. - - Alan Ott - Signal 11 Software - - 8/22/2009 - Linux Version - 6/2/2010 - Libusb Version - 8/13/2010 - FreeBSD Version - 11/1/2011 - - Copyright 2009, All Rights Reserved. - - At the discretion of the user of this library, - this software may be licensed under the terms of the - GNU General Public License v3, a BSD-Style license, or the - original HIDAPI license as outlined in the LICENSE.txt, - LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt - files located at the root of the source distribution. - These files may also be found in the public source - code repository located at: - http://github.com/signal11/hidapi . -********************************************************/ - -#define _GNU_SOURCE /* needed for wcsdup() before glibc 2.10 */ - -/* C */ -#include -#include -#include -#include -#include -#include -#include - -/* Unix */ -#include -#include -#include -#include - -/* GNU / LibUSB */ -#include - -#include "hidapi.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef DEBUG_PRINTF -#define LOG(...) fprintf(stderr, __VA_ARGS__) -#else -#define LOG(...) do {} while (0) -#endif - -#ifndef __FreeBSD__ -#define DETACH_KERNEL_DRIVER -#endif - -/* Uncomment to enable the retrieval of Usage and Usage Page in -hid_enumerate(). Warning, on platforms different from FreeBSD -this is very invasive as it requires the detach -and re-attach of the kernel driver. See comments inside hid_enumerate(). -libusb HIDAPI programs are encouraged to use the interface number -instead to differentiate between interfaces on a composite HID device. */ -/*#define INVASIVE_GET_USAGE*/ - -/* Linked List of input reports received from the device. */ -struct input_report { - uint8_t *data; - size_t len; - struct input_report *next; -}; - - -struct hid_device_ { - /* Handle to the actual device. */ - libusb_device_handle *device_handle; - - /* Endpoint information */ - int input_endpoint; - int output_endpoint; - int input_ep_max_packet_size; - - /* The interface number of the HID */ - int interface; - - /* Indexes of Strings */ - int manufacturer_index; - int product_index; - int serial_index; - - /* Whether blocking reads are used */ - int blocking; /* boolean */ - - /* Read thread objects */ - //HANDLE thread; - //pthread_mutex_t mutex; /* Protects input_reports */ - //pthread_cond_t condition; - //pthread_barrier_t barrier; /* Ensures correct startup sequence */ - int shutdown_thread; - int cancelled; - struct libusb_transfer *transfer; - - /* List of received input reports. */ - struct input_report *input_reports; -}; - -static libusb_context *usb_context = NULL; - -uint16_t get_usb_code_for_current_locale(void); -static int return_data(hid_device *dev, unsigned char *data, size_t length); - -static hid_device *new_hid_device(void) -{ - hid_device *dev = calloc(1, sizeof(hid_device)); - dev->blocking = 1; - - //pthread_mutex_init(&dev->mutex, NULL); - //pthread_cond_init(&dev->condition, NULL); - //pthread_barrier_init(&dev->barrier, NULL, 2); - - return dev; -} - -static void free_hid_device(hid_device *dev) -{ - /* Clean up the thread objects */ - //pthread_barrier_destroy(&dev->barrier); - //pthread_cond_destroy(&dev->condition); - //pthread_mutex_destroy(&dev->mutex); - - /* Free the device itself */ - free(dev); -} - -#ifdef WIN32 -#define CLOCK_REALTIME 0 - static int clock_gettime(int x, struct timespec *spec) //C-file part - { - __int64 wintime; GetSystemTimeAsFileTime((FILETIME*)&wintime); - wintime -= 116444736000000000i64; //1jan1601 to 1jan1970 - spec->tv_sec = wintime / 10000000i64; //seconds - spec->tv_nsec = wintime % 10000000i64 * 100; //nano-seconds - return 0; - } -#endif - -#if 0 -/*TODO: Implement this funciton on hidapi/libusb.. */ -static void register_error(hid_device *device, const char *op) -{ - -} -#endif - -#ifdef INVASIVE_GET_USAGE -/* Get bytes from a HID Report Descriptor. - Only call with a num_bytes of 0, 1, 2, or 4. */ -static uint32_t get_bytes(uint8_t *rpt, size_t len, size_t num_bytes, size_t cur) -{ - /* Return if there aren't enough bytes. */ - if (cur + num_bytes >= len) - return 0; - - if (num_bytes == 0) - return 0; - else if (num_bytes == 1) { - return rpt[cur+1]; - } - else if (num_bytes == 2) { - return (rpt[cur+2] * 256 + rpt[cur+1]); - } - else if (num_bytes == 4) { - return (rpt[cur+4] * 0x01000000 + - rpt[cur+3] * 0x00010000 + - rpt[cur+2] * 0x00000100 + - rpt[cur+1] * 0x00000001); - } - else - return 0; -} - -/* Retrieves the device's Usage Page and Usage from the report - descriptor. The algorithm is simple, as it just returns the first - Usage and Usage Page that it finds in the descriptor. - The return value is 0 on success and -1 on failure. */ -static int get_usage(uint8_t *report_descriptor, size_t size, - unsigned short *usage_page, unsigned short *usage) -{ - unsigned int i = 0; - int size_code; - int data_len, key_size; - int usage_found = 0, usage_page_found = 0; - - while (i < size) { - int key = report_descriptor[i]; - int key_cmd = key & 0xfc; - - //printf("key: %02hhx\n", key); - - if ((key & 0xf0) == 0xf0) { - /* This is a Long Item. The next byte contains the - length of the data section (value) for this key. - See the HID specification, version 1.11, section - 6.2.2.3, titled "Long Items." */ - if (i+1 < size) - data_len = report_descriptor[i+1]; - else - data_len = 0; /* malformed report */ - key_size = 3; - } - else { - /* This is a Short Item. The bottom two bits of the - key contain the size code for the data section - (value) for this key. Refer to the HID - specification, version 1.11, section 6.2.2.2, - titled "Short Items." */ - size_code = key & 0x3; - switch (size_code) { - case 0: - case 1: - case 2: - data_len = size_code; - break; - case 3: - data_len = 4; - break; - default: - /* Can't ever happen since size_code is & 0x3 */ - data_len = 0; - break; - }; - key_size = 1; - } - - if (key_cmd == 0x4) { - *usage_page = get_bytes(report_descriptor, size, data_len, i); - usage_page_found = 1; - //printf("Usage Page: %x\n", (uint32_t)*usage_page); - } - if (key_cmd == 0x8) { - *usage = get_bytes(report_descriptor, size, data_len, i); - usage_found = 1; - //printf("Usage: %x\n", (uint32_t)*usage); - } - - if (usage_page_found && usage_found) - return 0; /* success */ - - /* Skip over this key and it's associated data */ - i += data_len + key_size; - } - - return -1; /* failure */ -} -#endif /* INVASIVE_GET_USAGE */ - -/* Get the first language the device says it reports. This comes from - USB string #0. */ -static uint16_t get_first_language(libusb_device_handle *dev) -{ - uint16_t buf[32]; - int len; - - /* Get the string from libusb. */ - len = libusb_get_string_descriptor(dev, - 0x0, /* String ID */ - 0x0, /* Language */ - (unsigned char*)buf, - sizeof(buf)); - if (len < 4) - return 0x0; - - return buf[1]; /* First two bytes are len and descriptor type. */ -} - -static int is_language_supported(libusb_device_handle *dev, uint16_t lang) -{ - uint16_t buf[32]; - int len; - int i; - - /* Get the string from libusb. */ - len = libusb_get_string_descriptor(dev, - 0x0, /* String ID */ - 0x0, /* Language */ - (unsigned char*)buf, - sizeof(buf)); - if (len < 4) - return 0x0; - - - len /= 2; /* language IDs are two-bytes each. */ - /* Start at index 1 because there are two bytes of protocol data. */ - for (i = 1; i < len; i++) { - if (buf[i] == lang) - return 1; - } - - return 0; -} - - -/* This function returns a newly allocated wide string containing the USB - device string numbered by the index. The returned string must be freed - by using free(). */ -static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx) -{ - char buf[512]; - int len; - wchar_t *str = NULL; - - /* Determine which language to use. */ - uint16_t lang; - lang = get_usb_code_for_current_locale(); - if (!is_language_supported(dev, lang)) - lang = get_first_language(dev); - - /* Get the string from libusb. */ - len = libusb_get_string_descriptor(dev, - idx, - lang, - (unsigned char*)buf, - sizeof(buf)); - if (len < 0) - return NULL; - - /* Bionic does not have iconv support nor wcsdup() function, so it - has to be done manually. The following code will only work for - code points that can be represented as a single UTF-16 character, - and will incorrectly convert any code points which require more - than one UTF-16 character. - - Skip over the first character (2-bytes). */ - len -= 2; - str = malloc((len / 2 + 1) * sizeof(wchar_t)); - int i; - for (i = 0; i < len / 2; i++) { - str[i] = buf[i * 2 + 2] | (buf[i * 2 + 3] << 8); - } - str[len / 2] = 0x00000000; - - return str; -} - -static char *make_path(libusb_device *dev, int interface_number) -{ - char str[64]; - snprintf(str, sizeof(str), "%04x:%04x:%02x", - libusb_get_bus_number(dev), - libusb_get_device_address(dev), - interface_number); - str[sizeof(str)-1] = '\0'; - - return strdup(str); -} - - -int HID_API_EXPORT hid_init(void) -{ - if (!usb_context) { - const char *locale; - - /* Init Libusb */ - if (libusb_init(&usb_context)) - return -1; - - /* Set the locale if it's not set. */ - locale = setlocale(LC_CTYPE, NULL); - if (!locale) - setlocale(LC_CTYPE, ""); - } - - return 0; -} - -int HID_API_EXPORT hid_exit(void) -{ - if (usb_context) { - libusb_exit(usb_context); - usb_context = NULL; - } - - return 0; -} - -struct hid_device_info HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id) -{ - libusb_device **devs; - libusb_device *dev; - libusb_device_handle *handle; - ssize_t num_devs; - int i = 0; - - struct hid_device_info *root = NULL; /* return object */ - struct hid_device_info *cur_dev = NULL; - - if(hid_init() < 0) - return NULL; - - num_devs = libusb_get_device_list(usb_context, &devs); - if (num_devs < 0) - return NULL; - while ((dev = devs[i++]) != NULL) { - struct libusb_device_descriptor desc; - struct libusb_config_descriptor *conf_desc = NULL; - int j, k; - int interface_num = 0; - - int res = libusb_get_device_descriptor(dev, &desc); - unsigned short dev_vid = desc.idVendor; - unsigned short dev_pid = desc.idProduct; - - res = libusb_get_active_config_descriptor(dev, &conf_desc); - if (res < 0) - libusb_get_config_descriptor(dev, 0, &conf_desc); - if (conf_desc) { - for (j = 0; j < conf_desc->bNumInterfaces; j++) { - const struct libusb_interface *intf = &conf_desc->interface[j]; - for (k = 0; k < intf->num_altsetting; k++) { - const struct libusb_interface_descriptor *intf_desc; - intf_desc = &intf->altsetting[k]; - if (intf_desc->bInterfaceClass == LIBUSB_CLASS_HID) { - interface_num = intf_desc->bInterfaceNumber; - - /* Check the VID/PID against the arguments */ - if ((vendor_id == 0x0 || vendor_id == dev_vid) && - (product_id == 0x0 || product_id == dev_pid)) { - struct hid_device_info *tmp; - - /* VID/PID match. Create the record. */ - tmp = calloc(1, sizeof(struct hid_device_info)); - if (cur_dev) { - cur_dev->next = tmp; - } - else { - root = tmp; - } - cur_dev = tmp; - - /* Fill out the record */ - cur_dev->next = NULL; - cur_dev->path = make_path(dev, interface_num); - - res = libusb_open(dev, &handle); - - if (res >= 0) { - /* Serial Number */ - if (desc.iSerialNumber > 0) - cur_dev->serial_number = - get_usb_string(handle, desc.iSerialNumber); - - /* Manufacturer and Product strings */ - if (desc.iManufacturer > 0) - cur_dev->manufacturer_string = - get_usb_string(handle, desc.iManufacturer); - if (desc.iProduct > 0) - cur_dev->product_string = - get_usb_string(handle, desc.iProduct); - -#ifdef INVASIVE_GET_USAGE -{ - /* - This section is removed because it is too - invasive on the system. Getting a Usage Page - and Usage requires parsing the HID Report - descriptor. Getting a HID Report descriptor - involves claiming the interface. Claiming the - interface involves detaching the kernel driver. - Detaching the kernel driver is hard on the system - because it will unclaim interfaces (if another - app has them claimed) and the re-attachment of - the driver will sometimes change /dev entry names. - It is for these reasons that this section is - #if 0. For composite devices, use the interface - field in the hid_device_info struct to distinguish - between interfaces. */ - unsigned char data[256]; -#ifdef DETACH_KERNEL_DRIVER - int detached = 0; - /* Usage Page and Usage */ - res = libusb_kernel_driver_active(handle, interface_num); - if (res == 1) { - res = libusb_detach_kernel_driver(handle, interface_num); - if (res < 0) - LOG("Couldn't detach kernel driver, even though a kernel driver was attached."); - else - detached = 1; - } -#endif - res = libusb_claim_interface(handle, interface_num); - if (res >= 0) { - /* Get the HID Report Descriptor. */ - res = libusb_control_transfer(handle, LIBUSB_ENDPOINT_IN|LIBUSB_RECIPIENT_INTERFACE, LIBUSB_REQUEST_GET_DESCRIPTOR, (LIBUSB_DT_REPORT << 8)|interface_num, 0, data, sizeof(data), 5000); - if (res >= 0) { - unsigned short page=0, usage=0; - /* Parse the usage and usage page - out of the report descriptor. */ - get_usage(data, res, &page, &usage); - cur_dev->usage_page = page; - cur_dev->usage = usage; - } - else - LOG("libusb_control_transfer() for getting the HID report failed with %d\n", res); - - /* Release the interface */ - res = libusb_release_interface(handle, interface_num); - if (res < 0) - LOG("Can't release the interface.\n"); - } - else - LOG("Can't claim interface %d\n", res); -#ifdef DETACH_KERNEL_DRIVER - /* Re-attach kernel driver if necessary. */ - if (detached) { - res = libusb_attach_kernel_driver(handle, interface_num); - if (res < 0) - LOG("Couldn't re-attach kernel driver.\n"); - } -#endif -} -#endif /* INVASIVE_GET_USAGE */ - - libusb_close(handle); - } - /* VID/PID */ - cur_dev->vendor_id = dev_vid; - cur_dev->product_id = dev_pid; - - /* Release Number */ - cur_dev->release_number = desc.bcdDevice; - - /* Interface Number */ - cur_dev->interface_number = interface_num; - } - } - } /* altsettings */ - } /* interfaces */ - libusb_free_config_descriptor(conf_desc); - } - } - - libusb_free_device_list(devs, 1); - - return root; -} - -void HID_API_EXPORT hid_free_enumeration(struct hid_device_info *devs) -{ - struct hid_device_info *d = devs; - while (d) { - struct hid_device_info *next = d->next; - free(d->path); - free(d->serial_number); - free(d->manufacturer_string); - free(d->product_string); - free(d); - d = next; - } -} - -hid_device * hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number) -{ - struct hid_device_info *devs, *cur_dev; - const char *path_to_open = NULL; - hid_device *handle = NULL; - - devs = hid_enumerate(vendor_id, product_id); - cur_dev = devs; - while (cur_dev) { - if (cur_dev->vendor_id == vendor_id && - cur_dev->product_id == product_id) { - if (serial_number) { - if (cur_dev->serial_number && - wcscmp(serial_number, cur_dev->serial_number) == 0) { - path_to_open = cur_dev->path; - break; - } - } - else { - path_to_open = cur_dev->path; - break; - } - } - cur_dev = cur_dev->next; - } - - if (path_to_open) { - /* Open the device */ - handle = hid_open_path(path_to_open); - } - - hid_free_enumeration(devs); - - return handle; -} - -static void read_callback(struct libusb_transfer *transfer) -{ - hid_device *dev = transfer->user_data; - int res; - - if (transfer->status == LIBUSB_TRANSFER_COMPLETED) { - - struct input_report *rpt = malloc(sizeof(*rpt)); - rpt->data = malloc(transfer->actual_length); - memcpy(rpt->data, transfer->buffer, transfer->actual_length); - rpt->len = transfer->actual_length; - rpt->next = NULL; - - //pthread_mutex_lock(&dev->mutex); - - /* Attach the new report object to the end of the list. */ - if (dev->input_reports == NULL) { - /* The list is empty. Put it at the root. */ - dev->input_reports = rpt; - //pthread_cond_signal(&dev->condition); - } - else { - /* Find the end of the list and attach. */ - struct input_report *cur = dev->input_reports; - int num_queued = 0; - while (cur->next != NULL) { - cur = cur->next; - num_queued++; - } - cur->next = rpt; - - /* Pop one off if we've reached 30 in the queue. This - way we don't grow forever if the user never reads - anything from the device. */ - if (num_queued > 30) { - return_data(dev, NULL, 0); - } - } - //pthread_mutex_unlock(&dev->mutex); - } - else if (transfer->status == LIBUSB_TRANSFER_CANCELLED) { - dev->shutdown_thread = 1; - dev->cancelled = 1; - return; - } - else if (transfer->status == LIBUSB_TRANSFER_NO_DEVICE) { - dev->shutdown_thread = 1; - dev->cancelled = 1; - return; - } - else if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT) { - //LOG("Timeout (normal)\n"); - } - else { - LOG("Unknown transfer code: %d\n", transfer->status); - } - - /* Re-submit the transfer object. */ - res = libusb_submit_transfer(transfer); - if (res != 0) { - LOG("Unable to submit URB. libusb error code: %d\n", res); - dev->shutdown_thread = 1; - dev->cancelled = 1; - } -} - - -static void *read_thread(void *param) -{ - hid_device *dev = param; - unsigned char *buf; - const size_t length = dev->input_ep_max_packet_size; - - /* Set up the transfer object. */ - buf = malloc(length); - dev->transfer = libusb_alloc_transfer(0); - libusb_fill_interrupt_transfer(dev->transfer, - dev->device_handle, - dev->input_endpoint, - buf, - length, - (libusb_transfer_cb_fn)read_callback, - dev, - 5000/*timeout*/); - - /* Make the first submission. Further submissions are made - from inside read_callback() */ - libusb_submit_transfer(dev->transfer); - - /* Notify the main thread that the read thread is up and running. */ - //pthread_barrier_wait(&dev->barrier); - - /* Handle all the events. */ - while (!dev->shutdown_thread) { - int res; - res = libusb_handle_events(usb_context); - if (res < 0) { - /* There was an error. */ - LOG("read_thread(): libusb reports error # %d\n", res); - - /* Break out of this loop only on fatal error.*/ - if (res != LIBUSB_ERROR_BUSY && - res != LIBUSB_ERROR_TIMEOUT && - res != LIBUSB_ERROR_OVERFLOW && - res != LIBUSB_ERROR_INTERRUPTED) { - break; - } - } - } - - /* Cancel any transfer that may be pending. This call will fail - if no transfers are pending, but that's OK. */ - libusb_cancel_transfer(dev->transfer); - - while (!dev->cancelled) - libusb_handle_events_completed(usb_context, &dev->cancelled); - - /* Now that the read thread is stopping, Wake any threads which are - waiting on data (in hid_read_timeout()). Do this under a mutex to - make sure that a thread which is about to go to sleep waiting on - the condition actually will go to sleep before the condition is - signaled. */ - //pthread_mutex_lock(&dev->mutex); - //pthread_cond_broadcast(&dev->condition); - //pthread_mutex_unlock(&dev->mutex); - - /* The dev->transfer->buffer and dev->transfer objects are cleaned up - in hid_close(). They are not cleaned up here because this thread - could end either due to a disconnect or due to a user - call to hid_close(). In both cases the objects can be safely - cleaned up after the call to pthread_join() (in hid_close()), but - since hid_close() calls libusb_cancel_transfer(), on these objects, - they can not be cleaned up here. */ - - return NULL; -} - - -hid_device * HID_API_EXPORT hid_open_path(const char *path) -{ - hid_device *dev = NULL; - - libusb_device **devs; - libusb_device *usb_dev; - int res; - int d = 0; - int good_open = 0; - - if(hid_init() < 0) - return NULL; - - dev = new_hid_device(); - - libusb_get_device_list(usb_context, &devs); - while ((usb_dev = devs[d++]) != NULL) { - struct libusb_device_descriptor desc; - struct libusb_config_descriptor *conf_desc = NULL; - int i,j,k; - libusb_get_device_descriptor(usb_dev, &desc); - - if (libusb_get_active_config_descriptor(usb_dev, &conf_desc) < 0) - continue; - for (j = 0; j < conf_desc->bNumInterfaces; j++) { - const struct libusb_interface *intf = &conf_desc->interface[j]; - for (k = 0; k < intf->num_altsetting; k++) { - const struct libusb_interface_descriptor *intf_desc; - intf_desc = &intf->altsetting[k]; - if (intf_desc->bInterfaceClass == LIBUSB_CLASS_HID) { - char *dev_path = make_path(usb_dev, intf_desc->bInterfaceNumber); - if (!strcmp(dev_path, path)) { - /* Matched Paths. Open this device */ - - /* OPEN HERE */ - res = libusb_open(usb_dev, &dev->device_handle); - if (res < 0) { - LOG("can't open device\n"); - free(dev_path); - break; - } - good_open = 1; -#ifdef DETACH_KERNEL_DRIVER - /* Detach the kernel driver, but only if the - device is managed by the kernel */ - if (libusb_kernel_driver_active(dev->device_handle, intf_desc->bInterfaceNumber) == 1) { - res = libusb_detach_kernel_driver(dev->device_handle, intf_desc->bInterfaceNumber); - if (res < 0) { - libusb_close(dev->device_handle); - LOG("Unable to detach Kernel Driver\n"); - free(dev_path); - good_open = 0; - break; - } - } -#endif - res = libusb_claim_interface(dev->device_handle, intf_desc->bInterfaceNumber); - if (res < 0) { - LOG("can't claim interface %d: %d\n", intf_desc->bInterfaceNumber, res); - free(dev_path); - libusb_close(dev->device_handle); - good_open = 0; - break; - } - - /* Store off the string descriptor indexes */ - dev->manufacturer_index = desc.iManufacturer; - dev->product_index = desc.iProduct; - dev->serial_index = desc.iSerialNumber; - - /* Store off the interface number */ - dev->interface = intf_desc->bInterfaceNumber; - - /* Find the INPUT and OUTPUT endpoints. An - OUTPUT endpoint is not required. */ - for (i = 0; i < intf_desc->bNumEndpoints; i++) { - const struct libusb_endpoint_descriptor *ep - = &intf_desc->endpoint[i]; - - /* Determine the type and direction of this - endpoint. */ - int is_interrupt = - (ep->bmAttributes & LIBUSB_TRANSFER_TYPE_MASK) - == LIBUSB_TRANSFER_TYPE_INTERRUPT; - int is_output = - (ep->bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK) - == LIBUSB_ENDPOINT_OUT; - int is_input = - (ep->bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK) - == LIBUSB_ENDPOINT_IN; - - /* Decide whether to use it for input or output. */ - if (dev->input_endpoint == 0 && - is_interrupt && is_input) { - /* Use this endpoint for INPUT */ - dev->input_endpoint = ep->bEndpointAddress; - dev->input_ep_max_packet_size = ep->wMaxPacketSize; - } - if (dev->output_endpoint == 0 && - is_interrupt && is_output) { - /* Use this endpoint for OUTPUT */ - dev->output_endpoint = ep->bEndpointAddress; - } - } - - //pthread_create(&dev->thread, NULL, read_thread, dev); - - /* Wait here for the read thread to be initialized. */ - //pthread_barrier_wait(&dev->barrier); - - } - free(dev_path); - } - } - } - libusb_free_config_descriptor(conf_desc); - - } - - libusb_free_device_list(devs, 1); - - /* If we have a good handle, return it. */ - if (good_open) { - return dev; - } - else { - /* Unable to open any devices. */ - free_hid_device(dev); - return NULL; - } -} - - -int HID_API_EXPORT hid_write(hid_device *dev, const unsigned char *data, size_t length) -{ - int res; - int report_number = data[0]; - int skipped_report_id = 0; - - if (report_number == 0x0) { - data++; - length--; - skipped_report_id = 1; - } - - - if (dev->output_endpoint <= 0) { - /* No interrupt out endpoint. Use the Control Endpoint */ - res = libusb_control_transfer(dev->device_handle, - LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_OUT, - 0x09/*HID Set_Report*/, - (2/*HID output*/ << 8) | report_number, - dev->interface, - (unsigned char *)data, length, - 1000/*timeout millis*/); - - if (res < 0) - return -1; - - if (skipped_report_id) - length++; - - return length; - } - else { - /* Use the interrupt out endpoint */ - int actual_length; - res = libusb_interrupt_transfer(dev->device_handle, - dev->output_endpoint, - (unsigned char*)data, - length, - &actual_length, 1000); - - if (res < 0) - return -1; - - if (skipped_report_id) - actual_length++; - - return actual_length; - } -} - -/* Helper function, to simplify hid_read(). - This should be called with dev->mutex locked. */ -static int return_data(hid_device *dev, unsigned char *data, size_t length) -{ - /* Copy the data out of the linked list item (rpt) into the - return buffer (data), and delete the liked list item. */ - struct input_report *rpt = dev->input_reports; - size_t len = (length < rpt->len)? length: rpt->len; - if (len > 0) - memcpy(data, rpt->data, len); - dev->input_reports = rpt->next; - free(rpt->data); - free(rpt); - return len; -} - -static void cleanup_mutex(void *param) -{ - hid_device *dev = param; - //pthread_mutex_unlock(&dev->mutex); -} - - -int HID_API_EXPORT hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds) -{ - int bytes_read = -1; - -#if 1 - int transferred; - int res = libusb_interrupt_transfer(dev->device_handle, dev->input_endpoint, data, length, &transferred, 5000); - LOG("transferred: %d\n", transferred); - return transferred; -#endif - - //pthread_mutex_lock(&dev->mutex); - //pthread_cleanup_push(&cleanup_mutex, dev); - - /* There's an input report queued up. Return it. */ - if (dev->input_reports) { - /* Return the first one */ - bytes_read = return_data(dev, data, length); - goto ret; - } - - if (dev->shutdown_thread) { - /* This means the device has been disconnected. - An error code of -1 should be returned. */ - bytes_read = -1; - goto ret; - } - - if (milliseconds == -1) { - /* Blocking */ - while (!dev->input_reports && !dev->shutdown_thread) { - //pthread_cond_wait(&dev->condition, &dev->mutex); - } - if (dev->input_reports) { - bytes_read = return_data(dev, data, length); - } - } - else if (milliseconds > 0) { - /* Non-blocking, but called with timeout. */ - int res; - struct timespec ts; - clock_gettime(CLOCK_REALTIME, &ts); - ts.tv_sec += milliseconds / 1000; - ts.tv_nsec += (milliseconds % 1000) * 1000000; - if (ts.tv_nsec >= 1000000000L) { - ts.tv_sec++; - ts.tv_nsec -= 1000000000L; - } - - while (!dev->input_reports && !dev->shutdown_thread) { - //res = pthread_cond_timedwait(&dev->condition, &dev->mutex, &ts); - if (res == 0) { - if (dev->input_reports) { - bytes_read = return_data(dev, data, length); - break; - } - - /* If we're here, there was a spurious wake up - or the read thread was shutdown. Run the - loop again (ie: don't break). */ - } - else if (res == ETIMEDOUT) { - /* Timed out. */ - bytes_read = 0; - break; - } - else { - /* Error. */ - bytes_read = -1; - break; - } - } - } - else { - /* Purely non-blocking */ - bytes_read = 0; - } - -ret: - //pthread_mutex_unlock(&dev->mutex); - //pthread_cleanup_pop(0); - - return bytes_read; -} - -int HID_API_EXPORT hid_read(hid_device *dev, unsigned char *data, size_t length) -{ - return hid_read_timeout(dev, data, length, dev->blocking ? -1 : 0); -} - -int HID_API_EXPORT hid_set_nonblocking(hid_device *dev, int nonblock) -{ - dev->blocking = !nonblock; - - return 0; -} - - -int HID_API_EXPORT hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length) -{ - int res = -1; - int skipped_report_id = 0; - int report_number = data[0]; - - if (report_number == 0x0) { - data++; - length--; - skipped_report_id = 1; - } - - res = libusb_control_transfer(dev->device_handle, - LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_OUT, - 0x09/*HID set_report*/, - (3/*HID feature*/ << 8) | report_number, - dev->interface, - (unsigned char *)data, length, - 1000/*timeout millis*/); - - if (res < 0) - return -1; - - /* Account for the report ID */ - if (skipped_report_id) - length++; - - return length; -} - -int HID_API_EXPORT hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length) -{ - int res = -1; - int skipped_report_id = 0; - int report_number = data[0]; - - if (report_number == 0x0) { - /* Offset the return buffer by 1, so that the report ID - will remain in byte 0. */ - data++; - length--; - skipped_report_id = 1; - } - res = libusb_control_transfer(dev->device_handle, - LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_IN, - 0x01/*HID get_report*/, - (3/*HID feature*/ << 8) | report_number, - dev->interface, - (unsigned char *)data, length, - 1000/*timeout millis*/); - - if (res < 0) - return -1; - - if (skipped_report_id) - res++; - - return res; -} - - -void HID_API_EXPORT hid_close(hid_device *dev) -{ - if (!dev) - return; - - /* Cause read_thread() to stop. */ - dev->shutdown_thread = 1; - libusb_cancel_transfer(dev->transfer); - - /* Wait for read_thread() to end. */ - //pthread_join(dev->thread, NULL); - - /* Clean up the Transfer objects allocated in read_thread(). */ - free(dev->transfer->buffer); - libusb_free_transfer(dev->transfer); - - /* release the interface */ - libusb_release_interface(dev->device_handle, dev->interface); - - /* Close the handle */ - libusb_close(dev->device_handle); - - /* Clear out the queue of received reports. */ - //pthread_mutex_lock(&dev->mutex); - while (dev->input_reports) { - return_data(dev, NULL, 0); - } - //pthread_mutex_unlock(&dev->mutex); - - free_hid_device(dev); -} - - -int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen) -{ - return hid_get_indexed_string(dev, dev->manufacturer_index, string, maxlen); -} - -int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen) -{ - return hid_get_indexed_string(dev, dev->product_index, string, maxlen); -} - -int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen) -{ - return hid_get_indexed_string(dev, dev->serial_index, string, maxlen); -} - -int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen) -{ - wchar_t *str; - - str = get_usb_string(dev->device_handle, string_index); - if (str) { - wcsncpy(string, str, maxlen); - string[maxlen-1] = L'\0'; - free(str); - return 0; - } - else - return -1; -} - - -HID_API_EXPORT const wchar_t * HID_API_CALL hid_error(hid_device *dev) -{ - return NULL; -} - - -struct lang_map_entry { - const char *name; - const char *string_code; - uint16_t usb_code; -}; - -#define LANG(name,code,usb_code) { name, code, usb_code } -static struct lang_map_entry lang_map[] = { - LANG("Afrikaans", "af", 0x0436), - LANG("Albanian", "sq", 0x041C), - LANG("Arabic - United Arab Emirates", "ar_ae", 0x3801), - LANG("Arabic - Bahrain", "ar_bh", 0x3C01), - LANG("Arabic - Algeria", "ar_dz", 0x1401), - LANG("Arabic - Egypt", "ar_eg", 0x0C01), - LANG("Arabic - Iraq", "ar_iq", 0x0801), - LANG("Arabic - Jordan", "ar_jo", 0x2C01), - LANG("Arabic - Kuwait", "ar_kw", 0x3401), - LANG("Arabic - Lebanon", "ar_lb", 0x3001), - LANG("Arabic - Libya", "ar_ly", 0x1001), - LANG("Arabic - Morocco", "ar_ma", 0x1801), - LANG("Arabic - Oman", "ar_om", 0x2001), - LANG("Arabic - Qatar", "ar_qa", 0x4001), - LANG("Arabic - Saudi Arabia", "ar_sa", 0x0401), - LANG("Arabic - Syria", "ar_sy", 0x2801), - LANG("Arabic - Tunisia", "ar_tn", 0x1C01), - LANG("Arabic - Yemen", "ar_ye", 0x2401), - LANG("Armenian", "hy", 0x042B), - LANG("Azeri - Latin", "az_az", 0x042C), - LANG("Azeri - Cyrillic", "az_az", 0x082C), - LANG("Basque", "eu", 0x042D), - LANG("Belarusian", "be", 0x0423), - LANG("Bulgarian", "bg", 0x0402), - LANG("Catalan", "ca", 0x0403), - LANG("Chinese - China", "zh_cn", 0x0804), - LANG("Chinese - Hong Kong SAR", "zh_hk", 0x0C04), - LANG("Chinese - Macau SAR", "zh_mo", 0x1404), - LANG("Chinese - Singapore", "zh_sg", 0x1004), - LANG("Chinese - Taiwan", "zh_tw", 0x0404), - LANG("Croatian", "hr", 0x041A), - LANG("Czech", "cs", 0x0405), - LANG("Danish", "da", 0x0406), - LANG("Dutch - Netherlands", "nl_nl", 0x0413), - LANG("Dutch - Belgium", "nl_be", 0x0813), - LANG("English - Australia", "en_au", 0x0C09), - LANG("English - Belize", "en_bz", 0x2809), - LANG("English - Canada", "en_ca", 0x1009), - LANG("English - Caribbean", "en_cb", 0x2409), - LANG("English - Ireland", "en_ie", 0x1809), - LANG("English - Jamaica", "en_jm", 0x2009), - LANG("English - New Zealand", "en_nz", 0x1409), - LANG("English - Phillippines", "en_ph", 0x3409), - LANG("English - Southern Africa", "en_za", 0x1C09), - LANG("English - Trinidad", "en_tt", 0x2C09), - LANG("English - Great Britain", "en_gb", 0x0809), - LANG("English - United States", "en_us", 0x0409), - LANG("Estonian", "et", 0x0425), - LANG("Farsi", "fa", 0x0429), - LANG("Finnish", "fi", 0x040B), - LANG("Faroese", "fo", 0x0438), - LANG("French - France", "fr_fr", 0x040C), - LANG("French - Belgium", "fr_be", 0x080C), - LANG("French - Canada", "fr_ca", 0x0C0C), - LANG("French - Luxembourg", "fr_lu", 0x140C), - LANG("French - Switzerland", "fr_ch", 0x100C), - LANG("Gaelic - Ireland", "gd_ie", 0x083C), - LANG("Gaelic - Scotland", "gd", 0x043C), - LANG("German - Germany", "de_de", 0x0407), - LANG("German - Austria", "de_at", 0x0C07), - LANG("German - Liechtenstein", "de_li", 0x1407), - LANG("German - Luxembourg", "de_lu", 0x1007), - LANG("German - Switzerland", "de_ch", 0x0807), - LANG("Greek", "el", 0x0408), - LANG("Hebrew", "he", 0x040D), - LANG("Hindi", "hi", 0x0439), - LANG("Hungarian", "hu", 0x040E), - LANG("Icelandic", "is", 0x040F), - LANG("Indonesian", "id", 0x0421), - LANG("Italian - Italy", "it_it", 0x0410), - LANG("Italian - Switzerland", "it_ch", 0x0810), - LANG("Japanese", "ja", 0x0411), - LANG("Korean", "ko", 0x0412), - LANG("Latvian", "lv", 0x0426), - LANG("Lithuanian", "lt", 0x0427), - LANG("F.Y.R.O. Macedonia", "mk", 0x042F), - LANG("Malay - Malaysia", "ms_my", 0x043E), - LANG("Malay – Brunei", "ms_bn", 0x083E), - LANG("Maltese", "mt", 0x043A), - LANG("Marathi", "mr", 0x044E), - LANG("Norwegian - Bokml", "no_no", 0x0414), - LANG("Norwegian - Nynorsk", "no_no", 0x0814), - LANG("Polish", "pl", 0x0415), - LANG("Portuguese - Portugal", "pt_pt", 0x0816), - LANG("Portuguese - Brazil", "pt_br", 0x0416), - LANG("Raeto-Romance", "rm", 0x0417), - LANG("Romanian - Romania", "ro", 0x0418), - LANG("Romanian - Republic of Moldova", "ro_mo", 0x0818), - LANG("Russian", "ru", 0x0419), - LANG("Russian - Republic of Moldova", "ru_mo", 0x0819), - LANG("Sanskrit", "sa", 0x044F), - LANG("Serbian - Cyrillic", "sr_sp", 0x0C1A), - LANG("Serbian - Latin", "sr_sp", 0x081A), - LANG("Setsuana", "tn", 0x0432), - LANG("Slovenian", "sl", 0x0424), - LANG("Slovak", "sk", 0x041B), - LANG("Sorbian", "sb", 0x042E), - LANG("Spanish - Spain (Traditional)", "es_es", 0x040A), - LANG("Spanish - Argentina", "es_ar", 0x2C0A), - LANG("Spanish - Bolivia", "es_bo", 0x400A), - LANG("Spanish - Chile", "es_cl", 0x340A), - LANG("Spanish - Colombia", "es_co", 0x240A), - LANG("Spanish - Costa Rica", "es_cr", 0x140A), - LANG("Spanish - Dominican Republic", "es_do", 0x1C0A), - LANG("Spanish - Ecuador", "es_ec", 0x300A), - LANG("Spanish - Guatemala", "es_gt", 0x100A), - LANG("Spanish - Honduras", "es_hn", 0x480A), - LANG("Spanish - Mexico", "es_mx", 0x080A), - LANG("Spanish - Nicaragua", "es_ni", 0x4C0A), - LANG("Spanish - Panama", "es_pa", 0x180A), - LANG("Spanish - Peru", "es_pe", 0x280A), - LANG("Spanish - Puerto Rico", "es_pr", 0x500A), - LANG("Spanish - Paraguay", "es_py", 0x3C0A), - LANG("Spanish - El Salvador", "es_sv", 0x440A), - LANG("Spanish - Uruguay", "es_uy", 0x380A), - LANG("Spanish - Venezuela", "es_ve", 0x200A), - LANG("Southern Sotho", "st", 0x0430), - LANG("Swahili", "sw", 0x0441), - LANG("Swedish - Sweden", "sv_se", 0x041D), - LANG("Swedish - Finland", "sv_fi", 0x081D), - LANG("Tamil", "ta", 0x0449), - LANG("Tatar", "tt", 0X0444), - LANG("Thai", "th", 0x041E), - LANG("Turkish", "tr", 0x041F), - LANG("Tsonga", "ts", 0x0431), - LANG("Ukrainian", "uk", 0x0422), - LANG("Urdu", "ur", 0x0420), - LANG("Uzbek - Cyrillic", "uz_uz", 0x0843), - LANG("Uzbek – Latin", "uz_uz", 0x0443), - LANG("Vietnamese", "vi", 0x042A), - LANG("Xhosa", "xh", 0x0434), - LANG("Yiddish", "yi", 0x043D), - LANG("Zulu", "zu", 0x0435), - LANG(NULL, NULL, 0x0), -}; - -uint16_t get_usb_code_for_current_locale(void) -{ - char *locale; - char search_string[64]; - char *ptr; - struct lang_map_entry *lang; - - /* Get the current locale. */ - locale = setlocale(0, NULL); - if (!locale) - return 0x0; - - /* Make a copy of the current locale string. */ - strncpy(search_string, locale, sizeof(search_string)); - search_string[sizeof(search_string)-1] = '\0'; - - /* Chop off the encoding part, and make it lower case. */ - ptr = search_string; - while (*ptr) { - *ptr = tolower(*ptr); - if (*ptr == '.') { - *ptr = '\0'; - break; - } - ptr++; - } - - /* Find the entry which matches the string code of our locale. */ - lang = lang_map; - while (lang->string_code) { - if (!strcmp(lang->string_code, search_string)) { - return lang->usb_code; - } - lang++; - } - - /* There was no match. Find with just the language only. */ - /* Chop off the variant. Chop it off at the '_'. */ - ptr = search_string; - while (*ptr) { - *ptr = tolower(*ptr); - if (*ptr == '_') { - *ptr = '\0'; - break; - } - ptr++; - } - -#if 0 /* TODO: Do we need this? */ - /* Find the entry which matches the string code of our language. */ - lang = lang_map; - while (lang->string_code) { - if (!strcmp(lang->string_code, search_string)) { - return lang->usb_code; - } - lang++; - } -#endif - - /* Found nothing. */ - return 0x0; -} - -#ifdef __cplusplus -} -#endif