From eaa0c031ef4e0d24fd0bdee77553e4268c54f0fc Mon Sep 17 00:00:00 2001 From: "regicidal.plutophage" <36969337+regicidalplutophage@users.noreply.github.com> Date: Wed, 18 Dec 2024 17:11:20 +0000 Subject: [PATCH] add start_watchdog() method --- kmk/hid.py | 18 ++++++++++++++---- kmk/kmk_keyboard.py | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/kmk/hid.py b/kmk/hid.py index cbd36c7f4..ae2c6fccb 100644 --- a/kmk/hid.py +++ b/kmk/hid.py @@ -5,6 +5,7 @@ from storage import getmount from kmk.keys import ConsumerKey, KeyboardKey, ModifierKey, MouseKey +from kmk.scheduler import create_task # from kmk.scheduler import create_task from kmk.utils import Debug, clamp @@ -65,7 +66,7 @@ def __init__(self, **kwargs): self._nkro = False self._mouse = True self._pan = False - self.make_device_list() + self.find_devices() self._cc_report = bytearray(HID_REPORT_SIZES[HIDReportTypes.CONSUMER] + 1) self._cc_report[0] = HIDReportTypes.CONSUMER @@ -74,7 +75,7 @@ def __init__(self, **kwargs): self.test_nkro() self.test_mouse() - def make_device_list(self): + def find_devices(self): self.devices = {} for device in self.hid_devices: @@ -150,6 +151,9 @@ def test_mouse(self): def watchdog(self): return + def start_watchdog(self): + return + def __repr__(self): return f'{self.__class__.__name__}(REPORT_BYTES={self.REPORT_BYTES})' @@ -307,10 +311,13 @@ def __init__(self, **kwargs): def watchdog(self): if self.usb_status != supervisor.runtime.usb_connected: self.usb_status = supervisor.runtime.usb_connected - self.make_device_list() + self.find_devices() self.test_nkro() self.test_mouse() + def start_watchdog(self, period_ms=200): + return create_task(self.watchdog, period_ms=period_ms) + def hid_send(self, evt): if not supervisor.runtime.usb_connected: return @@ -347,7 +354,10 @@ def __init__(self, ble_name=str(getmount('/').label), **kwargs): def watchdog(self): if self.ble_status != self.ble.connected: self.ble_status = self.ble.connected - self.make_device_list() + self.find_devices() + + def start_watchdog(self, period_ms=200): + return create_task(self.watchdog, period_ms=period_ms) def hid_send(self, evt): if not self.ble.connected: diff --git a/kmk/kmk_keyboard.py b/kmk/kmk_keyboard.py index 91c241021..f76529dd5 100644 --- a/kmk/kmk_keyboard.py +++ b/kmk/kmk_keyboard.py @@ -308,7 +308,7 @@ def _init_hid(self) -> None: else: self._hid_helper = AbstractHID self._hid_helper = self._hid_helper(**self._go_args) - self._watchdog = create_task(self._hid_helper.watchdog, period_ms=200) + self._hid_helper.start_watchdog() self._hid_send_enabled = True if debug.enabled: