Merge pull request #28 from KMKfw/topic-grave-escape
Topic grave escape
This commit is contained in:
commit
a1bfaac691
@ -16,13 +16,44 @@ def process_internal_key_event(state, action, changed_key, logger=None):
|
||||
return tg(state, action, changed_key, logger=logger)
|
||||
elif changed_key.code == Keycodes.Layers._KC_TO:
|
||||
return to(state, action, changed_key, logger=logger)
|
||||
elif changed_key == Keycodes.KMK.KC_GESC:
|
||||
return grave_escape(action, state, logger=logger)
|
||||
else:
|
||||
return state
|
||||
|
||||
|
||||
def tilde(state, action, changed_key, logger):
|
||||
# TODO Actually process keycodes
|
||||
return state
|
||||
def grave_escape(action, state, logger):
|
||||
if action['type'] == KEY_DOWN_EVENT:
|
||||
for key in state.keys_pressed:
|
||||
if key in {Keycodes.Modifiers.KC_LSHIFT, Keycodes.Modifiers.KC_RSHIFT}:
|
||||
# if Shift is held, return KC_GRAVE which will become KC_TILDE on OS level
|
||||
return state.update(
|
||||
keys_pressed=(
|
||||
state.keys_pressed | {Keycodes.Common.KC_GRAVE}
|
||||
),
|
||||
)
|
||||
elif key in {Keycodes.Modifiers.KC_LGUI, Keycodes.Modifiers.KC_RGUI}:
|
||||
# if GUI is held, return KC_GRAVE
|
||||
return state.update(
|
||||
keys_pressed=(
|
||||
state.keys_pressed | {Keycodes.Common.KC_GRAVE}
|
||||
),
|
||||
)
|
||||
|
||||
# else return KC_ESC
|
||||
return state.update(
|
||||
keys_pressed=(
|
||||
state.keys_pressed | {Keycodes.Common.KC_ESCAPE}
|
||||
),
|
||||
)
|
||||
|
||||
elif action['type'] == KEY_UP_EVENT:
|
||||
return state.update(
|
||||
keys_pressed=frozenset(
|
||||
key for key in state.keys_pressed
|
||||
if key not in {Keycodes.Common.KC_ESCAPE, Keycodes.Common.KC_GRAVE}
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
def df(state, action, changed_key, logger):
|
||||
|
1
linux-udev/99-stm-bootloader.rules
Normal file
1
linux-udev/99-stm-bootloader.rules
Normal file
@ -0,0 +1 @@
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", GROUP="uucp", MODE="0660"
|
@ -14,7 +14,7 @@ diode_orientation = DiodeOrientation.COLUMNS
|
||||
keymap = [
|
||||
[
|
||||
# Default
|
||||
[KC.ESC, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP],
|
||||
[KC.GESC, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP],
|
||||
[KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT],
|
||||
[KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH],
|
||||
[KC.LCTRL, KC.LGUI, KC.LALT, KC.MO(2), KC.MO(3), KC.SPC, KC.SPC, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT],
|
||||
|
@ -12,7 +12,7 @@ diode_orientation = DiodeOrientation.COLUMNS
|
||||
|
||||
keymap = [
|
||||
[
|
||||
[KC.MO(1), KC.H, KC.RESET],
|
||||
[KC.MO(1), KC.GESC, KC.RESET],
|
||||
[KC.MO(2), KC.HASH, KC.ENTER],
|
||||
[KC.LCTRL, KC.SPACE, KC.LSHIFT],
|
||||
],
|
||||
|
Loading…
x
Reference in New Issue
Block a user