From 310b3af76f97a95cef4ccf52de03b4ab197096ee Mon Sep 17 00:00:00 2001 From: Din Tort Date: Sat, 28 Feb 2026 16:50:36 +0100 Subject: [PATCH] Skip Logitech webcams to prevent them from locking up during HID++ checks on Macs * Skip Logitech webcams (PID 0x0800 to 0x09FF) to prevent them from locking up during hidpp checks #3145 * Skip Logitech webcams (PID 0x0800 to 0x09FF) to prevent them from locking up during hidpp checks #3145 - format comment * Skip Logitech webcams (PID 0x0800 to 0x09FF) to prevent them from locking up during hidpp checks #3145 - format hex * Skip Logitech webcams from hidpp checks #3145 - local constant for LOGITECH_VENDOR_ID as per code review --- lib/hidapi/hidapi_impl.py | 8 ++++++++ 1 file changed, 8 insertions(+) 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