From 7a51ce576fdaad5dd423d7e7210b4bb7da70189d Mon Sep 17 00:00:00 2001 From: xs5871 Date: Wed, 20 Apr 2022 07:57:20 +0000 Subject: [PATCH] fixes scanner init and bi-directional communication in split module --- kmk/modules/split.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kmk/modules/split.py b/kmk/modules/split.py index 294aeef..f7ad91a 100644 --- a/kmk/modules/split.py +++ b/kmk/modules/split.py @@ -161,7 +161,10 @@ class Split(Module): keyboard.coord_mapping = tuple(cm) if self.split_side == SplitSide.RIGHT: - keyboard.matrix.offset = self.split_offset + offset = self.split_offset + for matrix in keyboard.matrix: + matrix.offset = offset + offset += matrix.key_count def before_matrix_scan(self, keyboard): if self.split_type == SplitType.BLE: @@ -176,13 +179,11 @@ class Split(Module): def after_matrix_scan(self, keyboard): if keyboard.matrix_update: - if self.split_type == SplitType.UART and self._is_target: - pass # explicit pass just for dev sanity... - - elif self.split_type == SplitType.UART and ( - self.data_pin2 or not self._is_target - ): - self._send_uart(keyboard.matrix_update) + if self.split_type == SplitType.UART: + if not self._is_target or self.data_pin2: + self._send_uart(keyboard.matrix_update) + else: + pass # explicit pass just for dev sanity... elif self.split_type == SplitType.BLE: self._send_ble(keyboard.matrix_update) elif self.split_type == SplitType.ONEWIRE: