massive cleanup

This commit is contained in:
Kyle Brown
2020-10-30 15:43:16 -07:00
parent 4cc99d487d
commit 7fe461d537
15 changed files with 445 additions and 297 deletions

View File

@@ -1,23 +0,0 @@
from kmk.kmktime import ticks_diff, ticks_ms
def mt_pressed(key, state, *args, **kwargs):
# Sets the timer start and acts like a modifier otherwise
state._keys_pressed.add(key.meta.mods)
state._start_time['mod_tap'] = ticks_ms()
return state
def mt_released(key, state, *args, **kwargs):
# On keyup, check timer, and press key if needed.
state._keys_pressed.discard(key.meta.mods)
timer_name = 'mod_tap'
if state._start_time[timer_name] and (
ticks_diff(ticks_ms(), state._start_time[timer_name]) < state.tap_time
):
state._hid_pending = True
state._tap_key(key.meta.kc)
state._start_time[timer_name] = None
return state

View File

@@ -12,18 +12,18 @@ def get_wide_ordinal(char):
def sequence_press_handler(key, state, KC, *args, **kwargs):
old_keys_pressed = state._keys_pressed
state._keys_pressed = set()
oldkeys_pressed = state.keys_pressed
state.keys_pressed = set()
for ikey in key.meta.seq:
if not getattr(ikey, 'no_press', None):
state._process_key(ikey, True)
state.process_key(ikey, True)
state._send_hid()
if not getattr(ikey, 'no_release', None):
state._process_key(ikey, False)
state.process_key(ikey, False)
state._send_hid()
state._keys_pressed = old_keys_pressed
state.keys_pressed = oldkeys_pressed
return state
@@ -104,15 +104,15 @@ def unicode_codepoint_sequence(codepoints):
def _unicode_sequence(key, state, *args, **kwargs):
if state.unicode_mode == UnicodeMode.IBUS:
state._process_key(
state.process_key(
simple_key_sequence(_ibus_unicode_sequence(kc_macros, state)), True
)
elif state.unicode_mode == UnicodeMode.RALT:
state._process_key(
state.process_key(
simple_key_sequence(_ralt_unicode_sequence(kc_macros, state)), True
)
elif state.unicode_mode == UnicodeMode.WINC:
state._process_key(
state.process_key(
simple_key_sequence(_winc_unicode_sequence(kc_macros, state)), True
)

View File

@@ -6,50 +6,38 @@ def passthrough(key, state, *args, **kwargs):
def default_pressed(key, state, KC, coord_int=None, coord_raw=None):
state._hid_pending = True
state.hid_pending = True
if coord_int is not None:
state._coord_keys_pressed[coord_int] = key
state._coordkeys_pressed[coord_int] = key
state._keys_pressed.add(key)
state.keys_pressed.add(key)
return state
def default_released(key, state, KC, coord_int=None, coord_raw=None):
state._hid_pending = True
state._keys_pressed.discard(key)
state.hid_pending = True
state.keys_pressed.discard(key)
if coord_int is not None:
state._keys_pressed.discard(state._coord_keys_pressed.get(coord_int, None))
state._coord_keys_pressed[coord_int] = None
state.keys_pressed.discard(state._coordkeys_pressed.get(coord_int, None))
state._coordkeys_pressed[coord_int] = None
return state
def reset(*args, **kwargs):
try:
import machine
import microcontroller
machine.reset()
except ImportError:
import microcontroller
microcontroller.reset()
microcontroller.reset()
def bootloader(*args, **kwargs):
try:
import machine
import microcontroller
machine.bootloader()
except ImportError:
import microcontroller
microcontroller.on_next_reset(microcontroller.RunMode.BOOTLOADER)
microcontroller.reset()
microcontroller.on_next_reset(microcontroller.RunMode.BOOTLOADER)
microcontroller.reset()
def debug_pressed(key, state, KC, *args, **kwargs):
@@ -66,48 +54,48 @@ def debug_pressed(key, state, KC, *args, **kwargs):
def gesc_pressed(key, state, KC, *args, **kwargs):
GESC_TRIGGERS = {KC.LSHIFT, KC.RSHIFT, KC.LGUI, KC.RGUI}
if GESC_TRIGGERS.intersection(state._keys_pressed):
if GESC_TRIGGERS.intersection(state.keys_pressed):
# First, release GUI if already pressed
state._send_hid()
# if Shift is held, KC_GRAVE will become KC_TILDE on OS level
state._keys_pressed.add(KC.GRAVE)
state._hid_pending = True
state.keys_pressed.add(KC.GRAVE)
state.hid_pending = True
return state
# else return KC_ESC
state._keys_pressed.add(KC.ESCAPE)
state._hid_pending = True
state.keys_pressed.add(KC.ESCAPE)
state.hid_pending = True
return state
def gesc_released(key, state, KC, *args, **kwargs):
state._keys_pressed.discard(KC.ESCAPE)
state._keys_pressed.discard(KC.GRAVE)
state._hid_pending = True
state.keys_pressed.discard(KC.ESCAPE)
state.keys_pressed.discard(KC.GRAVE)
state.hid_pending = True
return state
def bkdl_pressed(key, state, KC, *args, **kwargs):
BKDL_TRIGGERS = {KC.LGUI, KC.RGUI}
if BKDL_TRIGGERS.intersection(state._keys_pressed):
if BKDL_TRIGGERS.intersection(state.keys_pressed):
state._send_hid()
state._keys_pressed.add(KC.DEL)
state._hid_pending = True
state.keys_pressed.add(KC.DEL)
state.hid_pending = True
return state
# else return KC_ESC
state._keys_pressed.add(KC.BKSP)
state._hid_pending = True
state.keys_pressed.add(KC.BKSP)
state.hid_pending = True
return state
def bkdl_released(key, state, KC, *args, **kwargs):
state._keys_pressed.discard(KC.BKSP)
state._keys_pressed.discard(KC.DEL)
state._hid_pending = True
state.keys_pressed.discard(KC.BKSP)
state.keys_pressed.discard(KC.DEL)
state.hid_pending = True
return state