driver: g-wolves full wireless support
This commit is contained in:
parent
c40834b3bf
commit
8c8727504a
@ -2,23 +2,12 @@
|
||||
|
||||
static int send_command(libusb_device_handle* hand, uint8_t command, uint8_t size, void* report, bool wireless)
|
||||
{
|
||||
if(wireless)
|
||||
{
|
||||
// If wireless, ask receiver for mouse command first
|
||||
struct REPORT_WIRELESS w_report = {0};
|
||||
int res = send_command(hand, COMMAND_WIRELESS_MOUSE, REPORT_WIRELESS_MOUSE_SIZE, &w_report, false);
|
||||
if(res <= 0) return res;
|
||||
|
||||
if(!w_report.mouse_connected)
|
||||
return -1;
|
||||
}
|
||||
|
||||
report_header_t* head = report;
|
||||
head->report_size = size;
|
||||
head->command = command;
|
||||
if(wireless)
|
||||
head->wireless = 0x1;
|
||||
|
||||
|
||||
// Send command
|
||||
int res = libusb_control_transfer(hand,
|
||||
0x21, // request type
|
||||
@ -31,6 +20,10 @@ static int send_command(libusb_device_handle* hand, uint8_t command, uint8_t siz
|
||||
|
||||
if(res <= 0) return res;
|
||||
|
||||
// Wait for mouse if necessary
|
||||
if(wireless)
|
||||
usleep(100000);
|
||||
|
||||
// Get response report
|
||||
res = libusb_control_transfer(hand,
|
||||
0xa1, // request type
|
||||
|
Loading…
Reference in New Issue
Block a user