hid hid_get_input_report workarounds

This commit is contained in:
zvecr 2022-09-06 17:33:19 +01:00
parent a43d225fae
commit 8e18f4d0fd
2 changed files with 8 additions and 4 deletions

View File

@ -1,13 +1,12 @@
# Copyright 2022 QMK
# SPDX-License-Identifier: GPL-2.0-or-later
import hid
from typing import List
class XAPClient:
"""XAP device discovery
"""
@staticmethod
def devices(search: str = None) -> list[dict]:
def devices(search: str = None) -> List[dict]:
"""Find compatible XAP devices
Args:
@ -20,6 +19,9 @@ class XAPClient:
name = '%04x:%04x' % (x['vendor_id'], x['product_id'])
return name.lower().startswith(search.lower())
# lazy import to avoid compile issues
import hid
devices = filter(_is_xap_usage, hid.enumerate())
if search:
devices = filter(_is_filtered_device, devices)

View File

@ -1,6 +1,5 @@
# Copyright 2022 QMK
# SPDX-License-Identifier: GPL-2.0-or-later
import hid
import json
import time
import gzip
@ -40,6 +39,9 @@ class XAPDeviceBase:
self.timeout = timeout
self.running = True
# lazy import to avoid compile issues
import hid
self.dev = hid.Device(path=dev['path'])
self.bg = threading.Thread(target=self._read_loop, daemon=True)