diff --git a/lib/hidapi/hidapi_impl.py b/lib/hidapi/hidapi_impl.py index 978d34fc..d9fc3047 100644 --- a/lib/hidapi/hidapi_impl.py +++ b/lib/hidapi/hidapi_impl.py @@ -38,6 +38,8 @@ from typing import Callable from hidapi.common import DeviceInfo +LOGITECH_VENDOR_ID = 0x046D + if typing.TYPE_CHECKING: import gi @@ -251,6 +253,12 @@ def _match( logger.info(f"Skipping unlikely device {device['path']} ({bus_id}/{vid:04X}/{pid:04X})") return None + # Skip Logitech webcams to prevent them from locking up during hidpp checks + # (product IDs range for webcams from docs/usb.ids.txt) + if vid == LOGITECH_VENDOR_ID and 0x0800 <= pid <= 0x09FF: + logger.info(f"Skipping Logitech webcam {device['path']} ({bus_id}/{vid:04X}/{pid:04X})") + return None + # Check for hidpp support device["hidpp_short"] = False device["hidpp_long"] = False