], ] layers_ext = Layers() encoder_ext = EncoderHandler([board.D40], [board.D41], encoder_map) encoder_ext.encoders[0].is_inverted = True keyboard.modules = [layers_ext, encoder_ext] keyboard.tap_time = 250 keyboard.debug_enabled = False # custom keys NEW = KC.LCTL(KC.N) NEW_DIR = KC.LCTL(KC.LSFT(KC.N)) CAD = KC.LCTL(KC.LALT(KC.DEL)) RES = KC.LCTL(KC.LSFT(KC.ESC)) FE = KC.LGUI(KC.E) LT1_DEL = KC.LT(1, KC.DEL) LT2_ENT = KC.LT(2, KC.ENT) SAVE_AS = KC.LCTL(KC.LSFT(KC.S)) PSCR = KC.LGUI(KC.PSCR) SNIP = simple_key_sequence(( KC.LGUI, KC.MACRO_SLEEP_MS(25), KC.S, KC.N, KC.I, KC.P, KC.MACRO_SLEEP_MS(25),
keyboard.rgb_config['animation_speed'] = 2 keyboard.debug_enabled = False # ---------------------- Custom Functions -------------------------------------------- BASE = 0 GAMING = 1 FN1 = 2 _______ = KC.TRNS XXXXXXX = KC.NO HOME = KC.MT(KC.HOME, KC.LSFT) END = KC.MT(KC.END, KC.RSFT) LEFT_LAY = KC.LT(FN1, KC.LEFT) SHFT_INS = KC.LSFT(KC.INS) # ---------------------- Keymap --------------------------------------------------------- keyboard.keymap = [ # df [ KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.LBRC, KC.RBRC, KC.BSPC, KC.LEAD, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.SLSH, KC.EQL, KC.BSLS, KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MINS, KC.ENT, HOME, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, END, KC.LCTL, KC.LGUI, KC.LALT, KC.SPC, LEFT_LAY, KC.DOWN, KC.UP, KC.RIGHT, ],
layers_ext = Layers() keyboard.modules = [layers_ext, modtap] # Cleaner key names _______ = KC.TRNS XXXXXXX = KC.NO FN1_SPC = KC.LT(1, KC.SPC) FN2_BSPC = KC.LT(2, KC.BSPC) FN3_C = KC.LT(3, KC.C) FN4_V = KC.LT(4, KC.V) CTL_Z = KC.MT(KC.Z, KC.LCTL) ALT_X = KC.MT(KC.X, KC.LALT) ALT_N = KC.MT(KC.N, KC.LALT) CTL_M = KC.MT(KC.M, KC.LCTL) SFT_ENT = KC.LSFT(KC.ENT) keyboard.keymap = [ [ KC.Q, 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.ESC, CTL_Z, ALT_X, FN3_C, FN4_V, FN2_BSPC, FN1_SPC, KC.B, ALT_N, CTL_M, SFT_ENT ], [ KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, _______, _______, _______, _______, KC.DEL, _______, _______, _______, _______, _______ ], [ KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN,
split_side = SplitSide.LEFT split_side = SplitSide.RIGHT split = Split(split_type=SplitType.BLE, split_side=split_side) layers_ext = Layers() keyboard.extensions = [layers_ext, split] # Cleaner key names _______ = KC.TRNS XXXXXXX = KC.NO LOWER = KC.MO(2) RAISE = KC.MO(1) KC_Z_SF = KC.LSFT(KC.Z) KC_SLSF = KC.RSFT(KC.SLSH) KC_11SF = KC.LSFT(KC.F11) KC_GRSF = KC.RSFT(KC.GRV) keyboard.keymap = [ [ #QWERTY KC.Q, 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.ENT, KC.Z_SF, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSF, KC.LCTL, KC.LALT, KC.LGUI, LOWER, KC.BSPC, KC.SPC, RAISE, KC.RGUI, KC.APP, KC.RCTL ], [ #RAISE KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, KC.RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MINS,
media = MediaKeys() layers_ext = Layers() keyboard.modules = [layers_ext, split] keyboard.extensions = (media) # Cleaner key names _______ = KC.TRNS XXXXXXX = KC.NO LOWER = KC.MO(1) RAISE = KC.MO(2) ADJUST = KC.MO(3) CALTDEL = KC.LCTL(KC.LALT(KC.DEL)) TSKMGR = KC.LCTL(KC.LSFT(KC.KC_ESC)) keyboard.keymap = [ [ #QWERTY KC.ESC, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.MINS, KC.EQL, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,\ KC.TAB, KC.A, KC.S, KC.D, KC.F, KC.G, KC.LBRC, KC.RBRC, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.QUOT,\ KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.SPC, KC.SPC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.ENT,\ KC.LCTL, KC.LGUI, KC.LALT, ADJUST, LOWER, KC.SPC, KC.SPC, RAISE, KC.LEFT, KC.UP, KC.DOWN, KC.RGHT\ ], [ #LOWER KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.HOME, KC.PGUP, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.DEL,\ _______, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.END , KC.PGDN, KC.F6, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR, KC.BSLS,\ _______, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.BSPC, KC.BSPC, KC.F12, _______, _______, KC.MUTE, _______, KC.PIPE,\ _______, _______, _______, _______, _______, KC.BSPC, KC.BSPC, _______, KC.MNXT, KC.VOLD, KC.VOLU, KC.MPLY\ ], [ #RAISE
KC.NO, FUN, KC.SPC, KC.SPC, KC.NO, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, ], [ KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.BSPC, KC.DEL, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.UNDS, KC.PLUS, KC.LCBR, KC.NO, KC.RCBR, XXXXXXX, KC.NO, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.LSFT(KC.NUHS), KC.LSFT(KC.NUBS), KC.HOME, KC.END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MNXT, KC.VOLD, KC.VOLU, KC.MPLY ], [ KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSPC, KC.DEL, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS, XXXXXXX, KC.NO, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.NUHS, KC.NUBS, KC.PGUP, KC.PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.RGB_TOG, KC.RGB_MODE_PLAIN, KC.RGB_MODE_BREATHE, KC.RGB_MODE_RAINBOW ], ] if __name__ == '__main__':
OFF = 0 ON = 2**15 buzzer.duty_cycle = ON buzzer.frequency = 2000 time.sleep(0.2) buzzer.frequency = 1000 time.sleep(0.2) buzzer.duty_cycle = OFF LOWER = KC.MO(1) RAISE = KC.MO(2) ADJUST = KC.MO(3) CT_TAB = KC.MT(KC.TAB, KC.LCTRL) CT_QUOT = KC.MT(KC.QUOT, KC.LCTRL) SF_MINS = KC.MT(KC.MINS, KC.LSHIFT) SG_PSCR = KC.LSFT(KC.LGUI(KC.PSCR)) SF_PSCR = KC.LSFT(KC.PSCR) CG_RGHT = KC.LCTRL(KC.LGUI(KC.RGHT)) RESET = KC.RESET LANG1 = KC.LANG1 LANG2 = KC.LANG2 keyboard.keymap = [ [ # QWERTY # ------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ KC.GESC, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC,\ # ------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+ CT_TAB, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, CT_QUOT,\ # ------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+
# What's this? # This is a keycode conversion script. With this, KMK will work as a JIS keyboard. # Usage # ```python # import kmk.extensions.keymap_extras.keymap_jp # ``` from kmk.keys import KC KC.CIRC = KC.EQL # ^ KC.AT = KC.LBRC # @ KC.LBRC = KC.RBRC # [ KC.EISU = KC.CAPS # Eisū (英数) KC.COLN = KC.QUOT # : KC.LCBR = KC.LSFT(KC.RBRC) # { KC.RBRC = KC.NUHS # ] KC.BSLS = KC.INT1 # (backslash) KC.PLUS = KC.LSFT(KC.SCLN) KC.TILD = KC.LSFT(KC.EQL) # ~ KC.GRV = KC.LSFT(KC.AT) # ` KC.DQUO = KC.LSFT(KC.N2) # " KC.AMPR = KC.LSFT(KC.N6) # & KC.ASTR = KC.LSFT(KC.QUOT) # * KC.QUOT = KC.LSFT(KC.N7) # ' KC.LPRN = KC.LSFT(KC.N8) # ( KC.RPRN = KC.LSFT(KC.N9) # ) KC.EQL = KC.LSFT(KC.MINS) # = KC.PIPE = KC.LSFT(KC.INT3) # | KC.RCBR = KC.LSFT(KC.NUHS) # } KC.LABK = KC.LSFT(KC.COMM) # <
keyboard.rgb_config['animation_mode'] = 'static' keyboard.rgb_config['animation_speed'] = 1 keyboard.debug_enabled = False _______ = KC.TRNS XXXXXXX = KC.NO SHFT_INS = KC.LSHIFT(KC.INS) TAB_UP = KC.RCTRL(KC.PGUP) TAB_DOWN = KC.RCTRL(KC.PGDN) BASE = KC.DF(0) LT2_SP = KC.LT(3, KC.SPC) GAMING = KC.DF(1) HACHEEJ = simple_key_sequence( (KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N1, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N2, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N3, KC.LSFT(KC.SCOLON), KC.LSFT(KC.ENT), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N4, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N5, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N6, KC.LSFT(KC.SCOLON), KC.LSFT(KC.ENT), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N7, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N8, KC.LSFT(KC.SCOLON), KC.LSFT(KC.SCOLON), KC.H, KC.A, KC.C, KC.H, KC.E, KC.E, KC.J, KC.A, KC.I, KC.L, KC.N9, KC.LSFT(KC.SCOLON), KC.ENT))
RGB_B = KC.RGB_MODE_BREATHE RGB_R = KC.RGB_MODE_RAINBOW RGB_K = KC.RGB_MODE_KNIGHT keyboard.keymap = [ # Qwerty [ KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC, KC.ESC, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.QUOT, KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.ENT , LIGHTS, KC.LCTL, KC.LALT, KC.LGUI, FUN, KC.SPC, KC.SPC, UPPER, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, ], [ KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.BSPC, KC.DEL, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR, KC.PIPE, XXXXXXX, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.LSFT(KC.NUHS), KC.LSFT(KC.NUBS), KC.HOME, KC.END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MNXT, KC.VOLD, KC.VOLU, KC.MPLY ], [ KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSPC, KC.DEL, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS, XXXXXXX, KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.NUHS, KC.NUBS, KC.PGUP, KC.PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MNXT, KC.VOLD, KC.VOLU, KC.MPLY ], [ XXXXXXX, KC.RGB_TOG, XXXXXXX, XXXXXXX, KC.RGB_HUI, KC.RGB_SAI, KC.RGB_VAI, KC.RGB_ANI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.RGB_HUD, KC.RGB_SAD, KC.RGB_VAD, KC.RGB_AND, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.RGB_MODE_PLAIN, KC.RGB_MODE_BREATHE, KC.RGB_MODE_RAINBOW, KC.RGB_MODE_BREATHE_RAINBOW, KC.RGB_MODE_KNIGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ], ]