Adjusting HID detection to fix false positives

* Adjusting Interface for Razer Chroma
* Adjusting Interface for ThingMBlink

Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
Chris
2021-10-29 13:24:00 +11:00
committed by Adam Honse
parent 18b0a15e76
commit 3095572260
3 changed files with 20 additions and 24 deletions

View File

@@ -223,7 +223,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V3 Pro (Wireless)", Det
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V3 TKL", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V3_TKL_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V3 TKL", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V3_TKL_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_TE_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_TE_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_CHROMA_PID, 0x02, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma V2", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_V2_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma V2", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_V2_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Cynosa Lite", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_LITE_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Cynosa Lite", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_LITE_PID, 0x00, 0x01, 0x02);
REGISTER_HID_DETECTOR_IPU("Razer Deathstalker Chroma", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Deathstalker Chroma", DetectRazerControllers, RAZER_VID, RAZER_DEATHSTALKER_CHROMA_PID, 0x00, 0x01, 0x02);

View File

@@ -28,4 +28,4 @@ void DetectThingMBlink(hid_device_info* info, const std::string&)
} }
} }
REGISTER_HID_DETECTOR_IPU ("ThingM blink(1) mk2", DetectThingMBlink, THINGM_VID, THINGM_BLINK_PID, 1, 0xFF00, 0x01); REGISTER_HID_DETECTOR_PU("ThingM blink(1) mk2", DetectThingMBlink, THINGM_VID, THINGM_BLINK_PID, 0xFF00, 0x01);

View File

@@ -853,19 +853,17 @@ void ResourceManager::DetectDevicesThreadFunction()
{ {
unsigned int addr = (current_hid_device->vendor_id << 16) | current_hid_device->product_id; unsigned int addr = (current_hid_device->vendor_id << 16) | current_hid_device->product_id;
if(( ( hid_device_detectors[hid_detector_idx].address == addr ) ) if(( ( hid_device_detectors[hid_detector_idx].address == addr ) )
#ifdef USE_HID_USAGE #ifdef USE_HID_USAGE
&& ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) ) || ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) )
&& ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) ) || ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) )
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
|| ( ( hid_device_detectors[hid_detector_idx].usage != HID_USAGE_PAGE_ANY ) || ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
|| ( hid_device_detectors[hid_detector_idx].usage_page != HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) ) )
#else #else
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) ) || ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
#endif #endif
) )
{ {
@@ -948,19 +946,17 @@ void ResourceManager::DetectDevicesThreadFunction()
\*-----------------------------------------------------------------------------*/ \*-----------------------------------------------------------------------------*/
for(unsigned int hid_detector_idx = 0; hid_detector_idx < hid_device_detectors.size() && detection_is_required.load(); hid_detector_idx++) for(unsigned int hid_detector_idx = 0; hid_detector_idx < hid_device_detectors.size() && detection_is_required.load(); hid_detector_idx++)
{ {
if(( ( hid_device_detectors[hid_detector_idx].address == addr ) ) if(( ( hid_device_detectors[hid_detector_idx].address == addr ) )
#ifdef USE_HID_USAGE #ifdef USE_HID_USAGE
&& ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) ) || ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) )
&& ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) ) || ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) )
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
|| ( ( hid_device_detectors[hid_detector_idx].usage != HID_USAGE_PAGE_ANY ) || ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
|| ( hid_device_detectors[hid_detector_idx].usage_page != HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) ) )
#else #else
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY ) && ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) ) || ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
#endif #endif
) )
{ {