From d46c292139173c7cbb2387ddbdac825ac9825745 Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Mon, 13 Feb 2023 20:37:52 -0800 Subject: [PATCH 01/15] Add karn keyboard --- keyboards/karn/config.h | 40 ++++++++++ keyboards/karn/halconf.h | 8 ++ keyboards/karn/info.json | 71 ++++++++++++++++++ keyboards/karn/keymaps/colemak/keymap.c | 99 +++++++++++++++++++++++++ keyboards/karn/keymaps/default/keymap.c | 96 ++++++++++++++++++++++++ keyboards/karn/mcuconf.h | 9 +++ keyboards/karn/readme.md | 99 +++++++++++++++++++++++++ keyboards/karn/rules.mk | 3 + 8 files changed, 425 insertions(+) create mode 100644 keyboards/karn/config.h create mode 100644 keyboards/karn/halconf.h create mode 100644 keyboards/karn/info.json create mode 100644 keyboards/karn/keymaps/colemak/keymap.c create mode 100644 keyboards/karn/keymaps/default/keymap.c create mode 100644 keyboards/karn/mcuconf.h create mode 100644 keyboards/karn/readme.md create mode 100644 keyboards/karn/rules.mk diff --git a/keyboards/karn/config.h b/keyboards/karn/config.h new file mode 100644 index 000000000000..6254603922f2 --- /dev/null +++ b/keyboards/karn/config.h @@ -0,0 +1,40 @@ +// Copyright 2023 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +#define DIRECT_PINS {{NO_PIN, A15,A8, B15, B14, B13}, \ + {B10, B1, B0, A7, A6, A5 }, \ + {NO_PIN, B3, B4, B5, B8, B9 }, \ + {A4, A3, A2, NO_PIN, NO_PIN, NO_PIN}} + +#define DIRECT_PINS_RIGHT {{B13, B14, B15, A8, A15, NO_PIN}, \ + {A5, A6, A7, B0, B1, B10}, \ + {B9, B8, B5, B4, B3, NO_PIN}, \ + {A2, A3, A4, NO_PIN, NO_PIN, NO_PIN}} + +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_TX_PIN B6 // USART TX pin +#define SERIAL_USART_RX_PIN B7 // USART RX pin + +/* Top left key on left half */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 1 +/* Top right key on right half */ +#define BOOTMAGIC_LITE_ROW_RIGHT 4 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 4 + +// Equivalent to zmk behavior-hold-tap tap-preferred flavor +// Do not force the mod-tap key press to be handled as a modifier +// if any other key was pressed while the mod-tap key is held down. +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY + +// Equivalent to zmk behavior-hold-tap hold-preferred flavor +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY + diff --git a/keyboards/karn/halconf.h b/keyboards/karn/halconf.h new file mode 100644 index 000000000000..150de899ab69 --- /dev/null +++ b/keyboards/karn/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#include_next diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json new file mode 100644 index 000000000000..e9f7cbbe94b5 --- /dev/null +++ b/keyboards/karn/info.json @@ -0,0 +1,71 @@ +{ + "manufacturer": "Robert Mills", + "keyboard_name": "karn", + "maintainer": "robcmills", + "bootloader": "stm32-dfu", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "processor": "STM32F401", + "board": "BLACKPILL_STM32_F401", + "url": "https://github.com/robcmills/karn-keyboard", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x6_3"], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0}, + { "matrix": [4, 0], "x": 8, "y": 0}, + { "matrix": [4, 1], "x": 9, "y": 0 }, + { "matrix": [4, 2], "x": 10, "y": 0 }, + { "matrix": [4, 3], "x": 11, "y": 0 }, + { "matrix": [4, 4], "x": 12, "y": 0}, + { "matrix": [4, 5], "x": 13, "y": 0}, + { "matrix": [1, 0], "x": 0, "y": 1}, + { "matrix": [1, 1], "x": 1, "y": 1}, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1 }, + { "matrix": [1, 5], "x": 5, "y": 1}, + { "matrix": [5, 0], "x": 8, "y": 1}, + { "matrix": [5, 1], "x": 9, "y": 1 }, + { "matrix": [5, 2], "x": 10, "y": 1 }, + { "matrix": [5, 3], "x": 11, "y": 1 }, + { "matrix": [5, 4], "x": 12, "y": 1}, + { "matrix": [5, 5], "x": 13, "y": 1}, + { "matrix": [2, 0], "x": 0, "y": 2}, + { "matrix": [2, 1], "x": 1, "y": 2}, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2 }, + { "matrix": [2, 5], "x": 5, "y": 2}, + { "matrix": [6, 0], "x": 8, "y": 2}, + { "matrix": [6, 1], "x": 9, "y": 2 }, + { "matrix": [6, 2], "x": 10, "y": 2 }, + { "matrix": [6, 3], "x": 11, "y": 2 }, + { "matrix": [6, 4], "x": 12, "y": 2}, + { "matrix": [6, 5], "x": 13, "y": 2}, + { "matrix": [3, 0], "x": 3.5, "y": 3.25 }, + { "matrix": [3, 1], "x": 4.5, "y": 3.5 }, + { "matrix": [3, 2], "x": 5.5, "y": 3.75 }, + { "matrix": [7, 0], "x": 7.5, "y": 3.75 }, + { "matrix": [7, 1], "x": 8.5, "y": 3.5 }, + { "matrix": [7, 2], "x": 9.5, "y": 3.25 } + ] + } + } +} diff --git a/keyboards/karn/keymaps/colemak/keymap.c b/keyboards/karn/keymaps/colemak/keymap.c new file mode 100644 index 000000000000..a3789ee3acfc --- /dev/null +++ b/keyboards/karn/keymaps/colemak/keymap.c @@ -0,0 +1,99 @@ +// Copyright 2023 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0 + +#include QMK_KEYBOARD_H + +// Tap Dance declarations +enum { + TD_F1_F11, + TD_F2_F12, +}; + +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for F1, twice for F11 + [TD_F1_F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11), + [TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), +}; + +// Equivalent to zmk behavior-hold-tap hold-preferred flavor +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_T(KC_Z): // Special case for Shift + return true; // Immediately select the hold action when another key is pressed. + case SFT_T(KC_ESC): + return true; + default: + return false; // Do not select the hold action when another key is pressed. + } +} + +bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case CTL_T(KC_X): + return true; + case ALT_T(KC_C): + return true; + case CMD_T(KC_V): + return true; + case CMD_T(KC_M): + return true; + case ALT_T(KC_COMM): + return true; + case CTL_T(KC_DOT): + return true; + case KC_X: + return true; + case KC_C: + return true; + case KC_V: + return true; + case KC_M: + return true; + case KC_COMM: + return true; + case KC_DOT: + return true; + default: + return false; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + // default (colemak) + [0] = LAYOUT_split_3x6_3( + KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_NO, + HYPR_T(KC_TAB),KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, HYPR_T(KC_ENT), + KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO, + MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2) + ), + + // symbols + [1] = LAYOUT_split_3x6_3( + _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_DEL, _______, _______ + ), + + // nav + [2] = LAYOUT_split_3x6_3( + _______, _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______, _______, + _______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______, + _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + // numbers + [3] = LAYOUT_split_3x6_3( + _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; + diff --git a/keyboards/karn/keymaps/default/keymap.c b/keyboards/karn/keymaps/default/keymap.c new file mode 100644 index 000000000000..2ead0cef66ef --- /dev/null +++ b/keyboards/karn/keymaps/default/keymap.c @@ -0,0 +1,96 @@ +// Copyright 2023 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0 + +#include QMK_KEYBOARD_H + +// Tap Dance declarations +enum { + TD_F1_F11, + TD_F2_F12, +}; + +// Tap Dance definitions +qk_tap_dance_action_t tap_dance_actions[] = { + // Tap once for F1, twice for F11 + [TD_F1_F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11), + [TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), +}; + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_T(KC_Z): // Special case for Shift + return true; // Immediately select the hold action when another key is pressed. + case SFT_T(KC_ESC): + return true; + default: + return false; // Do not select the hold action when another key is pressed. + } +} + +bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case CTL_T(KC_X): + return true; + case ALT_T(KC_C): + return true; + case CMD_T(KC_V): + return true; + case CMD_T(KC_M): + return true; + case ALT_T(KC_COMM): + return true; + case CTL_T(KC_DOT): + return true; + case KC_X: + return true; + case KC_C: + return true; + case KC_V: + return true; + case KC_M: + return true; + case KC_COMM: + return true; + case KC_DOT: + return true; + default: + return false; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + // default (qwerty) + [0] = LAYOUT_split_3x6_3( + KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, + HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT), + KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO, + MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2) + ), + + // symbols + [1] = LAYOUT_split_3x6_3( + _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_DEL, _______, _______ + ), + + // nav + [2] = LAYOUT_split_3x6_3( + _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, + _______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______, + _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + // numbers + [3] = LAYOUT_split_3x6_3( + _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; + diff --git a/keyboards/karn/mcuconf.h b/keyboards/karn/mcuconf.h new file mode 100644 index 000000000000..766fa7d06e06 --- /dev/null +++ b/keyboards/karn/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/karn/readme.md b/keyboards/karn/readme.md new file mode 100644 index 000000000000..fb35fd44a352 --- /dev/null +++ b/keyboards/karn/readme.md @@ -0,0 +1,99 @@ +# Karn 2 + +Split, ortholinear, non-staggered, diodeless, 38 key keyboard, with a unique set of 1.5u thumb arc keys and 1.5u pinky reach keys. + +* Keyboard Maintainer: [Robert Mills](https://github.com/robcmills) +* Hardware Supported: Blackpill STM32F401 + +Based on the excellent [cantor](https://github.com/diepala/cantor), and inspired by the popular [corne](https://github.com/foostan/crkbd), [ferris](https://github.com/pierrechevalier83/ferris) and [sweep](https://github.com/davidphilipbarr/Sweep) keyboards. + +![https://github.com/robcmills/karn-keyboard](https://github.com/robcmills/karn-keyboard) + +![karn-2-left](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-left.jpg) + +![karn-2-full](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-full.jpg) + +![karn-2-pcb](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-pcb.png) + +The default keymap is designed for OSX. + +``` + /* + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ Q │ W │ F │ P │ G │ BASE │ J │ L │ U │ Y │ ; │ + * │ │ │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ TAB │ A │ R │ S │ T │ D │ │ TAP │ │ H │ N │ E │ I │ O │ ENT │ + * │ HYP │ │ │ │ │ │ │ HOLD│ │ │ │ │ │ │ HYP │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ Z │ X │ C │ V │ B │ │ K │ M │ , │ . │ / │ + * │ SFT │ CTL │ ALT │ CMD │ │ │ │ CMD │ ALT │ CTL │ SFT │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ ESC │ │ │ BAK │ SPC │ │ + * │ SYM │ SFT │ NUM │ │ │ │ NAV │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ \ │ ` │ ' │ " │ { │ SYM │ } │ - │ = │ [ │ ] │ + * │ │ │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ DEL │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ VOL │ NAV │ │ │ │ │ │ + * │ │ │ │ │ UP │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ CTL │ CTL │ CMD │ CMD │ VOL │ │ ← │ ↓ │ ↑ │ → │CAPS │ │ + * │ │ + ↓ │ + ↑ │ + ` │ +TAB│ DOWN│ │ │ │ │ │LOCK │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ MUTE│ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ F1 │ F2 │ F3 │ F4 │ F5 │ NUM │ F6 │ F7 │ F8 │ F9 │ F10 │ + * │ F11 │ F12 │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ TAP │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ + * │ │ │ │ │ │ │ │TAPx2│ │ │ │ │ │ │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ +``` + +### Make + +Make example for this keyboard (after setting up your build environment): + + make karn:default + +Flashing example for this keyboard: + + make karn:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +### Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. For the right side, hold the top right key and plug the keyboard. +* **Physical reset button**: + * Press and hold the BOOT0 button. + * Press and release the NRST button. + * Release the BOOT0 button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + diff --git a/keyboards/karn/rules.mk b/keyboards/karn/rules.mk new file mode 100644 index 000000000000..d6ab167d3b79 --- /dev/null +++ b/keyboards/karn/rules.mk @@ -0,0 +1,3 @@ +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = usart +TAP_DANCE_ENABLE = yes From 18dec90e3d05fca9dde1907df90e00d3cfe03d5a Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Mon, 13 Feb 2023 21:15:14 -0800 Subject: [PATCH 02/15] Fix broken link in readme --- keyboards/karn/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/karn/readme.md b/keyboards/karn/readme.md index fb35fd44a352..f312fb325de1 100644 --- a/keyboards/karn/readme.md +++ b/keyboards/karn/readme.md @@ -7,7 +7,7 @@ Split, ortholinear, non-staggered, diodeless, 38 key keyboard, with a unique set Based on the excellent [cantor](https://github.com/diepala/cantor), and inspired by the popular [corne](https://github.com/foostan/crkbd), [ferris](https://github.com/pierrechevalier83/ferris) and [sweep](https://github.com/davidphilipbarr/Sweep) keyboards. -![https://github.com/robcmills/karn-keyboard](https://github.com/robcmills/karn-keyboard) +[https://github.com/robcmills/karn-keyboard](https://github.com/robcmills/karn-keyboard) ![karn-2-left](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-left.jpg) From b7dde41f93d9c5fe8bc4538dbce794f560cd6135 Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Tue, 14 Feb 2023 09:29:50 -0800 Subject: [PATCH 03/15] Update keyboards/karn/config.h Remove include of config_common.h Remove MATRIX_ROWS/COLS defines Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/karn/config.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/karn/config.h b/keyboards/karn/config.h index 6254603922f2..0c8c0e17c84c 100644 --- a/keyboards/karn/config.h +++ b/keyboards/karn/config.h @@ -3,12 +3,6 @@ #pragma once -#include "config_common.h" - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 6 - #define DIRECT_PINS {{NO_PIN, A15,A8, B15, B14, B13}, \ {B10, B1, B0, A7, A6, A5 }, \ {NO_PIN, B3, B4, B5, B8, B9 }, \ From 90dcbd1ff6582989670f60178bef88b138b86436 Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Tue, 14 Feb 2023 12:03:47 -0800 Subject: [PATCH 04/15] Host images on imgur --- keyboards/karn/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/karn/readme.md b/keyboards/karn/readme.md index f312fb325de1..9050733c6eac 100644 --- a/keyboards/karn/readme.md +++ b/keyboards/karn/readme.md @@ -9,11 +9,11 @@ Based on the excellent [cantor](https://github.com/diepala/cantor), and inspired [https://github.com/robcmills/karn-keyboard](https://github.com/robcmills/karn-keyboard) -![karn-2-left](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-left.jpg) +![karn-2-left](https://i.imgur.com/vm6XFyI.jpeg) -![karn-2-full](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-full.jpg) +![karn-2-full](https://i.imgur.com/R7WnlC3.jpeg) -![karn-2-pcb](https://github.com/robcmills/karn-keyboard/blob/main/images/karn-2-pcb.png) +![karn-2-pcb](https://i.imgur.com/EQqyyED.png) The default keymap is designed for OSX. From 1b888a811be7f21f19d291f2ca59bc85b7ceb07d Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Tue, 14 Feb 2023 12:11:45 -0800 Subject: [PATCH 05/15] Remove #define left in colemak/keymap.c --- keyboards/karn/keymaps/colemak/keymap.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/karn/keymaps/colemak/keymap.c b/keyboards/karn/keymaps/colemak/keymap.c index a3789ee3acfc..dbe78c0dada5 100644 --- a/keyboards/karn/keymaps/colemak/keymap.c +++ b/keyboards/karn/keymaps/colemak/keymap.c @@ -16,9 +16,6 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), }; -// Equivalent to zmk behavior-hold-tap hold-preferred flavor -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY - bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case SFT_T(KC_Z): // Special case for Shift From 29113bfc28d8517311ce3f9f8bb5a007871415fa Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Tue, 14 Feb 2023 12:13:39 -0800 Subject: [PATCH 06/15] Remove bootloader from info.json Co-authored-by: Joel Challis --- keyboards/karn/info.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json index e9f7cbbe94b5..2701c30bebf1 100644 --- a/keyboards/karn/info.json +++ b/keyboards/karn/info.json @@ -2,7 +2,6 @@ "manufacturer": "Robert Mills", "keyboard_name": "karn", "maintainer": "robcmills", - "bootloader": "stm32-dfu", "features": { "bootmagic": true, "command": false, From a37bb6ff00516027e5d03303b66e730785b325dc Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Tue, 14 Feb 2023 12:14:52 -0800 Subject: [PATCH 07/15] Change board to development_board in info.json Co-authored-by: Joel Challis --- keyboards/karn/info.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json index 2701c30bebf1..b0002a221b75 100644 --- a/keyboards/karn/info.json +++ b/keyboards/karn/info.json @@ -10,8 +10,7 @@ "mousekey": true, "nkro": true }, - "processor": "STM32F401", - "board": "BLACKPILL_STM32_F401", + "development_board": "blackpill_f401", "url": "https://github.com/robcmills/karn-keyboard", "usb": { "device_version": "1.0.0", From 88d9db02bb167c3bf029b157f678ea1f29cfd8c2 Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Tue, 14 Feb 2023 12:41:18 -0800 Subject: [PATCH 08/15] Various changes: - Move keymap specific defines out of root config.h - Move tap dance definitions out of default keymap and root rules.mk --- keyboards/karn/config.h | 8 ---- keyboards/karn/keymaps/colemak/config.h | 11 +++++ keyboards/karn/keymaps/colemak/rules.mk | 1 + keyboards/karn/keymaps/default/keymap.c | 63 ++----------------------- keyboards/karn/rules.mk | 1 - 5 files changed, 16 insertions(+), 68 deletions(-) create mode 100644 keyboards/karn/keymaps/colemak/config.h create mode 100644 keyboards/karn/keymaps/colemak/rules.mk diff --git a/keyboards/karn/config.h b/keyboards/karn/config.h index 0c8c0e17c84c..737ebcaee85a 100644 --- a/keyboards/karn/config.h +++ b/keyboards/karn/config.h @@ -24,11 +24,3 @@ #define BOOTMAGIC_LITE_ROW_RIGHT 4 #define BOOTMAGIC_LITE_COLUMN_RIGHT 4 -// Equivalent to zmk behavior-hold-tap tap-preferred flavor -// Do not force the mod-tap key press to be handled as a modifier -// if any other key was pressed while the mod-tap key is held down. -#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY - -// Equivalent to zmk behavior-hold-tap hold-preferred flavor -#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY - diff --git a/keyboards/karn/keymaps/colemak/config.h b/keyboards/karn/keymaps/colemak/config.h new file mode 100644 index 000000000000..a9002bbd9914 --- /dev/null +++ b/keyboards/karn/keymaps/colemak/config.h @@ -0,0 +1,11 @@ +// Copyright 2023 Robert Mills (@robcmills) +// SPDX-License-Identifier: GPL-2.0-or-later + +// Equivalent to zmk behavior-hold-tap tap-preferred flavor +// Do not force the mod-tap key press to be handled as a modifier +// if any other key was pressed while the mod-tap key is held down. +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY + +// Equivalent to zmk behavior-hold-tap hold-preferred flavor +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY + diff --git a/keyboards/karn/keymaps/colemak/rules.mk b/keyboards/karn/keymaps/colemak/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/karn/keymaps/colemak/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/karn/keymaps/default/keymap.c b/keyboards/karn/keymaps/default/keymap.c index 2ead0cef66ef..5f679552d974 100644 --- a/keyboards/karn/keymaps/default/keymap.c +++ b/keyboards/karn/keymaps/default/keymap.c @@ -3,61 +3,6 @@ #include QMK_KEYBOARD_H -// Tap Dance declarations -enum { - TD_F1_F11, - TD_F2_F12, -}; - -// Tap Dance definitions -qk_tap_dance_action_t tap_dance_actions[] = { - // Tap once for F1, twice for F11 - [TD_F1_F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11), - [TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), -}; - -bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SFT_T(KC_Z): // Special case for Shift - return true; // Immediately select the hold action when another key is pressed. - case SFT_T(KC_ESC): - return true; - default: - return false; // Do not select the hold action when another key is pressed. - } -} - -bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case CTL_T(KC_X): - return true; - case ALT_T(KC_C): - return true; - case CMD_T(KC_V): - return true; - case CMD_T(KC_M): - return true; - case ALT_T(KC_COMM): - return true; - case CTL_T(KC_DOT): - return true; - case KC_X: - return true; - case KC_C: - return true; - case KC_V: - return true; - case KC_M: - return true; - case KC_COMM: - return true; - case KC_DOT: - return true; - default: - return false; - } -} - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -87,10 +32,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // numbers [3] = LAYOUT_split_3x6_3( - _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/karn/rules.mk b/keyboards/karn/rules.mk index d6ab167d3b79..6bd8b9bf770e 100644 --- a/keyboards/karn/rules.mk +++ b/keyboards/karn/rules.mk @@ -1,3 +1,2 @@ SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart -TAP_DANCE_ENABLE = yes From 1afcf5e7831d2d4521291ceabcf36c42602e6968 Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Tue, 14 Feb 2023 12:51:51 -0800 Subject: [PATCH 09/15] Move keymap ascii diagram from root readme to keymaps/colemak/readme --- keyboards/karn/keymaps/colemak/readme.md | 58 +++++++++++++++++++++++ keyboards/karn/readme.md | 59 +----------------------- 2 files changed, 59 insertions(+), 58 deletions(-) create mode 100644 keyboards/karn/keymaps/colemak/readme.md diff --git a/keyboards/karn/keymaps/colemak/readme.md b/keyboards/karn/keymaps/colemak/readme.md new file mode 100644 index 000000000000..8d3be932fe63 --- /dev/null +++ b/keyboards/karn/keymaps/colemak/readme.md @@ -0,0 +1,58 @@ +``` + /* + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ Q │ W │ F │ P │ G │ BASE │ J │ L │ U │ Y │ ; │ + * │ │ │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ TAB │ A │ R │ S │ T │ D │ │ TAP │ │ H │ N │ E │ I │ O │ ENT │ + * │ HYP │ │ │ │ │ │ │ HOLD│ │ │ │ │ │ │ HYP │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ Z │ X │ C │ V │ B │ │ K │ M │ , │ . │ / │ + * │ SFT │ CTL │ ALT │ CMD │ │ │ │ CMD │ ALT │ CTL │ SFT │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ ESC │ │ │ BAK │ SPC │ │ + * │ SYM │ SFT │ NUM │ │ │ │ NAV │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ \ │ ` │ ' │ " │ { │ SYM │ } │ - │ = │ [ │ ] │ + * │ │ │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ DEL │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ VOL │ NAV │ │ │ │ │ │ + * │ │ │ │ │ UP │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ CTL │ CTL │ CMD │ CMD │ VOL │ │ ← │ ↓ │ ↑ │ → │CAPS │ │ + * │ │ + ↓ │ + ↑ │ + ` │ +TAB│ DOWN│ │ │ │ │ │LOCK │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ MUTE│ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ F1 │ F2 │ F3 │ F4 │ F5 │ NUM │ F6 │ F7 │ F8 │ F9 │ F10 │ + * │ F11 │ F12 │ │ │ │ LAYER │ │ │ │ │ │ + * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ + * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ TAP │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ + * │ │ │ │ │ │ │ │TAPx2│ │ │ │ │ │ │ │ + * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ +``` + + diff --git a/keyboards/karn/readme.md b/keyboards/karn/readme.md index 9050733c6eac..91ed8907b63b 100644 --- a/keyboards/karn/readme.md +++ b/keyboards/karn/readme.md @@ -15,64 +15,6 @@ Based on the excellent [cantor](https://github.com/diepala/cantor), and inspired ![karn-2-pcb](https://i.imgur.com/EQqyyED.png) -The default keymap is designed for OSX. - -``` - /* - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * │ Q │ W │ F │ P │ G │ BASE │ J │ L │ U │ Y │ ; │ - * │ │ │ │ │ │ LAYER │ │ │ │ │ │ - * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ - * │ TAB │ A │ R │ S │ T │ D │ │ TAP │ │ H │ N │ E │ I │ O │ ENT │ - * │ HYP │ │ │ │ │ │ │ HOLD│ │ │ │ │ │ │ HYP │ - * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ - * │ Z │ X │ C │ V │ B │ │ K │ M │ , │ . │ / │ - * │ SFT │ CTL │ ALT │ CMD │ │ │ │ CMD │ ALT │ CTL │ SFT │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │ │ ESC │ │ │ BAK │ SPC │ │ - * │ SYM │ SFT │ NUM │ │ │ │ NAV │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * │ \ │ ` │ ' │ " │ { │ SYM │ } │ - │ = │ [ │ ] │ - * │ │ │ │ │ │ LAYER │ │ │ │ │ │ - * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ - * │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ │ - * │ │ │ │ │ │ │ │ │ │ │ │ │ │ - * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ - * │ │ │ │ │ │ │ │ │ │ │ │ - * │ │ │ │ │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │ │ │ │ │ DEL │ │ │ - * │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * │ │ │ │ │ VOL │ NAV │ │ │ │ │ │ - * │ │ │ │ │ UP │ LAYER │ │ │ │ │ │ - * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┐ - * │ │ CTL │ CTL │ CMD │ CMD │ VOL │ │ ← │ ↓ │ ↑ │ → │CAPS │ │ - * │ │ + ↓ │ + ↑ │ + ` │ +TAB│ DOWN│ │ │ │ │ │LOCK │ │ - * └─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┘ - * │ │ │ │ │ MUTE│ │ │ │ │ │ │ - * │ │ │ │ │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │ │ │ │ │ │ │ │ - * │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * │ F1 │ F2 │ F3 │ F4 │ F5 │ NUM │ F6 │ F7 │ F8 │ F9 │ F10 │ - * │ F11 │ F12 │ │ │ │ LAYER │ │ │ │ │ │ - * ┌─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ ├─────┼─────┼─────┼─────┼─────┼─────┐ - * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ TAP │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ - * │ │ │ │ │ │ │ │TAPx2│ │ │ │ │ │ │ │ - * └─────┼─────┼─────┼─────┼─────┼─────┤ └─────┘ ├─────┼─────┼─────┼─────┼─────┼─────┘ - * │ │ │ │ │ │ │ │ │ │ │ │ - * │ │ │ │ │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │ │ │ │ │ │ │ │ - * │ │ │ │ │ │ │ │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - */ -``` ### Make @@ -86,6 +28,7 @@ Flashing example for this keyboard: See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + ### Bootloader Enter the bootloader in 3 ways: From 7b8500dfa4021d717be4ff5119d23c61220ec555 Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Wed, 15 Feb 2023 23:06:01 -0800 Subject: [PATCH 10/15] Use better image compression Co-authored-by: Drashna Jaelre --- keyboards/karn/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/karn/readme.md b/keyboards/karn/readme.md index 91ed8907b63b..037cc5d652ed 100644 --- a/keyboards/karn/readme.md +++ b/keyboards/karn/readme.md @@ -9,11 +9,11 @@ Based on the excellent [cantor](https://github.com/diepala/cantor), and inspired [https://github.com/robcmills/karn-keyboard](https://github.com/robcmills/karn-keyboard) -![karn-2-left](https://i.imgur.com/vm6XFyI.jpeg) +![karn-2-left](https://i.imgur.com/vm6XFyIh.jpeg) -![karn-2-full](https://i.imgur.com/R7WnlC3.jpeg) +![karn-2-full](https://i.imgur.com/R7WnlC3h.jpeg) -![karn-2-pcb](https://i.imgur.com/EQqyyED.png) +![karn-2-pcb](https://i.imgur.com/EQqyyEDh.png) ### Make From d89aaad83c3a59da90b0d35e1cb99ab238d54eb1 Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Sat, 18 Feb 2023 11:00:36 -0800 Subject: [PATCH 11/15] Add pragma once to colemak/config.h Co-authored-by: Drashna Jaelre --- keyboards/karn/keymaps/colemak/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/karn/keymaps/colemak/config.h b/keyboards/karn/keymaps/colemak/config.h index a9002bbd9914..71eb08ed1e25 100644 --- a/keyboards/karn/keymaps/colemak/config.h +++ b/keyboards/karn/keymaps/colemak/config.h @@ -1,6 +1,8 @@ // Copyright 2023 Robert Mills (@robcmills) // SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + // Equivalent to zmk behavior-hold-tap tap-preferred flavor // Do not force the mod-tap key press to be handled as a modifier // if any other key was pressed while the mod-tap key is held down. From 69ff13b71d342edbff12c6ec593e796617cf251c Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Sat, 18 Feb 2023 11:05:47 -0800 Subject: [PATCH 12/15] Add bootmagic and split to karn/info.json Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/karn/info.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json index b0002a221b75..10422b169109 100644 --- a/keyboards/karn/info.json +++ b/keyboards/karn/info.json @@ -17,6 +17,15 @@ "pid": "0x0000", "vid": "0xFEED" }, + "bootmagic": { + "matrix": [0, 1] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [4, 4] + } + }, "community_layouts": ["split_3x6_3"], "layouts": { "LAYOUT_split_3x6_3": { From 570861c969dfc3763eb2aff31ab3131d3b929ece Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Sat, 18 Feb 2023 11:06:47 -0800 Subject: [PATCH 13/15] Remove bootmagic_lite from karn/config.h Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/karn/config.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/keyboards/karn/config.h b/keyboards/karn/config.h index 737ebcaee85a..2e737bfd7107 100644 --- a/keyboards/karn/config.h +++ b/keyboards/karn/config.h @@ -16,11 +16,3 @@ #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. #define SERIAL_USART_TX_PIN B6 // USART TX pin #define SERIAL_USART_RX_PIN B7 // USART RX pin - -/* Top left key on left half */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 1 -/* Top right key on right half */ -#define BOOTMAGIC_LITE_ROW_RIGHT 4 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 4 - From d92fde0e4930f0f2cd6687e9c5c5b5b2d67426fd Mon Sep 17 00:00:00 2001 From: Robert Mills Date: Sat, 18 Feb 2023 11:09:17 -0800 Subject: [PATCH 14/15] Remove split_keyboard from karn/rules.mk Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/karn/rules.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/karn/rules.mk b/keyboards/karn/rules.mk index 6bd8b9bf770e..c6e298832137 100644 --- a/keyboards/karn/rules.mk +++ b/keyboards/karn/rules.mk @@ -1,2 +1 @@ -SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart From a5533abde5dca55fea20ffc5f59173e146851d27 Mon Sep 17 00:00:00 2001 From: Robert Carter Mills Date: Sat, 18 Feb 2023 11:14:52 -0800 Subject: [PATCH 15/15] Remove bootmagic as nested key from split --- keyboards/karn/info.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json index 10422b169109..961aa8efd24d 100644 --- a/keyboards/karn/info.json +++ b/keyboards/karn/info.json @@ -21,10 +21,7 @@ "matrix": [0, 1] }, "split": { - "enabled": true, - "bootmagic": { - "matrix": [4, 4] - } + "enabled": true }, "community_layouts": ["split_3x6_3"], "layouts": {