from kmk.common.consts import DiodeOrientation, UnicodeModes from kmk.common.keycodes import KC from kmk.common.macros.rotary_encoder import VolumeRotaryEncoder from kmk.common.macros.simple import send_string, simple_key_sequence from kmk.common.macros.unicode import unicode_string_sequence from kmk.common.pins import Pin as P from kmk.common.types import AttrDict from kmk.entrypoints.handwire.itsybitsy_m4_express import main from kmk.firmware import Firmware DEBUG_ENABLE = True cols = (P.A4, P.A5, P.D7) rows = (P.D12, P.D11, P.D10) diode_orientation = DiodeOrientation.COLUMNS unicode_mode = UnicodeModes.LINUX encoders = [ VolumeRotaryEncoder(P.A3, P.A2), ] emoticons = AttrDict({ # Emojis 'BEER': r'🍺', 'BEER_TOAST': r'🍻', 'FACE_CUTE_SMILE': r'😊', 'FACE_HEART_EYES': r'😍', 'FACE_JOY': r'πŸ˜‚', 'FACE_SWEAT_SMILE': r'πŸ˜…', 'FACE_THINKING': r'πŸ€”', 'FIRE': r'πŸ”₯', 'FLAG_CA': r'πŸ‡¨πŸ‡¦', 'FLAG_US': r'πŸ‡ΊπŸ‡Έ', 'HAND_CLAP': r'πŸ‘', 'HAND_HORNS': r'🀘', 'HAND_OK': r'πŸ‘Œ', 'HAND_THUMB_DOWN': r'πŸ‘Ž', 'HAND_THUMB_UP': r'πŸ‘', 'HAND_WAVE': r'πŸ‘‹', 'HEART': r'❀️', 'MAPLE_LEAF': r'🍁', 'POOP': r'πŸ’©', 'TADA': r'πŸŽ‰', # Emoticons, but fancier 'ANGRY_TABLE_FLIP': r'(γƒŽΰ² η—Šΰ² )γƒŽε½‘β”»β”β”»', 'CELEBRATORY_GLITTER': r'+q:.οΎŸγƒ½(Β΄βˆ€ο½‘)οΎ‰οΎŸ.:q+゚゚+q:.οΎŸγƒ½(*Β΄βˆ€)οΎ‰οΎŸ.:q+゚', 'SHRUGGIE': r'Β―\_(ツ)_/Β―', 'TABLE_FLIP': r'(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻', }) for k, v in emoticons.items(): emoticons[k] = unicode_string_sequence(v) MACRO_HELLO_WORLD = simple_key_sequence([ KC.LSHIFT(KC.H), KC.E, KC.L, KC.L, KC.O, KC.SPACE, KC.MACRO_SLEEP_MS(500), KC.LSHIFT(KC.K), KC.LSHIFT(KC.M), KC.LSHIFT(KC.K), KC.EXCLAIM, ]) keymap = [ [ [KC.GESC, KC.A, KC.RESET], [KC.MO(1), KC.B, KC.MUTE], [KC.LT(2, KC.EXCLAIM), KC.HASH, KC.ENTER], ], [ [KC.MUTE, KC.B, KC.C], [KC.TRNS, KC.D, KC.E], [KC.F, KC.G, KC.H], ], [ [emoticons.CELEBRATORY_GLITTER, emoticons.SHRUGGIE, emoticons.ANGRY_TABLE_FLIP], [emoticons.BEER, emoticons.FLAG_CA, emoticons.FLAG_US], [KC.TRNS, KC.P, MACRO_HELLO_WORLD], ], ]