From dadbe5250227404232a44f0eee2084bb2f3627cf Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Tue, 2 Aug 2022 22:32:20 +0300 Subject: [PATCH 1/7] Adding the SplitKB Kyria Keyboard with KB2040. --- .vscode/settings.json | 3 + keyboards/SplitKB-Kyria-KB2040-L/kb.py | 33 ++ keyboards/SplitKB-Kyria-KB2040-L/layout.json | 369 +++++++++++++++++++ keyboards/SplitKB-Kyria-KB2040-L/main.py | 138 +++++++ keyboards/SplitKB-Kyria-KB2040-R/kb.py | 33 ++ keyboards/SplitKB-Kyria-KB2040-R/layout.json | 369 +++++++++++++++++++ keyboards/SplitKB-Kyria-KB2040-R/main.py | 138 +++++++ libs/SplitKB-Kyria-KB2040-L.zip | Bin 0 -> 12777 bytes libs/SplitKB-Kyria-KB2040-R.zip | Bin 0 -> 12777 bytes 9 files changed, 1083 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 keyboards/SplitKB-Kyria-KB2040-L/kb.py create mode 100644 keyboards/SplitKB-Kyria-KB2040-L/layout.json create mode 100644 keyboards/SplitKB-Kyria-KB2040-L/main.py create mode 100644 keyboards/SplitKB-Kyria-KB2040-R/kb.py create mode 100644 keyboards/SplitKB-Kyria-KB2040-R/layout.json create mode 100644 keyboards/SplitKB-Kyria-KB2040-R/main.py create mode 100644 libs/SplitKB-Kyria-KB2040-L.zip create mode 100644 libs/SplitKB-Kyria-KB2040-R.zip diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..de288e1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.formatting.provider": "black" +} \ No newline at end of file diff --git a/keyboards/SplitKB-Kyria-KB2040-L/kb.py b/keyboards/SplitKB-Kyria-KB2040-L/kb.py new file mode 100644 index 0000000..0221e7f --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-L/kb.py @@ -0,0 +1,33 @@ +import board + +from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard +from kmk.scanners import DiodeOrientation + +class KMKKeyboard(_KMKKeyboard): + col_pins = ( + board.A3, + board.A2, + board.A1, + board.A0, + board.SCK, + board.MISO, + board.MOSI, + board.D10, + ) + row_pins = (board.D8, board.D7, board.D6, board.D4) + diode_orientation = DiodeOrientation.COL2ROW + data_pin = board.D1 + rgb_pixel_pin = board.D0 + SCL = board.D3 + SDA = board.D2 + encoder_pin_0 = board.D5 + encoder_pin_1 = board.D9 + + # fmt: off + coord_mapping = [ + 0, 1, 2, 3, 4, 5, 37, 36, 35, 34, 33, 32, + 8, 9, 10, 11, 12, 13, 45, 44, 43, 42, 41, 40, + 16, 17, 18, 19, 20, 21, 22, 23, 55, 54, 53, 52, 51, 50, 49, 48, + 27, 28, 29, 30, 31, 63, 62, 61, 60, 59 + ] + # fmt: on diff --git a/keyboards/SplitKB-Kyria-KB2040-L/layout.json b/keyboards/SplitKB-Kyria-KB2040-L/layout.json new file mode 100644 index 0000000..19029e3 --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-L/layout.json @@ -0,0 +1,369 @@ +{ + "features": { + "perkey": false, + "oled": true, + "ble": false, + "underglow": true, + "name": "Kyria", + "creator": "SplitKB", + "perkeyCount": 0, + "underglowCount": 20, + "split": true, + "rightSide": false, + "encoders": false, + "encoderCount": 2, + "rx_tx": false, + "uartFlip": false, + "splitPico": true, + "bootSize": 0 + }, + "layout": [ + { + "x": 0, + "y": 0.75, + "w": 1 + }, + { + "x": 1, + "y": 0.75, + "w": 1 + }, + { + "x": 2, + "y": 0.25, + "w": 1 + }, + { + "x": 3, + "y": 0, + "w": 1 + }, + { + "x": 4, + "y": 0.25, + "w": 1 + }, + { + "x": 5, + "y": 0.5, + "w": 1 + }, + { + "x": 10.5, + "y": 0.5, + "w": 1 + }, + { + "x": 11.5, + "y": 0.25, + "w": 1 + }, + { + "x": 12.5, + "y": 0, + "w": 1 + }, + { + "x": 13.5, + "y": 0.25, + "w": 1 + }, + { + "x": 14.5, + "y": 0.75, + "w": 1 + }, + { + "x": 15.5, + "y": 0.75, + "w": 1 + }, + { + "x": 0, + "y": 1.75, + "w": 1 + }, + { + "x": 1, + "y": 1.75, + "w": 1 + }, + { + "x": 2, + "y": 1.25, + "w": 1 + }, + { + "x": 3, + "y": 1, + "w": 1 + }, + { + "x": 4, + "y": 1.25, + "w": 1 + }, + { + "x": 5, + "y": 1.5, + "w": 1 + }, + { + "x": 10.5, + "y": 1.5, + "w": 1 + }, + { + "x": 11.5, + "y": 1.25, + "w": 1 + }, + { + "x": 12.5, + "y": 1, + "w": 1 + }, + { + "x": 13.5, + "y": 1.25, + "w": 1 + }, + { + "x": 14.5, + "y": 1.75, + "w": 1 + }, + { + "x": 15.5, + "y": 1.75, + "w": 1 + }, + { + "x": 0, + "y": 2.75, + "w": 1 + }, + { + "x": 1, + "y": 2.75, + "w": 1 + }, + { + "x": 2, + "y": 2.25, + "w": 1 + }, + { + "x": 3, + "y": 2, + "w": 1 + }, + { + "x": 4, + "y": 2.25, + "w": 1 + }, + { + "x": 5, + "y": 2.5, + "w": 1 + }, + { + "x": 6, + "y": 3, + "w": 1 + }, + { + "x": 7, + "y": 3.25, + "w": 1 + }, + { + "x": 8.5, + "y": 3.25, + "w": 1 + }, + { + "x": 9.5, + "y": 3, + "w": 1 + }, + { + "x": 10.5, + "y": 2.5, + "w": 1 + }, + { + "x": 11.5, + "y": 2.25, + "w": 1 + }, + { + "x": 12.5, + "y": 2, + "w": 1 + }, + { + "x": 13.5, + "y": 2.25, + "w": 1 + }, + { + "x": 14.5, + "y": 2.75, + "w": 1 + }, + { + "x": 15.5, + "y": 2.75, + "w": 1 + }, + { + "x": 2.5, + "y": 3.25, + "w": 1 + }, + { + "x": 3.5, + "y": 3.25, + "w": 1 + }, + { + "x": 4.5, + "y": 3.5, + "w": 1 + }, + { + "x": 5.5, + "y": 4, + "w": 1 + }, + { + "x": 6.5, + "y": 4.25, + "w": 1 + }, + { + "x": 9, + "y": 4.25, + "w": 1 + }, + { + "x": 10, + "y": 4, + "w": 1 + }, + { + "x": 11, + "y": 3.5, + "w": 1 + }, + { + "x": 12, + "y": 3.25, + "w": 1 + }, + { + "x": 13, + "y": 3.25, + "w": 1 + } + ], + "underglow": [ + { + "x": 6, + "y": 2.5, + "w": 1 + }, + { + "x": 4.75, + "y": 3.5, + "w": 1 + }, + { + "x": 3.5, + "y": 3.5, + "w": 1 + }, + { + "x": 5, + "y": 1.625, + "w": 1 + }, + { + "x": 4, + "y": 0.5, + "w": 1 + }, + { + "x": 1, + "y": 1, + "w": 1 + }, + { + "x": 2, + "y": 2.5, + "w": 1 + }, + { + "x": 0, + "y": 3, + "w": 1 + }, + { + "x": 0, + "y": 1, + "w": 1 + }, + { + "x": 9.5, + "y": 2.5, + "w": 1 + }, + { + "x": 10.75, + "y": 3.5, + "w": 1 + }, + { + "x": 12, + "y": 3.5, + "w": 1 + }, + { + "x": 10.5, + "y": 1.625, + "w": 1 + }, + { + "x": 11.5, + "y": 0.5, + "w": 1 + }, + { + "x": 14.5, + "y": 1, + "w": 1 + }, + { + "x": 14.5, + "y": 3, + "w": 1 + }, + { + "x": 13.5, + "y": 2.5, + "w": 1 + }, + { + "x": 15.5, + "y": 3, + "w": 1 + }, + { + "x": 15.5, + "y": 1, + "w": 1 + } + ] +} \ No newline at end of file diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py new file mode 100644 index 0000000..ea0cf02 --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -0,0 +1,138 @@ +from kb import KMKKeyboard + +from kmk.hid import HIDModes +from kmk.keys import KC +from kmk.modules.layers import Layers +from kmk.modules.modtap import ModTap +from kmk.modules.split import Split, SplitType +from kmk.modules.tapdance import TapDance +from kmk.modules.encoder import EncoderHandler +from kmk.extensions.rgb import RGB, AnimationModes +from kmk.extensions.media_keys import MediaKeys +from kmk.extensions.oled import ( + Oled, + OledData, +) +from kmk.extensions.international import International + +keyboard = KMKKeyboard() +keyboard.debug_enabled = True + +# encodercount +# 2 +# encodercount + +encoder_handler = EncoderHandler() +encoder_handler.pins = ((keyboard.encoder_pin_0, keyboard.encoder_pin_1, None, False),) + +keyboard.modules = [Layers(), ModTap(), TapDance()] +keyboard.extensions = [MediaKeys(), International()] + +split = Split(split_type=SplitType.UART, use_pio=True) +keyboard.modules.append(split) + +# ledmap +# ledmap + +rgb_ext = RGB( + pixel_pin=keyboard.rgb_pixel_pin, + num_pixels=12, + val_limit=200, + val_default=20, + animation_mode=AnimationModes.BREATHING_RAINBOW, +) + +keyboard.extensions.append(rgb_ext) + +# oled +# oled + +oled_ext = Oled( + OledData( + labels=[ + OledData.oled_text_entry(text="Kyria v1.4", x=0, y=0), + OledData.oled_text_entry(text="KB2040", x=0, y=10), + OledData.oled_text_entry(text="Layer: ", x=0, y=20), + OledData.oled_text_entry(text="BASE", x=42, y=20, layer=0), + OledData.oled_text_entry(text="LOWER", x=0, y=30, layer=3), + OledData.oled_text_entry(text="RAISE", x=42, y=20, layer=4), + OledData.oled_text_entry(text="ADJUST", x=42, y=20, layer=6), + ] + ), + oHeight=64, + flip=True, +) + +keyboard.extensions.append(oled_ext) + +# Edit your layout below +# Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT +ESC_LCTL = KC.MT(KC.ESC, KC.LCTL) +QUOTE_RCTL = KC.MT(KC.QUOTE, KC.RCTL) +ENT_LALT = KC.MT(KC.ENT, KC.LALT) +MINUS_RCTL = KC.MT(KC.MINUS, KC.RCTL) + +# fmt: off +# keymap +keyboard.keymap = [ + [ + KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC, + ESC_LCTL, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, QUOTE_RCTL, + KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, + ESC_LCTL, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, MINUS_RCTL, + KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, + ESC_LCTL, KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, QUOTE_RCTL, + KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, + KC.TRNS, KC.LGUI, KC.LALT, KC.LCTL, KC.LSFT, KC.TRNS, KC.PGDN, KC.LEFT, KC.DOWN, KC.RGHT, KC.VOLD, KC.INS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.SLCK, KC.TRNS, KC.TRNS, KC.PAUS, KC.MPRV, KC.MPLY, KC.MNXT, KC.MUTE, KC.PSCR, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.EQL, + KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.PLUS, + KC.PIPE, KC.BSLS, KC.COLN, KC.SCLN, KC.MINS, KC.LBRC, KC.LCBR, KC.TRNS, KC.TRNS, KC.RCBR, KC.RBRC, KC.UNDS, KC.COMM, KC.DOT, KC.SLSH, KC.QUES, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.TRNS, KC.F9, KC.F10, KC.F11, KC.F12, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.F5, KC.F6, KC.F7, KC.F8, KC.TRNS, KC.TRNS, KC.RSFT, KC.RCTL, KC.LALT, KC.RGUI, KC.TRNS, + KC.TRNS, KC.F1, KC.F2, KC.F3, KC.F4, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.RGB_SAI, KC.RGB_HUI, KC.RGB_VAI, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_SAD, KC.RGB_HUD, KC.RGB_VAD, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], +] +# keymap +# fmt: on + +# Edit your encoder layout below +encoder_handler.map = ( + ((KC.VOLD, KC.VOLU),), + ((KC.VOLD, KC.VOLU),), + ((KC.VOLD, KC.VOLU),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), +) + +keyboard.extensions.append(encoder_handler) + +if __name__ == "__main__": + keyboard.go(hid_type=HIDModes.USB) diff --git a/keyboards/SplitKB-Kyria-KB2040-R/kb.py b/keyboards/SplitKB-Kyria-KB2040-R/kb.py new file mode 100644 index 0000000..052e5e5 --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-R/kb.py @@ -0,0 +1,33 @@ +import board + +from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard +from kmk.scanners import DiodeOrientation + +class KMKKeyboard(_KMKKeyboard): + col_pins = ( + board.A3, + board.A2, + board.A1, + board.A0, + board.SCK, + board.MISO, + board.MOSI, + board.D10, + ) + row_pins = (board.D8, board.D7, board.D6, board.D4) + diode_orientation = DiodeOrientation.COL2ROW + data_pin = board.D1 + rgb_pixel_pin = board.D0 + SCL = board.D3 + SDA = board.D2 + encoder_pin_0 = board.D9 + encoder_pin_1 = board.D5 + + # fmt: off + coord_mapping = [ + 0, 1, 2, 3, 4, 5, 37, 36, 35, 34, 33, 32, + 8, 9, 10, 11, 12, 13, 45, 44, 43, 42, 41, 40, + 16, 17, 18, 19, 20, 21, 22, 23, 55, 54, 53, 52, 51, 50, 49, 48, + 27, 28, 29, 30, 31, 63, 62, 61, 60, 59 + ] + # fmt: on diff --git a/keyboards/SplitKB-Kyria-KB2040-R/layout.json b/keyboards/SplitKB-Kyria-KB2040-R/layout.json new file mode 100644 index 0000000..19029e3 --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-R/layout.json @@ -0,0 +1,369 @@ +{ + "features": { + "perkey": false, + "oled": true, + "ble": false, + "underglow": true, + "name": "Kyria", + "creator": "SplitKB", + "perkeyCount": 0, + "underglowCount": 20, + "split": true, + "rightSide": false, + "encoders": false, + "encoderCount": 2, + "rx_tx": false, + "uartFlip": false, + "splitPico": true, + "bootSize": 0 + }, + "layout": [ + { + "x": 0, + "y": 0.75, + "w": 1 + }, + { + "x": 1, + "y": 0.75, + "w": 1 + }, + { + "x": 2, + "y": 0.25, + "w": 1 + }, + { + "x": 3, + "y": 0, + "w": 1 + }, + { + "x": 4, + "y": 0.25, + "w": 1 + }, + { + "x": 5, + "y": 0.5, + "w": 1 + }, + { + "x": 10.5, + "y": 0.5, + "w": 1 + }, + { + "x": 11.5, + "y": 0.25, + "w": 1 + }, + { + "x": 12.5, + "y": 0, + "w": 1 + }, + { + "x": 13.5, + "y": 0.25, + "w": 1 + }, + { + "x": 14.5, + "y": 0.75, + "w": 1 + }, + { + "x": 15.5, + "y": 0.75, + "w": 1 + }, + { + "x": 0, + "y": 1.75, + "w": 1 + }, + { + "x": 1, + "y": 1.75, + "w": 1 + }, + { + "x": 2, + "y": 1.25, + "w": 1 + }, + { + "x": 3, + "y": 1, + "w": 1 + }, + { + "x": 4, + "y": 1.25, + "w": 1 + }, + { + "x": 5, + "y": 1.5, + "w": 1 + }, + { + "x": 10.5, + "y": 1.5, + "w": 1 + }, + { + "x": 11.5, + "y": 1.25, + "w": 1 + }, + { + "x": 12.5, + "y": 1, + "w": 1 + }, + { + "x": 13.5, + "y": 1.25, + "w": 1 + }, + { + "x": 14.5, + "y": 1.75, + "w": 1 + }, + { + "x": 15.5, + "y": 1.75, + "w": 1 + }, + { + "x": 0, + "y": 2.75, + "w": 1 + }, + { + "x": 1, + "y": 2.75, + "w": 1 + }, + { + "x": 2, + "y": 2.25, + "w": 1 + }, + { + "x": 3, + "y": 2, + "w": 1 + }, + { + "x": 4, + "y": 2.25, + "w": 1 + }, + { + "x": 5, + "y": 2.5, + "w": 1 + }, + { + "x": 6, + "y": 3, + "w": 1 + }, + { + "x": 7, + "y": 3.25, + "w": 1 + }, + { + "x": 8.5, + "y": 3.25, + "w": 1 + }, + { + "x": 9.5, + "y": 3, + "w": 1 + }, + { + "x": 10.5, + "y": 2.5, + "w": 1 + }, + { + "x": 11.5, + "y": 2.25, + "w": 1 + }, + { + "x": 12.5, + "y": 2, + "w": 1 + }, + { + "x": 13.5, + "y": 2.25, + "w": 1 + }, + { + "x": 14.5, + "y": 2.75, + "w": 1 + }, + { + "x": 15.5, + "y": 2.75, + "w": 1 + }, + { + "x": 2.5, + "y": 3.25, + "w": 1 + }, + { + "x": 3.5, + "y": 3.25, + "w": 1 + }, + { + "x": 4.5, + "y": 3.5, + "w": 1 + }, + { + "x": 5.5, + "y": 4, + "w": 1 + }, + { + "x": 6.5, + "y": 4.25, + "w": 1 + }, + { + "x": 9, + "y": 4.25, + "w": 1 + }, + { + "x": 10, + "y": 4, + "w": 1 + }, + { + "x": 11, + "y": 3.5, + "w": 1 + }, + { + "x": 12, + "y": 3.25, + "w": 1 + }, + { + "x": 13, + "y": 3.25, + "w": 1 + } + ], + "underglow": [ + { + "x": 6, + "y": 2.5, + "w": 1 + }, + { + "x": 4.75, + "y": 3.5, + "w": 1 + }, + { + "x": 3.5, + "y": 3.5, + "w": 1 + }, + { + "x": 5, + "y": 1.625, + "w": 1 + }, + { + "x": 4, + "y": 0.5, + "w": 1 + }, + { + "x": 1, + "y": 1, + "w": 1 + }, + { + "x": 2, + "y": 2.5, + "w": 1 + }, + { + "x": 0, + "y": 3, + "w": 1 + }, + { + "x": 0, + "y": 1, + "w": 1 + }, + { + "x": 9.5, + "y": 2.5, + "w": 1 + }, + { + "x": 10.75, + "y": 3.5, + "w": 1 + }, + { + "x": 12, + "y": 3.5, + "w": 1 + }, + { + "x": 10.5, + "y": 1.625, + "w": 1 + }, + { + "x": 11.5, + "y": 0.5, + "w": 1 + }, + { + "x": 14.5, + "y": 1, + "w": 1 + }, + { + "x": 14.5, + "y": 3, + "w": 1 + }, + { + "x": 13.5, + "y": 2.5, + "w": 1 + }, + { + "x": 15.5, + "y": 3, + "w": 1 + }, + { + "x": 15.5, + "y": 1, + "w": 1 + } + ] +} \ No newline at end of file diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py new file mode 100644 index 0000000..847b766 --- /dev/null +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -0,0 +1,138 @@ +from kb import KMKKeyboard + +from kmk.hid import HIDModes +from kmk.keys import KC +from kmk.modules.layers import Layers +from kmk.modules.modtap import ModTap +from kmk.modules.split import Split, SplitType +from kmk.modules.tapdance import TapDance +from kmk.modules.encoder import EncoderHandler +from kmk.extensions.rgb import RGB, AnimationModes +from kmk.extensions.media_keys import MediaKeys +from kmk.extensions.oled import ( + Oled, + OledData, +) +from kmk.extensions.international import International + +keyboard = KMKKeyboard() +keyboard.debug_enabled = True + +# encodercount +# 2 +# encodercount + +encoder_handler = EncoderHandler() +encoder_handler.pins = ((keyboard.encoder_pin_0, keyboard.encoder_pin_1, None, False),) + +keyboard.modules = [Layers(), ModTap(), TapDance()] +keyboard.extensions = [MediaKeys(), International()] + +split = Split(split_type=SplitType.UART, use_pio=True) +keyboard.modules.append(split) + +# ledmap +# ledmap + +rgb_ext = RGB( + pixel_pin=keyboard.rgb_pixel_pin, + num_pixels=7, + val_limit=200, + val_default=20, + animation_mode=AnimationModes.BREATHING_RAINBOW, +) + +keyboard.extensions.append(rgb_ext) + +# oled +# oled + +oled_ext = Oled( + OledData( + labels=[ + OledData.oled_text_entry(text="Kyria v1.4", x=0, y=0), + OledData.oled_text_entry(text="KB2040", x=0, y=10), + OledData.oled_text_entry(text="Layer: ", x=0, y=20), + OledData.oled_text_entry(text="BASE", x=42, y=20, layer=0), + OledData.oled_text_entry(text="LOWER", x=0, y=30, layer=3), + OledData.oled_text_entry(text="RAISE", x=42, y=20, layer=4), + OledData.oled_text_entry(text="ADJUST", x=42, y=20, layer=6), + ] + ), + oHeight=64, + flip=True, +) + +keyboard.extensions.append(oled_ext) + +# Edit your layout below +# Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT +ESC_LCTL = KC.MT(KC.ESC, KC.LCTL) +QUOTE_RCTL = KC.MT(KC.QUOTE, KC.RCTL) +ENT_LALT = KC.MT(KC.ENT, KC.LALT) +MINUS_RCTL = KC.MT(KC.MINUS, KC.RCTL) + +# fmt: off +# keymap +keyboard.keymap = [ + [ + KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC, + ESC_LCTL, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, QUOTE_RCTL, + KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, + ESC_LCTL, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, MINUS_RCTL, + KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, + ESC_LCTL, KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, QUOTE_RCTL, + KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, + KC.TRNS, KC.LGUI, KC.LALT, KC.LCTL, KC.LSFT, KC.TRNS, KC.PGDN, KC.LEFT, KC.DOWN, KC.RGHT, KC.VOLD, KC.INS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.SLCK, KC.TRNS, KC.TRNS, KC.PAUS, KC.MPRV, KC.MPLY, KC.MNXT, KC.MUTE, KC.PSCR, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.GRV, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.EQL, + KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.PLUS, + KC.PIPE, KC.BSLS, KC.COLN, KC.SCLN, KC.MINS, KC.LBRC, KC.LCBR, KC.TRNS, KC.TRNS, KC.RCBR, KC.RBRC, KC.UNDS, KC.COMM, KC.DOT, KC.SLSH, KC.QUES, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.TRNS, KC.F9, KC.F10, KC.F11, KC.F12, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.F5, KC.F6, KC.F7, KC.F8, KC.TRNS, KC.TRNS, KC.RSFT, KC.RCTL, KC.LALT, KC.RGUI, KC.TRNS, + KC.TRNS, KC.F1, KC.F2, KC.F3, KC.F4, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.RGB_SAI, KC.RGB_HUI, KC.RGB_VAI, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_SAD, KC.RGB_HUD, KC.RGB_VAD, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], +] +# keymap +# fmt: on + +# Edit your encoder layout below +encoder_handler.map = ( + ((KC.VOLD, KC.VOLU),), + ((KC.VOLD, KC.VOLU),), + ((KC.VOLD, KC.VOLU),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), + ((KC.MPRV, KC.MNXT),), +) + +keyboard.extensions.append(encoder_handler) + +if __name__ == "__main__": + keyboard.go(hid_type=HIDModes.USB) diff --git a/libs/SplitKB-Kyria-KB2040-L.zip b/libs/SplitKB-Kyria-KB2040-L.zip new file mode 100644 index 0000000000000000000000000000000000000000..a24a9fbfb282587542e3ab7aa7e7b4b3805016b9 GIT binary patch literal 12777 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 literal 0 HcmV?d00001 diff --git a/libs/SplitKB-Kyria-KB2040-R.zip b/libs/SplitKB-Kyria-KB2040-R.zip new file mode 100644 index 0000000000000000000000000000000000000000..a24a9fbfb282587542e3ab7aa7e7b4b3805016b9 GIT binary patch literal 12777 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 literal 0 HcmV?d00001 From 08782311a99ddfe7dfe77ed0127b80d46489f903 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Wed, 3 Aug 2022 15:45:16 +0300 Subject: [PATCH 2/7] Updates to the Kyria files. --- keyboards/SplitKB-Kyria-KB2040-L/main.py | 76 ++++++++++++++------ keyboards/SplitKB-Kyria-KB2040-R/layout.json | 2 +- keyboards/SplitKB-Kyria-KB2040-R/main.py | 76 ++++++++++++++------ 3 files changed, 107 insertions(+), 47 deletions(-) diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index ea0cf02..8c964c6 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -4,15 +4,17 @@ from kmk.keys import KC from kmk.modules.layers import Layers from kmk.modules.modtap import ModTap -from kmk.modules.split import Split, SplitType +from kmk.modules.split import Split, SplitType, SplitSide from kmk.modules.tapdance import TapDance from kmk.modules.encoder import EncoderHandler -from kmk.extensions.rgb import RGB, AnimationModes from kmk.extensions.media_keys import MediaKeys -from kmk.extensions.oled import ( +from kmk.extensions.peg_oled_display import ( Oled, OledData, + OledDisplayMode, + OledReactionType, ) +from kmk.extensions.peg_rgb_matrix import Rgb_matrix from kmk.extensions.international import International keyboard = KMKKeyboard() @@ -28,40 +30,68 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT) keyboard.modules.append(split) +# fmt: off # ledmap -# ledmap - -rgb_ext = RGB( - pixel_pin=keyboard.rgb_pixel_pin, - num_pixels=12, - val_limit=200, - val_default=20, - animation_mode=AnimationModes.BREATHING_RAINBOW, +rgb_ext = Rgb_matrix( + ledDisplay=[ + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + ], + split=True, + rightSide=False, + disable_auto_write=True, ) +# ledmap +# fmt: on keyboard.extensions.append(rgb_ext) # oled -# oled - oled_ext = Oled( OledData( - labels=[ - OledData.oled_text_entry(text="Kyria v1.4", x=0, y=0), - OledData.oled_text_entry(text="KB2040", x=0, y=10), - OledData.oled_text_entry(text="Layer: ", x=0, y=20), - OledData.oled_text_entry(text="BASE", x=42, y=20, layer=0), - OledData.oled_text_entry(text="LOWER", x=0, y=30, layer=3), - OledData.oled_text_entry(text="RAISE", x=42, y=20, layer=4), - OledData.oled_text_entry(text="ADJUST", x=42, y=20, layer=6), - ] + corner_one={ + 0: OledReactionType.STATIC, + 1: ["1 2 3 4 5 6", "", "", "", "", "", "", ""], + }, + corner_two={ + 0: OledReactionType.STATIC, + 1: [" 7 8 Layer", "", "", "", "", "", "", " 7 8 Layer"], + }, + corner_three={ + 0: OledReactionType.LAYER, + 1: ["^", " ^", " ^", " ^", " ^", " ^", "", ""], + }, + corner_four={ + 0: OledReactionType.LAYER, + 1: ["", "", "", "", "", "", " ^", " ^"], + }, ), + toDisplay=OledDisplayMode.TXT, oHeight=64, flip=True, ) +# oled keyboard.extensions.append(oled_ext) diff --git a/keyboards/SplitKB-Kyria-KB2040-R/layout.json b/keyboards/SplitKB-Kyria-KB2040-R/layout.json index 19029e3..a79a704 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/layout.json +++ b/keyboards/SplitKB-Kyria-KB2040-R/layout.json @@ -9,7 +9,7 @@ "perkeyCount": 0, "underglowCount": 20, "split": true, - "rightSide": false, + "rightSide": true, "encoders": false, "encoderCount": 2, "rx_tx": false, diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py index 847b766..d08b9ab 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -4,15 +4,17 @@ from kmk.keys import KC from kmk.modules.layers import Layers from kmk.modules.modtap import ModTap -from kmk.modules.split import Split, SplitType +from kmk.modules.split import Split, SplitType, SplitSide from kmk.modules.tapdance import TapDance from kmk.modules.encoder import EncoderHandler -from kmk.extensions.rgb import RGB, AnimationModes from kmk.extensions.media_keys import MediaKeys -from kmk.extensions.oled import ( +from kmk.extensions.peg_oled_display import ( Oled, OledData, + OledDisplayMode, + OledReactionType, ) +from kmk.extensions.peg_rgb_matrix import Rgb_matrix from kmk.extensions.international import International keyboard = KMKKeyboard() @@ -28,40 +30,68 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT) keyboard.modules.append(split) +# fmt: off # ledmap -# ledmap - -rgb_ext = RGB( - pixel_pin=keyboard.rgb_pixel_pin, - num_pixels=7, - val_limit=200, - val_default=20, - animation_mode=AnimationModes.BREATHING_RAINBOW, +rgb_ext = Rgb_matrix( + ledDisplay=[ + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + [55, 55, 55], + ], + split=True, + rightSide=True, + disable_auto_write=True, ) +# ledmap +# fmt: on keyboard.extensions.append(rgb_ext) # oled -# oled - oled_ext = Oled( OledData( - labels=[ - OledData.oled_text_entry(text="Kyria v1.4", x=0, y=0), - OledData.oled_text_entry(text="KB2040", x=0, y=10), - OledData.oled_text_entry(text="Layer: ", x=0, y=20), - OledData.oled_text_entry(text="BASE", x=42, y=20, layer=0), - OledData.oled_text_entry(text="LOWER", x=0, y=30, layer=3), - OledData.oled_text_entry(text="RAISE", x=42, y=20, layer=4), - OledData.oled_text_entry(text="ADJUST", x=42, y=20, layer=6), - ] + corner_one={ + 0: OledReactionType.STATIC, + 1: ["1 2 3 4 5 6", "", "", "", "", "", "", ""], + }, + corner_two={ + 0: OledReactionType.STATIC, + 1: [" 7 8 Layer", "", "", "", "", "", "", " 7 8 Layer"], + }, + corner_three={ + 0: OledReactionType.LAYER, + 1: ["^", " ^", " ^", " ^", " ^", " ^", "", ""], + }, + corner_four={ + 0: OledReactionType.LAYER, + 1: ["", "", "", "", "", "", " ^", " ^"], + }, ), + toDisplay=OledDisplayMode.TXT, oHeight=64, flip=True, ) +# oled keyboard.extensions.append(oled_ext) From 74c0ae498490b4ad9582620395e62ccb7c4e4415 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Wed, 3 Aug 2022 18:31:24 +0300 Subject: [PATCH 3/7] Fixes after testing. --- keyboards/SplitKB-Kyria-KB2040-L/kb.py | 2 ++ keyboards/SplitKB-Kyria-KB2040-L/main.py | 4 ++-- keyboards/SplitKB-Kyria-KB2040-R/kb.py | 2 ++ keyboards/SplitKB-Kyria-KB2040-R/main.py | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/keyboards/SplitKB-Kyria-KB2040-L/kb.py b/keyboards/SplitKB-Kyria-KB2040-L/kb.py index 0221e7f..673d66c 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/kb.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/kb.py @@ -22,6 +22,8 @@ class KMKKeyboard(_KMKKeyboard): SDA = board.D2 encoder_pin_0 = board.D5 encoder_pin_1 = board.D9 + brightness_limit = 0.5 + num_pixels = 20 # fmt: off coord_mapping = [ diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index 8c964c6..8bfe1e0 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -143,8 +143,8 @@ ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.RGB_SAI, KC.RGB_HUI, KC.RGB_VAI, KC.RGB_M_P, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_SAD, KC.RGB_HUD, KC.RGB_VAD, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.RGB_BRI, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_BRD, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], ] diff --git a/keyboards/SplitKB-Kyria-KB2040-R/kb.py b/keyboards/SplitKB-Kyria-KB2040-R/kb.py index 052e5e5..1eb0b96 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/kb.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/kb.py @@ -22,6 +22,8 @@ class KMKKeyboard(_KMKKeyboard): SDA = board.D2 encoder_pin_0 = board.D9 encoder_pin_1 = board.D5 + brightness_limit = 0.5 + num_pixels = 20 # fmt: off coord_mapping = [ diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py index d08b9ab..8a48f6e 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -143,8 +143,8 @@ ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.RGB_SAI, KC.RGB_HUI, KC.RGB_VAI, KC.RGB_M_P, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_SAD, KC.RGB_HUD, KC.RGB_VAD, KC.RGB_M_P, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.RGB_BRI, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_BRD, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], ] From ff21432089bf375ed0a02a6f44b997262d5be1b1 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Wed, 3 Aug 2022 23:35:23 +0300 Subject: [PATCH 4/7] Kyria keyboard is working on the board and the Peg client (sometimes) manages to not hang. --- keyboards/SplitKB-Kyria-KB2040-L/kb.py | 3 + keyboards/SplitKB-Kyria-KB2040-L/layout.json | 7 +- keyboards/SplitKB-Kyria-KB2040-L/main.py | 81 ++++++++++++-------- keyboards/SplitKB-Kyria-KB2040-R/kb.py | 3 + keyboards/SplitKB-Kyria-KB2040-R/layout.json | 7 +- keyboards/SplitKB-Kyria-KB2040-R/main.py | 81 ++++++++++++-------- 6 files changed, 112 insertions(+), 70 deletions(-) diff --git a/keyboards/SplitKB-Kyria-KB2040-L/kb.py b/keyboards/SplitKB-Kyria-KB2040-L/kb.py index 673d66c..df1f82b 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/kb.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/kb.py @@ -3,6 +3,7 @@ from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard from kmk.scanners import DiodeOrientation + class KMKKeyboard(_KMKKeyboard): col_pins = ( board.A3, @@ -24,6 +25,8 @@ class KMKKeyboard(_KMKKeyboard): encoder_pin_1 = board.D9 brightness_limit = 0.5 num_pixels = 20 + # These are the underglow LED positions on the Kyria + led_key_pos = [9, 8, 5, 6, 7, 4, 2, 3, 1, 0, 10, 11, 13, 12, 14, 17, 16, 15, 18, 19] # fmt: off coord_mapping = [ diff --git a/keyboards/SplitKB-Kyria-KB2040-L/layout.json b/keyboards/SplitKB-Kyria-KB2040-L/layout.json index 19029e3..b63fb43 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/layout.json +++ b/keyboards/SplitKB-Kyria-KB2040-L/layout.json @@ -15,7 +15,7 @@ "rx_tx": false, "uartFlip": false, "splitPico": true, - "bootSize": 0 + "bootSize": 4096 }, "layout": [ { @@ -300,6 +300,11 @@ "y": 1, "w": 1 }, + { + "x": 1, + "y": 3, + "w": 1 + }, { "x": 2, "y": 2.5, diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index 8bfe1e0..7794168 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -1,5 +1,5 @@ +import sys from kb import KMKKeyboard - from kmk.hid import HIDModes from kmk.keys import KC from kmk.modules.layers import Layers @@ -14,7 +14,7 @@ OledDisplayMode, OledReactionType, ) -from kmk.extensions.peg_rgb_matrix import Rgb_matrix +from kmk.extensions.peg_rgb_matrix import Rgb_matrix, Color from kmk.extensions.international import International keyboard = KMKKeyboard() @@ -33,37 +33,35 @@ split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT) keyboard.modules.append(split) -# fmt: off # ledmap rgb_ext = Rgb_matrix( ledDisplay=[ - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], + Color.OFF, + Color.OFF, + Color.RED, + Color.ORANGE, + Color.OFF, + Color.YELLOW, + Color.GREEN, + Color.BLUE, + Color.PURPLE, + Color.OFF, + Color.OFF, + Color.PURPLE, + Color.BLUE, + Color.GREEN, + Color.YELLOW, + Color.OFF, + Color.ORANGE, + Color.RED, + Color.OFF, + Color.OFF, ], split=True, rightSide=False, - disable_auto_write=True, + disable_auto_write=False, ) # ledmap -# fmt: on keyboard.extensions.append(rgb_ext) @@ -72,19 +70,28 @@ OledData( corner_one={ 0: OledReactionType.STATIC, - 1: ["1 2 3 4 5 6", "", "", "", "", "", "", ""], + 1: ["Kyria v1", "", "", "", "", "", "", ""], }, corner_two={ - 0: OledReactionType.STATIC, - 1: [" 7 8 Layer", "", "", "", "", "", "", " 7 8 Layer"], + 0: OledReactionType.LAYER, + 1: [ + "QWERTY", + "DVORAK", + "COLEMAK-DH", + "LOWER", + "RAISE", + "FUNC", + "ADJUST", + "", + ], }, corner_three={ - 0: OledReactionType.LAYER, - 1: ["^", " ^", " ^", " ^", " ^", " ^", "", ""], + 0: OledReactionType.STATIC, + 1: [sys.platform, "", "", "", "", "", "", ""], }, corner_four={ - 0: OledReactionType.LAYER, - 1: ["", "", "", "", "", "", " ^", " ^"], + 0: OledReactionType.STATIC, + 1: ["", "", "", "", "", "", "", ""], }, ), toDisplay=OledDisplayMode.TXT, @@ -143,10 +150,16 @@ ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.RGB_BRI, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_BRD, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ] ] # keymap # fmt: on diff --git a/keyboards/SplitKB-Kyria-KB2040-R/kb.py b/keyboards/SplitKB-Kyria-KB2040-R/kb.py index 1eb0b96..71b104c 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/kb.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/kb.py @@ -3,6 +3,7 @@ from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard from kmk.scanners import DiodeOrientation + class KMKKeyboard(_KMKKeyboard): col_pins = ( board.A3, @@ -24,6 +25,8 @@ class KMKKeyboard(_KMKKeyboard): encoder_pin_1 = board.D5 brightness_limit = 0.5 num_pixels = 20 + # These are the underglow LED positions on the Kyria + led_key_pos = [9, 8, 5, 6, 7, 4, 2, 3, 1, 0, 10, 11, 13, 12, 14, 17, 16, 15, 18, 19] # fmt: off coord_mapping = [ diff --git a/keyboards/SplitKB-Kyria-KB2040-R/layout.json b/keyboards/SplitKB-Kyria-KB2040-R/layout.json index a79a704..3557227 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/layout.json +++ b/keyboards/SplitKB-Kyria-KB2040-R/layout.json @@ -15,7 +15,7 @@ "rx_tx": false, "uartFlip": false, "splitPico": true, - "bootSize": 0 + "bootSize": 4096 }, "layout": [ { @@ -300,6 +300,11 @@ "y": 1, "w": 1 }, + { + "x": 1, + "y": 3, + "w": 1 + }, { "x": 2, "y": 2.5, diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py index 8a48f6e..429dcb4 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -1,5 +1,5 @@ +import sys from kb import KMKKeyboard - from kmk.hid import HIDModes from kmk.keys import KC from kmk.modules.layers import Layers @@ -14,7 +14,7 @@ OledDisplayMode, OledReactionType, ) -from kmk.extensions.peg_rgb_matrix import Rgb_matrix +from kmk.extensions.peg_rgb_matrix import Rgb_matrix, Color from kmk.extensions.international import International keyboard = KMKKeyboard() @@ -33,37 +33,35 @@ split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT) keyboard.modules.append(split) -# fmt: off # ledmap rgb_ext = Rgb_matrix( ledDisplay=[ - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], - [55, 55, 55], + Color.OFF, + Color.OFF, + Color.RED, + Color.ORANGE, + Color.OFF, + Color.YELLOW, + Color.GREEN, + Color.BLUE, + Color.PURPLE, + Color.OFF, + Color.OFF, + Color.PURPLE, + Color.BLUE, + Color.GREEN, + Color.YELLOW, + Color.OFF, + Color.ORANGE, + Color.RED, + Color.OFF, + Color.OFF, ], split=True, rightSide=True, - disable_auto_write=True, + disable_auto_write=False, ) # ledmap -# fmt: on keyboard.extensions.append(rgb_ext) @@ -72,19 +70,28 @@ OledData( corner_one={ 0: OledReactionType.STATIC, - 1: ["1 2 3 4 5 6", "", "", "", "", "", "", ""], + 1: ["Kyria v1", "", "", "", "", "", "", ""], }, corner_two={ - 0: OledReactionType.STATIC, - 1: [" 7 8 Layer", "", "", "", "", "", "", " 7 8 Layer"], + 0: OledReactionType.LAYER, + 1: [ + "QWERTY", + "DVORAK", + "COLEMAK-DH", + "LOWER", + "RAISE", + "FUNC", + "ADJUST", + "", + ], }, corner_three={ - 0: OledReactionType.LAYER, - 1: ["^", " ^", " ^", " ^", " ^", " ^", "", ""], + 0: OledReactionType.STATIC, + 1: [sys.platform, "", "", "", "", "", "", ""], }, corner_four={ - 0: OledReactionType.LAYER, - 1: ["", "", "", "", "", "", " ^", " ^"], + 0: OledReactionType.STATIC, + 1: ["", "", "", "", "", "", "", ""], }, ), toDisplay=OledDisplayMode.TXT, @@ -143,10 +150,16 @@ ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.RGB_BRI, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.RGB_BRD, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ] ] # keymap # fmt: on From d3a2f6f4a9a5383615811d4d24e78742c0254215 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Fri, 5 Aug 2022 17:56:05 +0300 Subject: [PATCH 5/7] Updated to be more inline with requirements. Also includes the default Kyria logo on the right OLED. --- keyboards/SplitKB-Kyria-KB2040-L/main.py | 33 +++++++-------- keyboards/SplitKB-Kyria-KB2040-R/main.py | 50 ++++++----------------- libs/SplitKB-Kyria-KB2040-R.zip | Bin 12777 -> 14564 bytes 3 files changed, 28 insertions(+), 55 deletions(-) diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index 7794168..84be825 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -1,4 +1,4 @@ -import sys +import board from kb import KMKKeyboard from kmk.hid import HIDModes from kmk.keys import KC @@ -30,7 +30,7 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT,split_target_left=False) keyboard.modules.append(split) # ledmap @@ -45,8 +45,8 @@ Color.GREEN, Color.BLUE, Color.PURPLE, - Color.OFF, - Color.OFF, + Color.WHITE, + Color.WHITE, Color.PURPLE, Color.BLUE, Color.GREEN, @@ -70,7 +70,7 @@ OledData( corner_one={ 0: OledReactionType.STATIC, - 1: ["Kyria v1", "", "", "", "", "", "", ""], + 1: ["Kyria v1"], }, corner_two={ 0: OledReactionType.LAYER, @@ -82,19 +82,20 @@ "RAISE", "FUNC", "ADJUST", - "", + "UNDEF", ], }, corner_three={ 0: OledReactionType.STATIC, - 1: [sys.platform, "", "", "", "", "", "", ""], + 1: [board.board_id], }, corner_four={ 0: OledReactionType.STATIC, - 1: ["", "", "", "", "", "", "", ""], + 1: [""], }, ), toDisplay=OledDisplayMode.TXT, + oWidth=128, oHeight=64, flip=True, ) @@ -104,31 +105,27 @@ # Edit your layout below # Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT -ESC_LCTL = KC.MT(KC.ESC, KC.LCTL) -QUOTE_RCTL = KC.MT(KC.QUOTE, KC.RCTL) -ENT_LALT = KC.MT(KC.ENT, KC.LALT) -MINUS_RCTL = KC.MT(KC.MINUS, KC.RCTL) # fmt: off # keymap keyboard.keymap = [ [ KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC, - ESC_LCTL, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, QUOTE_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, - ESC_LCTL, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, MINUS_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, - ESC_LCTL, KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, QUOTE_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py index 429dcb4..7dcf5c6 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -30,7 +30,7 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT,split_target_left=False) keyboard.modules.append(split) # ledmap @@ -45,8 +45,8 @@ Color.GREEN, Color.BLUE, Color.PURPLE, - Color.OFF, - Color.OFF, + Color.WHITE, + Color.WHITE, Color.PURPLE, Color.BLUE, Color.GREEN, @@ -68,33 +68,13 @@ # oled oled_ext = Oled( OledData( - corner_one={ - 0: OledReactionType.STATIC, - 1: ["Kyria v1", "", "", "", "", "", "", ""], - }, - corner_two={ - 0: OledReactionType.LAYER, - 1: [ - "QWERTY", - "DVORAK", - "COLEMAK-DH", - "LOWER", - "RAISE", - "FUNC", - "ADJUST", - "", - ], - }, - corner_three={ - 0: OledReactionType.STATIC, - 1: [sys.platform, "", "", "", "", "", "", ""], - }, - corner_four={ + image={ 0: OledReactionType.STATIC, - 1: ["", "", "", "", "", "", "", ""], + 1: ["Kyria_OLED_display.bmp"], }, ), - toDisplay=OledDisplayMode.TXT, + toDisplay=OledDisplayMode.IMG, + oWidth=128, oHeight=64, flip=True, ) @@ -104,31 +84,27 @@ # Edit your layout below # Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT -ESC_LCTL = KC.MT(KC.ESC, KC.LCTL) -QUOTE_RCTL = KC.MT(KC.QUOTE, KC.RCTL) -ENT_LALT = KC.MT(KC.ENT, KC.LALT) -MINUS_RCTL = KC.MT(KC.MINUS, KC.RCTL) # fmt: off # keymap keyboard.keymap = [ [ KC.TAB, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.BSPC, - ESC_LCTL, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, QUOTE_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, - ESC_LCTL, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, MINUS_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, - ESC_LCTL, KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, QUOTE_RCTL, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, ENT_LALT, KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, diff --git a/libs/SplitKB-Kyria-KB2040-R.zip b/libs/SplitKB-Kyria-KB2040-R.zip index a24a9fbfb282587542e3ab7aa7e7b4b3805016b9..3c5efd4aedb6b123b27c3b0bc2192cd120e4f597 100644 GIT binary patch delta 1832 zcmZ{lX*Anu8^&X8RcjwKh^nnh8T%T-(4mNm8cQv))J_m<2Ytd#h134%$iCX z?u`jk;i>BE1|<^xe|0l{-z@Q-(Whf(x(|Q-66_PTO)Orv*238omyS2Tqi`6UGvm*B zF#W(_O05};%(k?=@dGzu-1PPR%F7aZ8p_JbDO`eSO&)^+$}T!CuC82?h6emMP2W+e z*%|!O0tzUZn?F9adUne;1FCs@nq)S(yj-?3{X$Us?p4o`EQ>nF<_rmat+3BSQXxy7 zLwJ##lRwu9H;h>YSFU19hAejC#}m3V#kQuD*t@llm?g#p|xeD7nUO)}>-zxgI9 zu!j`3KBD1IOR2Ud((0Vlff8*D5-)tmZ=prD-npF=xj)zDKadyny@@ko%twTc?X=}6zrLIYrASy0W)=@&n$`%H+A zJe8nyhOLVlB^U_GS)o4<;jBtDaN`7d^+#l(YGfH1G*@I8uLt&`wqmV-Z%>we zS!~BIcSpDSPQm^^YF7b%d>Axk5>qTS?rt@Mq#`vGY;N)hnQJn;ajy$rI zzA;WH)r-uWd1Zs$nz%k$4yXKz-PQpBrh$mE3;pvj-lZ!7M=4anZj!%iaO)+v2Y&2K zIM>q-S)y-IiA!CP_)l*!;07cPR(dJDKmXkcTp04g4Crfv=?0I#WsK%X9&L;ZmK(;C zL1!^chOUZR4}FtT*z@=}^JAm?(H2!~r7xb+9eo&c!Gud1#?jYDbK-#0Z@8%nqoYlV zNMFJ^`7LJkgn6!Sl)#{GPgO8ZkMXPhfR`3APX=d%psm>iXQ!2aYBn^_U(o7Z;D^oQ zH8-$m6A#se*;?5AtXN{dtP>1+c8VS#A4s}Bzg$1SN92%WhQ)09+|5ap>{V{hhuC^( zt+3>ot!dTH%Uxr*EGPkc(*qQ36AU(;dT&$dj2_6_%_)w3NDHF!h|As(3uC_+`p zo!Khzzh@yIld%up#^%?JgoCOS{?5tJ@CkDdu%VC_SyXw z?8Ker4q&v|BKEyV#Ghi6#=pL&FnpThpCg5ff1#F}7A&kg2qf;+kV8<^6q)|&oFc^s z>Rrerc%bA%#*^SZs~THw-pVf5rUQ51sl~}WM#oo03+LisOi&4}jTRc9pQZ%lZdJ^2 zw>O+V4;acYwM%lp2t2<&DmlAv^Zt3sm4jn#KY-6~7Y1AvEP>x>8%MTENBb#`#-WJTi`n5VS#f*1t00_ndMM5Kl5ohXVm4wx|&k zLp$Eoaq<>olw8h^hYYLE*cR&bS9#zG};f)w(W~@JNE9*dI(8+7l?RQNE?8Q-RiLbnEUZG1|0Wp-Gf+3c)2;GfT)S_{0kZF37G8$9utFf= ITK`u60|F6y;s5{u delta 33 jcmaD-_%eCJUj5A_W)e&ytZWQGzz&2GObiUW^+7xUuWSb9 From 0e314c7f3dba97c797c99582af69dfb7491f4c10 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Fri, 5 Aug 2022 18:15:44 +0300 Subject: [PATCH 6/7] Cleaned it up a bit and made sure both sides have the same keymap. --- keyboards/SplitKB-Kyria-KB2040-L/main.py | 40 ++++++++++-------------- keyboards/SplitKB-Kyria-KB2040-R/main.py | 40 ++++++++++-------------- 2 files changed, 34 insertions(+), 46 deletions(-) diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index 84be825..12c0771 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -30,7 +30,7 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT,split_target_left=False) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.LEFT) keyboard.modules.append(split) # ledmap @@ -110,22 +110,22 @@ # keymap keyboard.keymap = [ [ - 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.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), - KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + 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.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), + KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ - KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, - KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), - KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), + KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ - KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, - KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), - KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), + KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, @@ -146,17 +146,11 @@ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], [ - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], - [ - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - ] ] # keymap # fmt: on diff --git a/keyboards/SplitKB-Kyria-KB2040-R/main.py b/keyboards/SplitKB-Kyria-KB2040-R/main.py index 7dcf5c6..b2ffadb 100644 --- a/keyboards/SplitKB-Kyria-KB2040-R/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-R/main.py @@ -30,7 +30,7 @@ keyboard.modules = [Layers(), ModTap(), TapDance()] keyboard.extensions = [MediaKeys(), International()] -split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT,split_target_left=False) +split = Split(split_type=SplitType.UART, use_pio=True, split_side=SplitSide.RIGHT) keyboard.modules.append(split) # ledmap @@ -89,22 +89,22 @@ # keymap keyboard.keymap = [ [ - 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.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), - KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + 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.MT(KC.ESC, KC.LCTL), KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SCLN, KC.MT(KC.QUOTE, KC.RCTL), + KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ - KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, - KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), - KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.MT(KC.MINUS, KC.RCTL), + KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ - KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, - KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), - KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, - KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, + KC.TAB, KC.Q, KC.W, KC.F, KC.P, KC.B, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, KC.BSPC, + KC.MT(KC.ESC, KC.LCTL), KC.A, KC.R, KC.S, KC.T, KC.G, KC.M, KC.N, KC.E, KC.I, KC.O, KC.MT(KC.QUOTE, KC.RCTL), + KC.LSFT, KC.Z, KC.X, KC.C, KC.D, KC.V, KC.LBRC, KC.CAPS, KC.MO(5), KC.RBRC, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, KC.RSFT, + KC.MO(6), KC.LGUI, KC.MT(KC.ENT, KC.LALT), KC.SPC, KC.MO(3), KC.MO(4), KC.SPC, KC.RALT, KC.RGUI, KC.APP, ], [ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PGUP, KC.HOME, KC.UP, KC.END, KC.VOLU, KC.DEL, @@ -125,17 +125,11 @@ KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], [ - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(0), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(1), KC.TRNS, KC.TRNS, KC.RGB_TOG, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.DF(2), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, ], - [ - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, - ] ] # keymap # fmt: on From 67082f8b4adf449ede6d04a986fc7b6e61624ed0 Mon Sep 17 00:00:00 2001 From: Jan Lindblom Date: Fri, 7 Oct 2022 01:41:26 +0300 Subject: [PATCH 7/7] Updating following code review. --- .vscode/settings.json | 3 --- keyboards/SplitKB-Kyria-KB2040-L/main.py | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index de288e1..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.formatting.provider": "black" -} \ No newline at end of file diff --git a/keyboards/SplitKB-Kyria-KB2040-L/main.py b/keyboards/SplitKB-Kyria-KB2040-L/main.py index 12c0771..e57ed26 100644 --- a/keyboards/SplitKB-Kyria-KB2040-L/main.py +++ b/keyboards/SplitKB-Kyria-KB2040-L/main.py @@ -103,9 +103,6 @@ keyboard.extensions.append(oled_ext) -# Edit your layout below -# Currently, that's a default QMK Kyria Layout - https://config.qmk.fm/#/splitkb/kyria/rev1/LAYOUT - # fmt: off # keymap keyboard.keymap = [