Add support for SteelSeries Call of Duty
This commit is contained in:
parent
22680c4c9d
commit
47a80ce71e
5
README
5
README
@ -10,6 +10,11 @@ If you don't fancy command line tools, there's also a basic GTK+ frontend
|
||||
available. On Ubuntu and its derivates, you should be able to find it in your
|
||||
System Settings.
|
||||
|
||||
Supported devices
|
||||
=================
|
||||
- SteelSeries Sensei Raw
|
||||
- SteelSeries Call of Duty: Black Ops II
|
||||
|
||||
Installation
|
||||
============
|
||||
Build dependencies: cmake >= 2.8.5, help2man, libusb >= 1.0,
|
||||
|
@ -81,10 +81,33 @@ out:
|
||||
return handle;
|
||||
}
|
||||
|
||||
/** Search for a device under various product ID's. */
|
||||
static libusb_device_handle *
|
||||
find_device_list (int vendor,
|
||||
const int *products, size_t n_products, int *error)
|
||||
{
|
||||
int err = 0;
|
||||
libusb_device_handle *handle;
|
||||
|
||||
while (n_products--)
|
||||
{
|
||||
handle = find_device (vendor, *products++, &err);
|
||||
if (handle)
|
||||
return handle;
|
||||
if (err)
|
||||
break;
|
||||
}
|
||||
|
||||
if (error != NULL && err != 0)
|
||||
*error = err;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// --- Device configuration ----------------------------------------------------
|
||||
|
||||
#define USB_VENDOR_STEELSERIES 0x1038
|
||||
#define USB_PRODUCT_STEELSERIES_SENSEI 0x1369
|
||||
#define USB_PRODUCT_STEELSERIES_SENSEI_RAW 0x1369
|
||||
#define USB_PRODUCT_STEELSERIES_COD_BO2 0x136f
|
||||
|
||||
#define USB_GET_REPORT 0x01
|
||||
#define USB_SET_REPORT 0x09
|
||||
@ -511,9 +534,15 @@ main (int argc, char *argv[])
|
||||
ERROR (error_0, "libusb initialisation failed: %s\n",
|
||||
libusb_error_name (result));
|
||||
|
||||
static const int products[] =
|
||||
{
|
||||
USB_PRODUCT_STEELSERIES_SENSEI_RAW,
|
||||
USB_PRODUCT_STEELSERIES_COD_BO2
|
||||
};
|
||||
|
||||
result = 0;
|
||||
libusb_device_handle *device = find_device
|
||||
(USB_VENDOR_STEELSERIES, USB_PRODUCT_STEELSERIES_SENSEI, &result);
|
||||
libusb_device_handle *device = find_device_list (USB_VENDOR_STEELSERIES,
|
||||
products, sizeof products / sizeof products[0], &result);
|
||||
if (!device)
|
||||
{
|
||||
if (result)
|
||||
|
Loading…
Reference in New Issue
Block a user