base: Remove hard dependency on gi
Import gi solely for type checking.
This commit is contained in:
parent
1f85ec01e7
commit
bb559c0d7c
|
@ -31,8 +31,6 @@ from time import time
|
||||||
from typing import Any
|
from typing import Any
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
import gi
|
|
||||||
|
|
||||||
from . import base_usb
|
from . import base_usb
|
||||||
from . import common
|
from . import common
|
||||||
from . import descriptors
|
from . import descriptors
|
||||||
|
@ -43,6 +41,8 @@ from .common import LOGITECH_VENDOR_ID
|
||||||
from .common import BusID
|
from .common import BusID
|
||||||
|
|
||||||
if typing.TYPE_CHECKING:
|
if typing.TYPE_CHECKING:
|
||||||
|
import gi
|
||||||
|
|
||||||
from hidapi.common import DeviceInfo
|
from hidapi.common import DeviceInfo
|
||||||
|
|
||||||
gi.require_version("Gdk", "3.0")
|
gi.require_version("Gdk", "3.0")
|
||||||
|
@ -57,25 +57,34 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class HIDAPI(typing.Protocol):
|
class HIDAPI(typing.Protocol):
|
||||||
def find_paired_node_wpid(self, receiver_path: str, index: int): ...
|
def find_paired_node_wpid(self, receiver_path: str, index: int):
|
||||||
|
...
|
||||||
|
|
||||||
def find_paired_node(self, receiver_path: str, index: int, timeout: int): ...
|
def find_paired_node(self, receiver_path: str, index: int, timeout: int):
|
||||||
|
...
|
||||||
|
|
||||||
def open(self, vendor_id, product_id, serial=None): ...
|
def open(self, vendor_id, product_id, serial=None):
|
||||||
|
...
|
||||||
|
|
||||||
def open_path(self, path): ...
|
def open_path(self, path):
|
||||||
|
...
|
||||||
|
|
||||||
def enumerate(self, filter_func: Callable[[int, int, int, bool, bool], dict[str, typing.Any]]) -> DeviceInfo: ...
|
def enumerate(self, filter_func: Callable[[int, int, int, bool, bool], dict[str, typing.Any]]) -> DeviceInfo:
|
||||||
|
...
|
||||||
|
|
||||||
def monitor_glib(
|
def monitor_glib(
|
||||||
self, glib: GLib, callback: Callable, filter_func: Callable[[int, int, int, bool, bool], dict[str, typing.Any]]
|
self, glib: GLib, callback: Callable, filter_func: Callable[[int, int, int, bool, bool], dict[str, typing.Any]]
|
||||||
) -> None: ...
|
) -> None:
|
||||||
|
...
|
||||||
|
|
||||||
def read(self, device_handle, bytes_count, timeout_ms): ...
|
def read(self, device_handle, bytes_count, timeout_ms):
|
||||||
|
...
|
||||||
|
|
||||||
def write(self, device_handle: int, data: bytes) -> int: ...
|
def write(self, device_handle: int, data: bytes) -> int:
|
||||||
|
...
|
||||||
|
|
||||||
def close(self, device_handle) -> None: ...
|
def close(self, device_handle) -> None:
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
hidapi = typing.cast(HIDAPI, hidapi)
|
hidapi = typing.cast(HIDAPI, hidapi)
|
||||||
|
|
Loading…
Reference in New Issue