Support the real reason we're all here: unicode key sequences (Linux only). Basically takes the same output style as klardotsh/qmk_emote_macro_generator outputs
This commit is contained in:
parent
bdd4f86472
commit
2024eb959f
@ -1,5 +1,6 @@
|
|||||||
from kmk.common.event_defs import (hid_report_event, keycode_down_event,
|
from kmk.common.event_defs import (hid_report_event, keycode_down_event,
|
||||||
keycode_up_event)
|
keycode_up_event)
|
||||||
|
from kmk.common.keycodes import Common, Modifiers
|
||||||
from kmk.macros import KMKMacro
|
from kmk.macros import KMKMacro
|
||||||
|
|
||||||
|
|
||||||
@ -12,3 +13,17 @@ def simple_key_sequence(seq):
|
|||||||
yield hid_report_event()
|
yield hid_report_event()
|
||||||
|
|
||||||
return KMKMacro(keydown=_simple_key_sequence)
|
return KMKMacro(keydown=_simple_key_sequence)
|
||||||
|
|
||||||
|
|
||||||
|
def ibus_unicode_sequence(codepoints):
|
||||||
|
seq = []
|
||||||
|
|
||||||
|
for codepoint in codepoints:
|
||||||
|
seq.append(Modifiers.KC_LCTRL(Modifiers.KC_LSHIFT(Common.KC_U)))
|
||||||
|
|
||||||
|
for codepoint_fragment in codepoint:
|
||||||
|
seq.append(getattr(Common, 'KC_{}'.format(codepoint_fragment.upper())))
|
||||||
|
|
||||||
|
seq.append(Common.KC_ENTER)
|
||||||
|
|
||||||
|
return simple_key_sequence(seq)
|
||||||
|
@ -3,7 +3,7 @@ import machine
|
|||||||
from kmk.common.consts import DiodeOrientation
|
from kmk.common.consts import DiodeOrientation
|
||||||
from kmk.common.keycodes import KC
|
from kmk.common.keycodes import KC
|
||||||
from kmk.entrypoints.handwire.pyboard import main
|
from kmk.entrypoints.handwire.pyboard import main
|
||||||
from kmk.macros.simple import simple_key_sequence
|
from kmk.macros.simple import ibus_unicode_sequence, simple_key_sequence
|
||||||
|
|
||||||
p = machine.Pin.board
|
p = machine.Pin.board
|
||||||
cols = (p.X10, p.X11, p.X12)
|
cols = (p.X10, p.X11, p.X12)
|
||||||
@ -26,6 +26,20 @@ MACRO_TEST_STRING = simple_key_sequence([
|
|||||||
KC.EXCLAIM,
|
KC.EXCLAIM,
|
||||||
])
|
])
|
||||||
|
|
||||||
|
ANGRY_TABLE_FLIP = ibus_unicode_sequence([
|
||||||
|
"28",
|
||||||
|
"30ce",
|
||||||
|
"ca0",
|
||||||
|
"75ca",
|
||||||
|
"ca0",
|
||||||
|
"29",
|
||||||
|
"30ce",
|
||||||
|
"5f61",
|
||||||
|
"253b",
|
||||||
|
"2501",
|
||||||
|
"253b",
|
||||||
|
])
|
||||||
|
|
||||||
keymap = [
|
keymap = [
|
||||||
[
|
[
|
||||||
[KC.MO(1), KC.GESC, KC.RESET],
|
[KC.MO(1), KC.GESC, KC.RESET],
|
||||||
@ -38,7 +52,7 @@ keymap = [
|
|||||||
[KC.F, KC.G, KC.H],
|
[KC.F, KC.G, KC.H],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
[KC.VOLU, KC.MUTE, KC.Z],
|
[KC.VOLU, KC.MUTE, ANGRY_TABLE_FLIP],
|
||||||
[KC.TRNS, KC.PIPE, KC.MEDIA_PLAY_PAUSE],
|
[KC.TRNS, KC.PIPE, KC.MEDIA_PLAY_PAUSE],
|
||||||
[KC.VOLD, KC.P, MACRO_TEST_STRING],
|
[KC.VOLD, KC.P, MACRO_TEST_STRING],
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user