From 94d9204177df98e0ced6551b43a1e6bf577e8353 Mon Sep 17 00:00:00 2001 From: Mola19 Date: Thu, 5 Oct 2023 23:45:59 +0200 Subject: [PATCH] Add support for Asus ROG Gladius III Wireless Aimpoint to resolve #3650 --- .../AsusAuraMouseController.cpp | 30 +++++- .../AsusAuraMouseController.h | 1 + .../AsusAuraMouseDevices.h | 101 +++++++++++------- .../AsusAuraUSBControllerDetect.cpp | 72 +++++++------ 4 files changed, 131 insertions(+), 73 deletions(-) diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseController.cpp b/Controllers/AsusAuraUSBController/AsusAuraMouseController.cpp index 28954f9b..a90209fe 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseController.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseController.cpp @@ -28,6 +28,32 @@ std::string AuraMouseController::GetDeviceLocation() return("HID: " + location); } +std::string AuraMouseController::CleanSerial(const std::wstring& wstr) +{ + /*---------------------------------------------------------------*\ + | Cleanes garbage at the end of serial numbers | + | (apparently 2 characters too much, but maybe variable) | + | Limited to new devices, old ones don't even have serial numbers | + \*---------------------------------------------------------------*/ + std::string result; + for(wchar_t c : wstr) + { + /*-----------------------------------------------------*\ + | Forbid anything besides digits and upper case letters | + \*-----------------------------------------------------*/ + bool isUpperCaseLetter = (c >= 64 && c <= 90); + bool isDigit = (c >= 48 && c <= 57); + if(!isUpperCaseLetter && !isDigit) + { + break; + } + + result += c; + } + + return(result); +} + std::string AuraMouseController::GetSerialString() { wchar_t serial_string[HID_MAX_STR]; @@ -38,8 +64,8 @@ std::string AuraMouseController::GetSerialString() return(""); } - std::wstring return_wstring = serial_string; - std::string return_string(return_wstring.begin(), return_wstring.end()); + std::wstring serial_wstring = serial_string; + std::string return_string = CleanSerial(serial_wstring); return(return_string); } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseController.h b/Controllers/AsusAuraUSBController/AsusAuraMouseController.h index 4dd4520a..2f6c1fa7 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseController.h +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseController.h @@ -25,6 +25,7 @@ public: virtual ~AuraMouseController(); std::string GetDeviceLocation(); + std::string CleanSerial(const std::wstring& wstr); std::string GetSerialString(); std::string GetVersion(bool wireless, int protocol); diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseDevices.h b/Controllers/AsusAuraUSBController/AsusAuraMouseDevices.h index 4ad56bab..4af92801 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseDevices.h +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseDevices.h @@ -11,43 +11,46 @@ #pragma once -#define AURA_ROG_GLADIUS_II_CORE_PID 0x18DD -#define AURA_ROG_GLADIUS_II_PID 0x1845 -#define AURA_ROG_GLADIUS_II_ORIGIN_PID 0x1877 -#define AURA_ROG_GLADIUS_II_ORIGIN_PNK_LTD_PID 0x18CD -#define AURA_ROG_GLADIUS_II_ORIGIN_COD_PID 0x18B1 -#define AURA_ROG_GLADIUS_II_WIRELESS_1_PID 0x189E -#define AURA_ROG_GLADIUS_II_WIRELESS_2_PID 0x18A0 -#define AURA_ROG_GLADIUS_III_PID 0x197B -#define AURA_ROG_GLADIUS_III_WIRELESS_USB_PID 0x197D -#define AURA_ROG_GLADIUS_III_WIRELESS_2_4_PID 0x197F -#define AURA_ROG_GLADIUS_III_WIRELESS_BT_PID 0x1981 -#define AURA_ROG_CHAKRAM_WIRELESS_PID 0x18E5 -#define AURA_ROG_CHAKRAM_WIRED_1_PID 0x18E3 -#define AURA_ROG_CHAKRAM_CORE_PID 0x1958 -#define AURA_ROG_CHAKRAM_X_USB_PID 0x1A18 -#define AURA_ROG_CHAKRAM_X_2_4_PID 0x1A1A -#define AURA_ROG_SPATHA_X_USB_PID 0x1977 -#define AURA_ROG_SPATHA_X_2_4_PID 0x1979 -#define AURA_ROG_SPATHA_X_DOCK_PID 0x1979 -#define AURA_ROG_PUGIO_PID 0x1846 -#define AURA_ROG_PUGIO_II_WIRED_PID 0x1906 -#define AURA_ROG_PUGIO_II_WIRELESS_PID 0x1908 -#define AURA_ROG_STRIX_IMPACT_PID 0x1847 -#define AURA_ROG_STRIX_IMPACT_II_PID 0x18E1 -#define AURA_ROG_STRIX_IMPACT_II_GUNDAM_PID 0x189E -#define AURA_ROG_STRIX_IMPACT_II_PUNK_PID 0x1956 -#define AURA_ROG_STRIX_IMPACT_II_WHITE_PID 0x19D2 -#define AURA_ROG_STRIX_IMPACT_II_WIRELESS_USB_PID 0x1947 -#define AURA_ROG_STRIX_IMPACT_II_WIRELESS_2_4_PID 0x1949 -#define AURA_ROG_KERIS 0x195C -#define AURA_ROG_KERIS_WIRELESS_USB_PID 0x195E -#define AURA_ROG_KERIS_WIRELESS_2_4_PID 0x1960 -#define AURA_ROG_KERIS_WIRELESS_BT_PID 0x1962 -#define AURA_TUF_M3_PID 0x1910 -#define AURA_TUF_M5_PID 0x1898 +#define AURA_ROG_GLADIUS_II_CORE_PID 0x18DD +#define AURA_ROG_GLADIUS_II_PID 0x1845 +#define AURA_ROG_GLADIUS_II_ORIGIN_PID 0x1877 +#define AURA_ROG_GLADIUS_II_ORIGIN_PNK_LTD_PID 0x18CD +#define AURA_ROG_GLADIUS_II_ORIGIN_COD_PID 0x18B1 +#define AURA_ROG_GLADIUS_II_WIRELESS_1_PID 0x189E +#define AURA_ROG_GLADIUS_II_WIRELESS_2_PID 0x18A0 +#define AURA_ROG_GLADIUS_III_PID 0x197B +#define AURA_ROG_GLADIUS_III_WIRELESS_USB_PID 0x197D +#define AURA_ROG_GLADIUS_III_WIRELESS_2_4_PID 0x197F +#define AURA_ROG_GLADIUS_III_WIRELESS_BT_PID 0x1981 +#define AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_USB_PID 0x1A70 +#define AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_2_4_PID 0x1A72 +#define AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_BT_PID 0x1A74 +#define AURA_ROG_CHAKRAM_WIRELESS_PID 0x18E5 +#define AURA_ROG_CHAKRAM_WIRED_1_PID 0x18E3 +#define AURA_ROG_CHAKRAM_CORE_PID 0x1958 +#define AURA_ROG_CHAKRAM_X_USB_PID 0x1A18 +#define AURA_ROG_CHAKRAM_X_2_4_PID 0x1A1A +#define AURA_ROG_SPATHA_X_USB_PID 0x1977 +#define AURA_ROG_SPATHA_X_2_4_PID 0x1979 +#define AURA_ROG_SPATHA_X_DOCK_PID 0x1979 +#define AURA_ROG_PUGIO_PID 0x1846 +#define AURA_ROG_PUGIO_II_WIRED_PID 0x1906 +#define AURA_ROG_PUGIO_II_WIRELESS_PID 0x1908 +#define AURA_ROG_STRIX_IMPACT_PID 0x1847 +#define AURA_ROG_STRIX_IMPACT_II_PID 0x18E1 +#define AURA_ROG_STRIX_IMPACT_II_GUNDAM_PID 0x189E +#define AURA_ROG_STRIX_IMPACT_II_PUNK_PID 0x1956 +#define AURA_ROG_STRIX_IMPACT_II_WHITE_PID 0x19D2 +#define AURA_ROG_STRIX_IMPACT_II_WIRELESS_USB_PID 0x1947 +#define AURA_ROG_STRIX_IMPACT_II_WIRELESS_2_4_PID 0x1949 +#define AURA_ROG_KERIS 0x195C +#define AURA_ROG_KERIS_WIRELESS_USB_PID 0x195E +#define AURA_ROG_KERIS_WIRELESS_2_4_PID 0x1960 +#define AURA_ROG_KERIS_WIRELESS_BT_PID 0x1962 +#define AURA_TUF_M3_PID 0x1910 +#define AURA_TUF_M5_PID 0x1898 -#define AURA_ROG_SPATHA_X_DOCK_FAKE_PID 0xFFFF +#define AURA_ROG_SPATHA_X_DOCK_FAKE_PID 0xFFFF enum { @@ -235,6 +238,32 @@ static std::map aura_mouse_devices = { AURA_MOUSE_MODE_STATIC, AURA_MOUSE_MODE_BREATHING, AURA_MOUSE_MODE_SPECTRUM, AURA_MOUSE_MODE_WAVE, AURA_MOUSE_MODE_REACTIVE, AURA_MOUSE_MODE_COMET, AURA_MOUSE_MODE_BATTERY } } }, + { + AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_USB_PID, // ROG Gladius III Wireless Aimpoint USB + { + 255, + 1, + 0, + 100, + false, + 2, + { AURA_MOUSE_ZONE_LOGO }, + { AURA_MOUSE_MODE_STATIC, AURA_MOUSE_MODE_BREATHING, AURA_MOUSE_MODE_SPECTRUM, AURA_MOUSE_MODE_NONE, AURA_MOUSE_MODE_REACTIVE, AURA_MOUSE_MODE_NONE, AURA_MOUSE_MODE_BATTERY } + } + }, + { + AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_2_4_PID, // ROG Gladius III Wireless Aimpoint 2.4 GHz Dongle + { + 255, + 1, + 0, + 100, + true, + 2, + { AURA_MOUSE_ZONE_LOGO }, + { AURA_MOUSE_MODE_STATIC, AURA_MOUSE_MODE_BREATHING, AURA_MOUSE_MODE_SPECTRUM, AURA_MOUSE_MODE_NONE, AURA_MOUSE_MODE_REACTIVE, AURA_MOUSE_MODE_NONE, AURA_MOUSE_MODE_BATTERY } + } + }, { AURA_ROG_CHAKRAM_WIRELESS_PID, // ROG Chakram Wireless { diff --git a/Controllers/AsusAuraUSBController/AsusAuraUSBControllerDetect.cpp b/Controllers/AsusAuraUSBController/AsusAuraUSBControllerDetect.cpp index 2d085755..19161f8b 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraUSBControllerDetect.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraUSBControllerDetect.cpp @@ -351,41 +351,43 @@ REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Scope II 96 Wireless USB", DetectAs /*-----------------------------------------------------------------*\ | MICE | \*-----------------------------------------------------------------*/ -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Core", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_CORE_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin PNK LTD", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_PNK_LTD_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin COD", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_COD_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Wireless", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_WIRELESS_1_PID, 1, 0xFF13); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Wireless", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_WIRELESS_2_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_USB_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless 2.4Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_2_4_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless Bluetooth", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_BT_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Chakram (Wireless)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_WIRELESS_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Chakram (Wired)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_WIRED_1_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Chakram Core", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_CORE_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Chakram X USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_X_USB_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Chakram X 2.4GHz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_X_2_4_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_USB_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X 2.4GHz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_2_4_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X Dock", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_DOCK_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio II (Wired)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_II_WIRED_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio II (Wireless)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_II_WIRELESS_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_PID, 2, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Gundam", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_GUNDAM_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Electro Punk", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_PUNK_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Moonlight White", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WHITE_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WIRELESS_USB_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Wireless 2.4 Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WIRELESS_2_4_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Keris", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_USB_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless 2.4Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_2_4_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless Bluetooth", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_BT_PID, 0, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS TUF Gaming M3", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_TUF_M3_PID, 1, 0xFF01); -REGISTER_HID_DETECTOR_IP("ASUS TUF Gaming M5", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_TUF_M5_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Core", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_CORE_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin PNK LTD", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_PNK_LTD_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Origin COD", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_ORIGIN_COD_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Wireless", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_WIRELESS_1_PID, 1, 0xFF13); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius II Wireless", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_II_WIRELESS_2_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless 2.4Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless Bluetooth", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_BT_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless Aimpoint USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Gladius III Wireless Aimpoint 2.4Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_GLADIUS_III_WIRELESS_AIMPOINT_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Chakram (Wireless)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_WIRELESS_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Chakram (Wired)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_WIRED_1_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Chakram Core", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_CORE_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Chakram X USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_X_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Chakram X 2.4GHz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_CHAKRAM_X_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X 2.4GHz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("Asus ROG Spatha X Dock", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_SPATHA_X_DOCK_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio II (Wired)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_II_WIRED_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Pugio II (Wireless)", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_PUGIO_II_WIRELESS_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_PID, 2, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Gundam", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_GUNDAM_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Electro Punk", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_PUNK_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Moonlight White", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WHITE_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WIRELESS_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Impact II Wireless 2.4 Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_STRIX_IMPACT_II_WIRELESS_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Keris", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless USB", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_USB_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless 2.4Ghz", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_2_4_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS ROG Keris Wireless Bluetooth", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_ROG_KERIS_WIRELESS_BT_PID, 0, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS TUF Gaming M3", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_TUF_M3_PID, 1, 0xFF01); +REGISTER_HID_DETECTOR_IP("ASUS TUF Gaming M5", DetectAsusAuraUSBMice, AURA_USB_VID, AURA_TUF_M5_PID, 2, 0xFF01); REGISTER_HID_DETECTOR_IP("ASUS ROG Strix Evolve", DetectAsusAuraUSBStrixEvolve, AURA_USB_VID, AURA_ROG_STRIX_EVOLVE_PID, 1, 0x0008); REGISTER_HID_DETECTOR_IP("ASUS ROG Spatha Wired", DetectAsusAuraUSBSpatha, AURA_USB_VID, AURA_ROG_SPATHA_WIRED_PID, 1, 0x0008);