Implement the wrapper for Linux in ResourceManager, change IPU to I for HyperX Quadcast S, code cleanup
This commit is contained in:
parent
45408ae159
commit
29d34f7768
11 changed files with 378 additions and 262 deletions
46
hidapi_wrapper/hidapi_wrapper.h
Normal file
46
hidapi_wrapper/hidapi_wrapper.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*-----------------------------------------*\
|
||||
| hidapi_wrapper.h |
|
||||
| |
|
||||
| Wrapper for hidapi that can select from |
|
||||
| default or libusb backends on Linux |
|
||||
| |
|
||||
| Matt Silva (thesilvanator) 2022 |
|
||||
| Adam Honse (calcprogrammer1) 2023 |
|
||||
\*-----------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <hidapi/hidapi.h>
|
||||
|
||||
#ifdef __linux__
|
||||
#include <dlfcn.h>
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Type definitions for libhidapi function pointers |
|
||||
\*-----------------------------------------------------*/
|
||||
typedef int (*hidapi_wrapper_send_feature_report) (hid_device*, const unsigned char*, size_t);
|
||||
typedef int (*hidapi_wrapper_get_feature_report) (hid_device*, unsigned char*, size_t);
|
||||
typedef int (*hidapi_wrapper_get_serial_num_string) (hid_device*, wchar_t*, size_t);
|
||||
typedef hid_device* (*hidapi_wrapper_open_path) (const char*);
|
||||
typedef hid_device_info* (*hidapi_wrapper_enumerate) (unsigned short, unsigned short);
|
||||
typedef void (*hidapi_wrapper_free_enumeration) (hid_device_info*);
|
||||
typedef void (*hidapi_wrapper_close) (hid_device*);
|
||||
typedef const wchar_t* (*hidapi_wrapper_error) (hid_device*);
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| See comment at top of HyperXQuadcastSDetect.cpp for |
|
||||
| details about the hidapi wrapper for this device |
|
||||
\*-----------------------------------------------------*/
|
||||
struct hidapi_wrapper
|
||||
{
|
||||
void* dyn_handle;
|
||||
hidapi_wrapper_send_feature_report hid_send_feature_report;
|
||||
hidapi_wrapper_get_feature_report hid_get_feature_report;
|
||||
hidapi_wrapper_get_serial_num_string hid_get_serial_num_string;
|
||||
hidapi_wrapper_open_path hid_open_path;
|
||||
hidapi_wrapper_enumerate hid_enumerate;
|
||||
hidapi_wrapper_free_enumeration hid_free_enumeration;
|
||||
hidapi_wrapper_close hid_close;
|
||||
hidapi_wrapper_error hid_error;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue