From 952f6b70222f4673173943e8724a40837e879f14 Mon Sep 17 00:00:00 2001 From: Kyle Brown Date: Tue, 11 Dec 2018 00:27:24 -0800 Subject: [PATCH] Added the extra data pin. Will add docs when it's actually doing something --- kmk/firmware.py | 1 + user_keymaps/kdb424/levinson_m4.py | 3 +- user_keymaps/kdb424/nyquist_converter.py | 80 +++++++++++++----------- 3 files changed, 47 insertions(+), 37 deletions(-) diff --git a/kmk/firmware.py b/kmk/firmware.py index 79f3993..c59f580 100644 --- a/kmk/firmware.py +++ b/kmk/firmware.py @@ -61,6 +61,7 @@ class Firmware: hid_helper = USB_HID + extra_data_pin = None split_offsets = () split_flip = False split_side = None diff --git a/user_keymaps/kdb424/levinson_m4.py b/user_keymaps/kdb424/levinson_m4.py index f5865d2..2fb97a4 100644 --- a/user_keymaps/kdb424/levinson_m4.py +++ b/user_keymaps/kdb424/levinson_m4.py @@ -4,11 +4,9 @@ import busio from kmk.consts import DiodeOrientation, LeaderMode, UnicodeMode from kmk.keycodes import KC from kmk.keycodes import generate_leader_dictionary_seq as glds -from kmk.macros.simple import send_string from kmk.macros.unicode import compile_unicode_string_sequences from kmk.mcus.circuitpython_samd51 import Firmware from kmk.pins import Pin as P -from kmk.types import AttrDict keyboard = Firmware() @@ -20,6 +18,7 @@ keyboard.split_type = "UART" keyboard.split_flip = True keyboard.split_offsets = [6, 6, 6, 6] keyboard.uart_pin = board.SCL +keyboard.extra_data_pin = board.SDA # ------------------User level config variables --------------------------------------- keyboard.leader_mode = LeaderMode.TIMEOUT diff --git a/user_keymaps/kdb424/nyquist_converter.py b/user_keymaps/kdb424/nyquist_converter.py index d4c6212..97627ce 100644 --- a/user_keymaps/kdb424/nyquist_converter.py +++ b/user_keymaps/kdb424/nyquist_converter.py @@ -1,33 +1,32 @@ import board import busio -from kmk.consts import DiodeOrientation, LeaderMode, UnicodeMode +from kmk.consts import DiodeOrientation, LeaderMode, UnicodeModes from kmk.keycodes import KC from kmk.keycodes import generate_leader_dictionary_seq as glds -from kmk.macros.simple import send_string +from kmk.macros.simple import simple_key_sequence from kmk.macros.unicode import compile_unicode_string_sequences from kmk.mcus.circuitpython_samd51 import Firmware from kmk.pins import Pin as P -from kmk.types import AttrDict keyboard = Firmware() keyboard.col_pins = (P.RX, P.A1, P.A2, P.A3, P.A4, P.A5) -keyboard.row_pins = (P.D13, P.D11, P.D10, P.D9, P.D5) +keyboard.row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7) keyboard.diode_orientation = DiodeOrientation.COLUMNS keyboard.split_type = "UART" keyboard.split_flip = True keyboard.split_offsets = [6, 6, 6, 6, 6] -keyboard.uart_flip = True -keyboard.uart = keyboard.init_uart(tx=board.SDA, rx=board.SCL) +keyboard.uart_pin = board.SCL +keyboard.extra_data_pin = board.SDA # ------------------User level config variables --------------------------------------- keyboard.leader_mode = LeaderMode.TIMEOUT -keyboard.unicode_mode = UnicodeMode.LINUX +keyboard.unicode_mode = UnicodeModes.LINUX keyboard.tap_time = 150 keyboard.leader_timeout = 2000 -keyboard.debug_enabled = True +keyboard.debug_enabled = False emoticons = compile_unicode_string_sequences({ # Emoticons, but fancier @@ -51,50 +50,61 @@ keyboard.leader_dictionary = { glds('f'): emoticons.F, glds('meh'): emoticons.MEH, glds('yay'): emoticons.YAY, + glds('gw'): simple_key_sequence([KC.DF(1)]), } + +_______ = KC.TRNS +XXXXXXX = KC.NO LT3_SP = KC.LT(3, KC.SPC) +SHFT_INS = KC.LSHIFT(KC.INS) + +df = 0 +gw = 1 +r1 = 2 +r2 = 3 +r3 = 4 # ---------------------- Keymap --------------------------------------------------------- keyboard.keymap = [ [ - # Default - [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], - [KC.GRV, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], - [KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], - [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], - [KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD, KC.MO(2), LT3_SP, LT3_SP, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], + # df + [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], + [KC.GRV, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], + [KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], + [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], + [KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD, KC.MO(r1), LT3_SP, LT3_SP, KC.MO(r1), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], ], [ - # Gaming - [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], - [KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], - [KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], - [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], - [KC.LCTRL, KC.LGUI, KC.LALT, KC.F1, KC.F2, KC.SPC, KC.SPC, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], + # gw + [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], + [KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], + [KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], + [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], + [KC.LCTRL, KC.LGUI, KC.LALT, KC.F1, KC.F2, KC.SPC, KC.SPC, KC.MO(r3), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], ], [ - # Raise1 + # r1 [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.DEL], - [KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.LBRC, KC.RBRC, KC.BSLS], - [KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.INS, KC.PGDN, KC.PGUP, KC.MINS], - [KC.RESET, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.NO, KC.NO, KC.EQL, KC.HOME, KC.VOLD, KC.VOLU, KC.END], + [_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LBRC, KC.RBRC, KC.BSLS], + [_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.INS, _______, _______, KC.MINS], + [KC.RESET, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC.EQL, KC.HOME, KC.PGDN, KC.PGUP, KC.END], ], [ - # Raise2 + # r2 [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N7, KC.N8, KC.N9, KC.BKSP], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N4, KC.N5, KC.N6, KC.VOLU], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N1, KC.N2, KC.N3, KC.VOLD], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N0, KC.N0, KC.PDOT, KC.ENT], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.N7, KC.N8, KC.N9, KC.BKSP], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.N4, KC.N5, KC.N6, XXXXXXX], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.N1, KC.N2, KC.N3, XXXXXXX], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.N0, KC.N0, KC.PDOT, KC.ENT], ], [ - # Raise3 - [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F10, KC.F11, KC.F12, KC.LSHIFT(KC.INS)], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F7, KC.F8, KC.F9, KC.NO], - [KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F4, KC.F5, KC.F6, KC.NO], - [KC.DF(0), KC.DF(1), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F1, KC.F2, KC.F3, KC.NO], + # r3 + [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.F10, KC.F11, KC.F12, KC.DEL], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.F7, KC.F8, KC.F9, SHFT_INS] + [_______, _______, _______, _______, _______, _______, _______, _______, KC.F4, KC.F5, KC.F6, KC.VOLU], + [_______, _______, _______, _______, _______, _______, _______, _______, KC.F1, KC.F2, KC.F4, KC.VOLD], + [KC.DF(df), KC.DF(gw), _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX], ], ]