Completely overhaul the entire MatrixScanner and KEY_UP/DOWN_EVENT system for efficiency. Less delay() on HID sends. Speed is only BARELY slower than QMK now.
This commit is contained in:
@@ -6,6 +6,7 @@ from kmk.common.consts import HID_REPORT_STRUCTURE, HIDReportTypes
|
||||
from kmk.common.event_defs import HID_REPORT_EVENT
|
||||
from kmk.common.keycodes import (FIRST_KMK_INTERNAL_KEYCODE, ConsumerKeycode,
|
||||
ModifierKeycode)
|
||||
from kmk.common.macros import KMKMacro
|
||||
|
||||
|
||||
def generate_pyb_hid_descriptor():
|
||||
@@ -71,7 +72,7 @@ class HIDHelper:
|
||||
self.add_key(consumer_key)
|
||||
else:
|
||||
for key in state.keys_pressed:
|
||||
if key.code >= FIRST_KMK_INTERNAL_KEYCODE:
|
||||
if isinstance(key, KMKMacro) or key.code >= FIRST_KMK_INTERNAL_KEYCODE:
|
||||
continue
|
||||
|
||||
if isinstance(key, ModifierKeycode):
|
||||
@@ -98,7 +99,7 @@ class HIDHelper:
|
||||
# It'd be real awesome if pyb.USB_HID.send/recv would support
|
||||
# uselect.poll or uselect.select to more safely determine when
|
||||
# it is safe to write to the host again...
|
||||
delay(10)
|
||||
delay(5)
|
||||
|
||||
return self
|
||||
|
||||
|
Reference in New Issue
Block a user