import board from kb import KMKKeyboard from kmk.keys import KC from kmk.modules.layers import Layers from kmk.modules.mouse_keys import MouseKeys from kmk.modules.split import Split, SplitSide from kmk.handlers.sequences import send_string from kmk.modules.tapdance import TapDance from kmk.modules.capsword import CapsWord from kmk.modules.combos import Combos, Chord, Sequence from kmk.modules.autoshift import Autoshift keyboard = KMKKeyboard() keyboard.debug_enabled = False # TODO Comment one of these on each side split_side = SplitSide.LEFT #split_side = SplitSide.RIGHT split = Split( # split_flip=True, data_pin=board.D1, split_side=split_side, split_target_left=False, # Using the default wasn't working, try pio use_pio=True, uart_flip=True, ) layers = Layers() mouse_key = MouseKeys() tapdance = TapDance() tapdance.tap_time = 750 caps_word=CapsWord() combos = Combos() autoshift = Autoshift() keyboard.modules = [layers, split, mouse_key, tapdance, caps_word, combos, autoshift] # Cleaner key names _______ = KC.TRNS XXXXXXX = KC.NO # Tap Dance Q_ESC = KC.TD( # Tap once for "Q" KC.Q, # Tap twice for "ESC" KC.ESC, ) # Layer tap for other home row keys NAV_BKSP = KC.LT(1, KC.BSPC) FUN_TAB = KC.LT(4, KC.TAB) SYM_ENTER = KC.LT(3, KC.ENT) NUM_SPC = KC.LT(2, KC.SPC) # Send String M_PASS1 = send_string("T3lg3Ranch!2023") M_PASS2 = send_string("P0plarLake!2023") # COMBOS combos.combos = [ Chord((KC.F, KC.A), KC.LGUI), Chord((KC.F, KC.S), KC.LALT), Chord((KC.F, KC.D), KC.LCTL), Chord((KC.J, KC.QUOT), KC.RGUI), Chord((KC.J, KC.L), KC.RALT), Chord((KC.J, KC.K), KC.RCTL), Chord((KC.Z, KC.X), KC.LSFT) ] # fmt: off # flake8: noqa keyboard.keymap = [ [ # 0 QWERTY/ BASE Q_ESC, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.QUOT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, NAV_BKSP, FUN_TAB, SYM_ENTER, NUM_SPC, ], [ # 1 NAVIGATION _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC.CAPSWORD, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, _______, _______, _______, M_PASS2, M_PASS1, _______, KC.HOME, KC.PGUP, KC.PGDN, KC.END, _______, _______, _______, _______, ], [ # 2 NUMBERS KC.LBRC, KC.N7, KC.N8, KC.N9, KC.RBRC, _______, _______, _______, _______, _______, KC.SCLN, KC.N4, KC.N5, KC.N6, KC.PLUS, _______, _______, _______, _______, _______, KC.DOT, KC.N1, KC.N2, KC.N3, KC.BSLS, _______, _______, _______, _______, _______, KC.N0, KC.MINS, _______, _______, ], [ # 3 SYMBOLS KC.LCBR, KC.AMPR, KC.ASTR, KC.LPRN, KC.RCBR, _______, _______, _______, _______, _______, KC.COLN, KC.DLR, KC.PERC, KC.CIRC, KC.PLUS, _______, _______, _______, _______, _______, KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.PIPE, _______, _______, _______, _______, _______, KC.RPRN, KC.UNDS, _______, _______, ], [ # 4 FUNCTION _______, _______, _______, _______, _______, _______, KC.F7, KC.F8, KC.F9, KC.F10, _______, _______, _______, _______, _______, _______, KC.F4, KC.F5, KC.F6, KC.F11, _______, _______, _______, _______, _______, _______, KC.F1, KC.F2, KC.F3, KC.F12, _______, _______, _______, _______, ], ] if __name__ == "__main__": keyboard.go()