Skip to content

Instantly share code, notes, and snippets.

@DBendit

DBendit/code.py Secret

Created November 15, 2022 04:05
Show Gist options
  • Save DBendit/2b3f2bebdf6943d80b9301b3a6ff2287 to your computer and use it in GitHub Desktop.
Save DBendit/2b3f2bebdf6943d80b9301b3a6ff2287 to your computer and use it in GitHub Desktop.
import board
from kmk.kmk_keyboard import KMKKeyboard
from kmk.keys import KC
from kmk.scanners import DiodeOrientation
from kmk.modules.split import Split
from kmk.modules.capsword import CapsWord
from kmk.modules.combos import Combos, Chord
from kmk.modules.layers import Layers
keyboard = KMKKeyboard()
keyboard.debug_enabled = True
keyboard.col_pins = (board.GP16, board.GP17, board.GP18, board.GP19, board.GP20, board.GP21, board.GP22,)
keyboard.row_pins = (board.GP6, board.GP5, board.GP4, board.GP3, board.GP2,)
keyboard.diode_orientation = DiodeOrientation.COL2ROW
split = Split(data_pin=board.GP0, data_pin2=board.GP1, uart_flip=True, use_pio=True, split_flip=False)
layers = Layers()
caps_word = CapsWord()
combos = Combos()
keyboard.modules.append(split)
keyboard.modules.append(layers)
keyboard.modules.append(caps_word)
keyboard.modules.append(combos)
combos.combos = [
Chord((KC.LSHIFT, KC.RSHIFT), KC.CW),
]
_______ = KC.TRNS
XXXXXXX = KC.NO
SYMBOL = KC.MO(2)
ADJUST = KC.TG(3)
EXIT = KC.TG(3)
QWERTY = KC.DF(0)
COLEMAK = KC.DF(1)
keyboard.keymap = [
# QWERTY base layer
[
KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.MINS, KC.EQL, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSLASH,
KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.ENT, KC.ENT, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.MINS,
KC.ESC, KC.A, KC.S, KC.D, KC.F, KC.G, KC.PGUP, KC.DELETE, KC.H, KC.J, KC.K, KC.L, KC.SCOLON, KC.QUOTE,
KC.LSHIFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.PGDOWN, XXXXXXX, KC.N, KC.M, KC.COMMA, KC.DOT, KC.SLASH, KC.RSHIFT,
KC.LCTRL, KC.LWIN, KC.LALT, SYMBOL, KC.SPACE, KC.BSPACE, KC.LSHIFT, KC.RSHIFT, KC.SPACE, SYMBOL, KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
],
# Colemak-DH
[
KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.MINS, KC.EQL, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSLASH,
KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.ENT, KC.ENT, KC.J, KC.L, KC.U, KC.Y, KC.SCOLON, KC.MINS,
KC.ESC, KC.A, KC.R, KC.S, KC.T, KC.G, KC.PGUP, KC.DELETE, KC.M, KC.N, KC.E, KC.I, KC.O, KC.QUOTE,
KC.LSHIFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.PGDOWN, XXXXXXX, KC.K, KC.H, KC.COMMA, KC.DOT, KC.SLASH, KC.RSHIFT,
KC.LCTRL, KC.LWIN, KC.LALT, XXXXXXX, SYMBOL, KC.BSPACE, KC.LSHIFT, KC.RSHIFT, KC.SPACE, SYMBOL, KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
],
# Symbols
[
KC.ESC, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, XXXXXXX, XXXXXXX, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC.LBRC, KC.RBRC, XXXXXXX, KC.F12,
_______, XXXXXXX, XXXXXXX, KC.PLUS, KC.EQL, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC.LPRN, KC.RPRN, XXXXXXX, ADJUST,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC.LCBR, KC.RCBR, XXXXXXX, _______,
_______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
],
# Adjust
[
KC.RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.RESET,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
EXIT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX, EXIT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
],
]
if __name__ == '__main__':
keyboard.go()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment