From af0324cf488907bd47246c99204c7db7ecae4d7d Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Sun, 27 Dec 2020 22:09:52 -0800 Subject: [PATCH] Lily58 works. Wired splits still don't --- boards/lily58/kb.py | 6 ++--- kmk/modules/split.py | 17 +++--------- user_keymaps/klardotsh/lily58.py | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 user_keymaps/klardotsh/lily58.py diff --git a/boards/lily58/kb.py b/boards/lily58/kb.py index 78d0cb5..55fb855 100644 --- a/boards/lily58/kb.py +++ b/boards/lily58/kb.py @@ -7,14 +7,14 @@ 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, + board.P0_10, + board.P0_09, ) - row_pins = (board.P0_22, board.P0_24, board.P1_00, board.P0_11) + row_pins = (board.P0_24, board.P1_00, board.P0_11, board.P1_04, board.P1_06) diode_orientation = DiodeOrientation.COLUMNS uart_pin = board.P0_08 rgb_pixel_pin = board.P0_06 diff --git a/kmk/modules/split.py b/kmk/modules/split.py index 8181263..2582870 100644 --- a/kmk/modules/split.py +++ b/kmk/modules/split.py @@ -72,19 +72,6 @@ class Split(Module): self._advertising = False self._psave_enable = False - def __repr__(self): - return f'BLE_SPLIT({self._to_dict()})' - - def _to_dict(self): - return { - '_ble': self._ble, - '_ble_last_scan': self._ble_last_scan, - '_is_target': self._is_target, - 'uart_buffer': self._uart_buffer, - '_split_flip': self.split_flip, - '_split_side': self.split_side, - } - def during_bootup(self, keyboard): # Set up name for target side detection and BLE advertisment name = str(getmount('/').label) @@ -156,8 +143,12 @@ class Split(Module): self._send_ble(keyboard.matrix_update) elif self.split_type == SplitType.UART and self.data_pin2: self._send_uart(keyboard.matrix_update) + elif self.split_type == SplitType.UART and not self._is_target: + self._send_uart(keyboard.matrix_update) elif self.split_type == SplitType.ONEWIRE: pass # Protocol needs written + else: + print('wat') return diff --git a/user_keymaps/klardotsh/lily58.py b/user_keymaps/klardotsh/lily58.py new file mode 100644 index 0000000..b87ad40 --- /dev/null +++ b/user_keymaps/klardotsh/lily58.py @@ -0,0 +1,44 @@ +from kb import KMKKeyboard +from kmk.consts import UnicodeMode +from kmk.keys import KC +from kmk.modules.layers import Layers +from kmk.modules.split import Split, SplitType + +keyboard = KMKKeyboard() +layers_ext = Layers() +split = Split(split_type=SplitType.UART) +keyboard.modules = [layers_ext, split] + +keyboard.debug_enabled = False +keyboard.unicode_mode = UnicodeMode.LINUX +keyboard.tap_time = 750 + +_______ = KC.TRNS +xxxxxxx = KC.NO + +keyboard.keymap = [ + [ + KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.BSPC, + KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.SLSH, + KC.LGUI, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENTER, + KC.LCTL, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.LALT, + KC.LEFT, KC.RGHT, KC.LSFT, KC.MO(2), KC.MO(1), KC.SPC, KC.UP, KC.DOWN, + ], + [ + _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.F10, KC.F11, KC.F12, xxxxxxx, xxxxxxx, _______, + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.F7, KC.F8, KC.F9, xxxxxxx, xxxxxxx, KC.EQUAL, + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.INS, KC.F4, KC.F5, KC.F6, xxxxxxx, xxxxxxx, xxxxxxx, + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.F1, KC.F2, KC.F3, xxxxxxx, xxxxxxx, _______, + KC.HOME, KC.END, _______, KC.NO, _______, xxxxxxx, KC.PGUP, KC.PGDN, + ], + [ + KC.MUTE, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.LBRC, KC.RBRC, KC.DEL, + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.BSLS, + KC.RGUI, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.MINS, + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC.RALT, + KC.HOME, KC.END, _______, _______, KC.VOLU, KC.VOLD, KC.PGUP, KC.PGDN, + ], +] + +if __name__ == '__main__': + keyboard.go()