From 29373e9a37f62588cb76435235bb4b1afa5004ef Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Wed, 30 Sep 2020 12:26:33 -0700 Subject: [PATCH] delay imports --- kmk/kmk_keyboard.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/kmk/kmk_keyboard.py b/kmk/kmk_keyboard.py index 42c8ce3..e266bd4 100644 --- a/kmk/kmk_keyboard.py +++ b/kmk/kmk_keyboard.py @@ -8,13 +8,8 @@ import gc from kmk import led, rgb -try: - from kmk.ble import BLEHID -except ImportError: - print('Bluetooth is unsupported ') - from kmk.consts import KMK_RELEASE, LeaderMode, UnicodeMode -from kmk.hid import USBHID, AbstractHID, HIDModes +from kmk.hid import AbstractHID, HIDModes from kmk.internal_state import InternalState from kmk.keys import KC from kmk.kmktime import sleep_ms @@ -226,9 +221,20 @@ class KMKKeyboard: if hid_type == HIDModes.NOOP: self.hid_helper = AbstractHID elif hid_type == HIDModes.USB: - self.hid_helper = USBHID + try: + from kmk.hid import USBHID + self.hid_helper = USBHID + except ImportError: + self.hid_helper = AbstractHID + print('USB HID is unsupported ') elif hid_type == HIDModes.BLE: - self.hid_helper = BLEHID + try: + from kmk.ble import BLEHID + self.hid_helper = BLEHID + except ImportError: + self.hid_helper = AbstractHID + print('Bluetooth is unsupported ') + self._hid_helper_inst = self.hid_helper(**kwargs)