Resolves #38: Add KC.DEBUG to toggle log spew at runtime

This commit is contained in:
Josh Klar
2018-10-19 00:58:17 -07:00
parent 64202e2ec1
commit 54f7117712
4 changed files with 16 additions and 2 deletions

View File

@@ -45,6 +45,7 @@ class InternalState:
RawKeycodes.KC_MACRO: self._kc_macro,
Keycodes.KMK.KC_LEAD.code: self._kc_lead,
Keycodes.KMK.KC_NO.code: self._kc_no,
Keycodes.KMK.KC_DEBUG.code: self._kc_debug_mode,
}
def __repr__(self):
@@ -291,6 +292,17 @@ class InternalState:
def _kc_no(self, changed_key, is_pressed):
return self
def _kc_debug_mode(self, changed_key, is_pressed):
if is_pressed:
if self.config.debug_enabled:
print('Disabling debug mode, bye!')
else:
print('Enabling debug mode. Welcome to the jungle.')
self.config.debug_enabled = not self.config.debug_enabled
return self
def _begin_leader_mode(self):
if self.leader_mode % 2 == 0:
self.keys_pressed.discard(Keycodes.KMK.KC_LEAD)

View File

@@ -530,6 +530,7 @@ class KMK(KeycodeCategory):
KC_LOCK = Keycode(1006)
KC_NO = Keycode(1107)
KC_TRANSPARENT = KC_TRNS = Keycode(1108)
KC_DEBUG = KC_DBG = Keycode(1112)
@staticmethod
def KC_UC_MODE(mode):