File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -927,6 +927,22 @@ static int should_enumerate_interface(unsigned short vendor_id, const struct lib
927
927
return 0 ;
928
928
}
929
929
930
+ static int hid_blacklist (unsigned short vendor_id , unsigned short product_id )
931
+ {
932
+ size_t i ;
933
+ static const struct { unsigned short vid ; unsigned short pid ; } known_bad [] = {
934
+ { 0x1532 , 0x0227 } /* Razer Huntsman Gaming keyboard - long delay asking for device details */
935
+ };
936
+
937
+ for (i = 0 ; i < (sizeof (known_bad )/sizeof (known_bad [0 ])); i ++ ) {
938
+ if ((vendor_id == known_bad [i ].vid ) && (product_id == known_bad [i ].pid || known_bad [i ].pid == 0x0000 )) {
939
+ return 1 ;
940
+ }
941
+ }
942
+
943
+ return 0 ;
944
+ }
945
+
930
946
struct hid_device_info HID_API_EXPORT * hid_enumerate (unsigned short vendor_id , unsigned short product_id )
931
947
{
932
948
libusb_device * * devs ;
@@ -957,7 +973,8 @@ struct hid_device_info HID_API_EXPORT *hid_enumerate(unsigned short vendor_id,
957
973
unsigned short dev_pid = desc .idProduct ;
958
974
959
975
if ((vendor_id != 0x0 && vendor_id != dev_vid ) ||
960
- (product_id != 0x0 && product_id != dev_pid )) {
976
+ (product_id != 0x0 && product_id != dev_pid ) ||
977
+ hid_blacklist (dev_vid , dev_pid )) {
961
978
continue ;
962
979
}
963
980
You can’t perform that action at this time.
0 commit comments