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
|
available. On Ubuntu and its derivates, you should be able to find it in your
|
||||||
System Settings.
|
System Settings.
|
||||||
|
|
||||||
|
Supported devices
|
||||||
|
=================
|
||||||
|
- SteelSeries Sensei Raw
|
||||||
|
- SteelSeries Call of Duty: Black Ops II
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
Build dependencies: cmake >= 2.8.5, help2man, libusb >= 1.0,
|
Build dependencies: cmake >= 2.8.5, help2man, libusb >= 1.0,
|
||||||
|
@ -81,10 +81,33 @@ out:
|
|||||||
return handle;
|
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 ----------------------------------------------------
|
// --- Device configuration ----------------------------------------------------
|
||||||
|
|
||||||
#define USB_VENDOR_STEELSERIES 0x1038
|
#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_GET_REPORT 0x01
|
||||||
#define USB_SET_REPORT 0x09
|
#define USB_SET_REPORT 0x09
|
||||||
@ -511,9 +534,15 @@ main (int argc, char *argv[])
|
|||||||
ERROR (error_0, "libusb initialisation failed: %s\n",
|
ERROR (error_0, "libusb initialisation failed: %s\n",
|
||||||
libusb_error_name (result));
|
libusb_error_name (result));
|
||||||
|
|
||||||
|
static const int products[] =
|
||||||
|
{
|
||||||
|
USB_PRODUCT_STEELSERIES_SENSEI_RAW,
|
||||||
|
USB_PRODUCT_STEELSERIES_COD_BO2
|
||||||
|
};
|
||||||
|
|
||||||
result = 0;
|
result = 0;
|
||||||
libusb_device_handle *device = find_device
|
libusb_device_handle *device = find_device_list (USB_VENDOR_STEELSERIES,
|
||||||
(USB_VENDOR_STEELSERIES, USB_PRODUCT_STEELSERIES_SENSEI, &result);
|
products, sizeof products / sizeof products[0], &result);
|
||||||
if (!device)
|
if (!device)
|
||||||
{
|
{
|
||||||
if (result)
|
if (result)
|
||||||
|
Loading…
Reference in New Issue
Block a user