diff --git a/kmk/boards/nice_nano/crkbd.py b/kmk/boards/nice_nano/crkbd.py new file mode 100644 index 0000000..12a51de --- /dev/null +++ b/kmk/boards/nice_nano/crkbd.py @@ -0,0 +1,25 @@ +import board + +from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard +from kmk.matrix import DiodeOrientation +from kmk.matrix import intify_coordinate as ic + +class KMKKeyboard(_KMKKeyboard): + col_pins = (board.P0_31, board.P0_29, board.P0_02, board.P1_15, board.P1_13, board.P1_11) + row_pins = (board.P0_22, board.P0_24, board.P1_00, board.P0_11) + diode_orientation = DiodeOrientation.COLUMNS + + split_type = None #TODO add bluetooth support as well + split_flip = True + split_offsets = [6, 6, 6, 6, 6] + uart_pin = board.P0_08 + rgb_pixel_pin = board.P0_06 + extra_data_pin = board.SDA #TODO This is incorrect. Find better solution + + coord_mapping = [] + coord_mapping.extend(ic(0, x) for x in range(12)) + coord_mapping.extend(ic(1, x) for x in range(12)) + coord_mapping.extend(ic(2, x) for x in range(12)) + + # And now, to handle R3, which at this point is down to just six keys + coord_mapping.extend(ic(3, x) for x in range(3, 9)) diff --git a/user_keymaps/default/nice_nano/__init__.py b/user_keymaps/default/nice_nano/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/user_keymaps/default/nice_nano/crkbd.py b/user_keymaps/default/nice_nano/crkbd.py new file mode 100644 index 0000000..15fe910 --- /dev/null +++ b/user_keymaps/default/nice_nano/crkbd.py @@ -0,0 +1,43 @@ +from kmk.boards.nice_nano.crkbd import KMKKeyboard +from kmk.keys import KC + +keyboard = KMKKeyboard() + +_______ = KC.TRNS +XXXXXXX = KC.NO + +LOWER = KC.MO(3) +RAISE = KC.MO(4) +ADJUST = KC.MO(5) + +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.LCTL, 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.RSFT,\ + KC.LGUI, LOWER, KC.SPC, KC.ENT, RAISE, KC.RALT, + ], + [ #LOWER + KC.ESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSPC,\ + KC.LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LEFT, KC.DOWN, KC.UP,KC.RIGHT, XXXXXXX, XXXXXXX,\ + KC.LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ + KC.LGUI, LOWER, KC.SPC, KC.ENT, RAISE, KC.RALT, + ], + [ #RAISE + KC.ESC, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.BSPC,\ + KC.LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MINS, KC.EQL, KC.LCBR, KC.RCBR, KC.PIPE, KC.GRV,\ + KC.LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.UNDS, KC.PLUS, KC.LBRC, KC.RBRC, KC.BSLS, KC.TILD,\ + KC.LGUI, LOWER, KC.SPC, KC.ENT, RAISE, KC.RALT, + ], + [ #ADJUST + 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ + KC.LGUI, LOWER, KC.SPC, KC.ENT, RAISE, KC.RALT, + ] + +] + +if __name__ == '__main__': + keyboard.go()