From 6828224f4e9148eeb9c2da623d5c0c73544c7241 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 8 Apr 2024 21:03:36 -0500 Subject: [PATCH 01/60] Setting up Rollow definition in my userspace - I know I can't build a firmware with the files here but I rather keep them here over maintaining a qmk_firmware fork or creating a new repo - Added the basic keyboard definition files - Copied the Readme template from the website which is based on planck - started populating info.json, taking inspiration from swoop/crkbd - decided to omit the rev1 folder for now to simplify things --- keyboards/barbellboards/rollow/config.h | 0 keyboards/barbellboards/rollow/info.json | 19 ++++++++++++++++ keyboards/barbellboards/rollow/readme.md | 29 ++++++++++++++++++++++++ keyboards/barbellboards/rollow/rollow.c | 0 keyboards/barbellboards/rollow/rollow.h | 0 keyboards/barbellboards/rollow/rules.mk | 0 6 files changed, 48 insertions(+) create mode 100644 keyboards/barbellboards/rollow/config.h create mode 100644 keyboards/barbellboards/rollow/info.json create mode 100644 keyboards/barbellboards/rollow/readme.md create mode 100644 keyboards/barbellboards/rollow/rollow.c create mode 100644 keyboards/barbellboards/rollow/rollow.h create mode 100644 keyboards/barbellboards/rollow/rules.mk diff --git a/keyboards/barbellboards/rollow/config.h b/keyboards/barbellboards/rollow/config.h new file mode 100644 index 00000000..e69de29b diff --git a/keyboards/barbellboards/rollow/info.json b/keyboards/barbellboards/rollow/info.json new file mode 100644 index 00000000..923c6755 --- /dev/null +++ b/keyboards/barbellboards/rollow/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Rollow", + "manufacturer": "BarbellBoards", + "url": "https://www.barbellboards.com/product/rollow", + "maintainer": "t4corun", + "usb": { + "pid": "0x5257", + "vid": "0x4242", + "device_version": "1.0.0" + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true + }, +} \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/readme.md b/keyboards/barbellboards/rollow/readme.md new file mode 100644 index 00000000..c627421e --- /dev/null +++ b/keyboards/barbellboards/rollow/readme.md @@ -0,0 +1,29 @@ +# Rollow + +![Rollow](https://assets.bigcartel.com/product_images/327532800/BothBoards_Logo.png?auto=format&fit=max&h=500&w=500) + +Author's Note: Converting my ZMK Rollow to QMK, I decided to port/modernize Barry's Rollow keyboard definition. Setting up a new definition here as his github account shows no activity since mid 2022. Ultimately, this is a fun exercise for me to better understand how to setup a new keyboard especially under the new standards. I take no credit for Barry's awesome hardware design. + +A compact 40% (12x4) ortholinear keyboard kit made and sold by OLKB and Massdrop. [More info on qmk.fm](https://qmk.fm/planck/) + +* Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) +* Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0 +* Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open) + +Make example for this keyboard (after setting up your build environment): + + make planck/rev4:default + +Flashing example for this keyboard: + + make planck/rev4: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 key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/rollow.c b/keyboards/barbellboards/rollow/rollow.c new file mode 100644 index 00000000..e69de29b diff --git a/keyboards/barbellboards/rollow/rollow.h b/keyboards/barbellboards/rollow/rollow.h new file mode 100644 index 00000000..e69de29b diff --git a/keyboards/barbellboards/rollow/rules.mk b/keyboards/barbellboards/rollow/rules.mk new file mode 100644 index 00000000..e69de29b From d78410eab8f40f687f7d07ddd8c348fe39b22e4e Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 9 Apr 2024 22:47:38 -0500 Subject: [PATCH 02/60] Got Rollow to compile on local build environment - finished porting over configuration to json format leveraged a ton of crkbd code (layout, OLED) - built default keymap. Maybe I will submit a PR to add this to the tree - added my keymap - updated readme to their standard - default / my keymap successfully compiles. have not tested on a board --- keyboards/barbellboards/rollow/config.h | 9 + keyboards/barbellboards/rollow/info.json | 145 ++++++++++- .../rollow/keymaps/default/keymap.c | 60 +++++ .../{rollow.h => keymaps/t4corun/config.h} | 0 .../rollow/keymaps/t4corun/keymap.c | 51 ++++ .../rollow/keymaps/t4corun/readme.md | 0 .../rollow/keymaps/t4corun/rules.mk | 6 + keyboards/barbellboards/rollow/lib/glcdfont.c | 232 ++++++++++++++++++ keyboards/barbellboards/rollow/readme.md | 28 ++- keyboards/barbellboards/rollow/rollow.c | 137 +++++++++++ keyboards/barbellboards/rollow/rules.mk | 2 + 11 files changed, 655 insertions(+), 15 deletions(-) create mode 100644 keyboards/barbellboards/rollow/keymaps/default/keymap.c rename keyboards/barbellboards/rollow/{rollow.h => keymaps/t4corun/config.h} (100%) create mode 100644 keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c create mode 100644 keyboards/barbellboards/rollow/keymaps/t4corun/readme.md create mode 100644 keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk create mode 100644 keyboards/barbellboards/rollow/lib/glcdfont.c diff --git a/keyboards/barbellboards/rollow/config.h b/keyboards/barbellboards/rollow/config.h index e69de29b..d6dc4cae 100644 --- a/keyboards/barbellboards/rollow/config.h +++ b/keyboards/barbellboards/rollow/config.h @@ -0,0 +1,9 @@ +#pragma once + +#define MASTER_LEFT + +#if defined(OLED_ENABLE) +# if !defined(OLED_FONT_H) +# define OLED_FONT_H "keyboards/barbellboards/rollow/lib/glcdfont.c" +# endif //OLED_FONT_H +#endif //OLED_ENABLE diff --git a/keyboards/barbellboards/rollow/info.json b/keyboards/barbellboards/rollow/info.json index 923c6755..b72e8c86 100644 --- a/keyboards/barbellboards/rollow/info.json +++ b/keyboards/barbellboards/rollow/info.json @@ -8,12 +8,143 @@ "vid": "0x4242", "device_version": "1.0.0" }, - "matrix_pins": { - "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], - "rows": [ "D4", "C6", "D7", "E6" ] - }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1", "B3" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, "diode_direction": "COL2ROW", - "split": { - "enabled": true - }, + "features": { + "bootmagic": true, + "encoder": true, + "oled": true + }, + "encoder": { + "rotary": [ + { + "pin_a": "B4", + "pin_b": "B5", + "resolution": 2 + } + ] + }, + "split": { + "enabled": true, + "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "B2", + "pin_b": "B6", + "resolution": 2 + } + ] + } + } + }, + "processor": "atmega32u4", + "bootloader": "caterina", + "community_layouts": [ "split_3x5_3", "split_3x6_3" ], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, + + {"matrix": [4, 5], "x": 8, "y": 0.2}, + {"matrix": [4, 4], "x": 9, "y": 0.1}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.1}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, + + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, + + {"matrix": [5, 5], "x": 8, "y": 1.2}, + {"matrix": [5, 4], "x": 9, "y": 1.1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, + + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, + + {"matrix": [6, 5], "x": 8, "y": 2.2}, + {"matrix": [6, 4], "x": 9, "y": 2.1}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.1}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, + + {"matrix": [3, 3], "x": 3, "y": 3.7}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.7}, + {"matrix": [7, 3], "x": 9, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, + + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, + + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, + + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, + + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, + + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, + + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + } } \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/keymaps/default/keymap.c b/keyboards/barbellboards/rollow/keymaps/default/keymap.c new file mode 100644 index 00000000..e82a46c4 --- /dev/null +++ b/keyboards/barbellboards/rollow/keymaps/default/keymap.c @@ -0,0 +1,60 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; + + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [2] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }, + [3] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX), ENCODER_CCW_CW(XXXXXXX, XXXXXXX) } +}; \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/rollow.h b/keyboards/barbellboards/rollow/keymaps/t4corun/config.h similarity index 100% rename from keyboards/barbellboards/rollow/rollow.h rename to keyboards/barbellboards/rollow/keymaps/t4corun/config.h diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c new file mode 100644 index 00000000..370cabff --- /dev/null +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c @@ -0,0 +1,51 @@ +#include "t4corun.h" + +#define LAYOUT_rollow_wrapper(...) LAYOUT_split_3x5_3(__VA_ARGS__) + +#define LAYOUT_3x5_keymap( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + k33, k34, k35, k36 \ +) \ +LAYOUT_rollow_wrapper ( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + KC_NO, k33, k34, k35, k36, KC_NO \ +) + +#define ROLLOW(...) LAYOUT_3x5_keymap(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_DEFAULT_LAYER_1 ] = ROLLOW(LAYER_QWERTY), + [_DEFAULT_LAYER_2 ] = ROLLOW(LAYER_COLEMAK_DH), + [_DEFAULT_LAYER_3 ] = ROLLOW(LAYER_GAME), + [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION), + [_NUMBER] = ROLLOW(LAYER_NUMBER), + [_SYMBOL] = ROLLOW(LAYER_SYMBOL), + [_FUNCTION] = ROLLOW(LAYER_FUNCTION), + [_MOUSE] = ROLLOW(LAYER_MOUSE), + [_GAME_NUM] = ROLLOW(LAYER_GAME_NUM), + [_CONFIG] = ROLLOW(LAYER_CONFIG) + +}; + + +#if defined(ENCODER_MAP_ENABLE) + +/* may have to swap the hands in this array since we do right side master*/ +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_DEFAULT_LAYER_1 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, vol up and down + [_DEFAULT_LAYER_2 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, vol up and down + [_DEFAULT_LAYER_3 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, xx,xx + [_NAVIGATION] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, xx,xx + [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, //xx,xx left and right + [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, //xx,xx xx,xx + [_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_UP, KC_DOWN) }, //xx,xx up and down + [_MOUSE] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, ??,?? + [_GAME_NUM] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, xx,xx + [_CONFIG] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //maybe rgb functionality? +}; +#endif \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/readme.md b/keyboards/barbellboards/rollow/keymaps/t4corun/readme.md new file mode 100644 index 00000000..e69de29b diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk b/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk new file mode 100644 index 00000000..d5ca9e7b --- /dev/null +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk @@ -0,0 +1,6 @@ +# override userspace defaults +OLED_ENABLE = yes + +# override keyboard defaults +# keyboards\barbellboards\rollow\rules.mk +CONVERT_TO = blok \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/lib/glcdfont.c b/keyboards/barbellboards/rollow/lib/glcdfont.c new file mode 100644 index 00000000..41041f12 --- /dev/null +++ b/keyboards/barbellboards/rollow/lib/glcdfont.c @@ -0,0 +1,232 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font +const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, +0xF0, 0xF8, 0xF8, 0x18, 0x00, 0xC0, +0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, +0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, +0x00, 0xE0, 0xE0, 0xC0, 0xC0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, +0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, +0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, +0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, +0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, +0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, +0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, +0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, +0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, +0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, +0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE, +0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x81, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x81, +0xC3, 0xC3, 0xC3, 0x00, 0x00, 0xFF, +0xFF, 0xFF, 0x81, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, +0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x9D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, +0x1C, 0x9D, 0xDF, 0xDF, 0xDF, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, +0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, +0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, +0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, +0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, +0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, +0x3F, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, +0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x3F, +0x3F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, +0x7F, 0x7C, 0x78, 0x78, 0x38, 0x1C, +0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x03, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x03, 0x01, 0x00, 0x00, 0x00, 0x00, +0x01, 0x03, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x07, 0x07, 0x03, 0x01, +0x00, 0x00, 0x00, 0x07, 0x07, 0x07, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x07, 0x07, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x07, +0x07, 0x00, 0x00, 0x00, 0x01, 0x03, +0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x03, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/barbellboards/rollow/readme.md b/keyboards/barbellboards/rollow/readme.md index c627421e..0799349b 100644 --- a/keyboards/barbellboards/rollow/readme.md +++ b/keyboards/barbellboards/rollow/readme.md @@ -1,22 +1,34 @@ # Rollow -![Rollow](https://assets.bigcartel.com/product_images/327532800/BothBoards_Logo.png?auto=format&fit=max&h=500&w=500) +![Rollow](https://assets.bigcartel.com/product_images/327532800/BothBoards_Logo.png?auto=format&fit=max&h=300) -Author's Note: Converting my ZMK Rollow to QMK, I decided to port/modernize Barry's Rollow keyboard definition. Setting up a new definition here as his github account shows no activity since mid 2022. Ultimately, this is a fun exercise for me to better understand how to setup a new keyboard especially under the new standards. I take no credit for Barry's awesome hardware design. +*Author's Note: Converting my ZMK Rollow to QMK, I decided to port/modernize Barbell Boards Rollow keyboard definition. Setting up a new definition here as his github account shows no activity since mid 2022. Ultimately, this is a fun exercise for me to better understand how to setup a new keyboard especially under the current standards. I take no credit for Barry's awesome hardware design.* -A compact 40% (12x4) ortholinear keyboard kit made and sold by OLKB and Massdrop. [More info on qmk.fm](https://qmk.fm/planck/) +Rollow is low-profile 3x6+2 keys column-staggered split keyboard with horizontal thumb encoders. Based off Corne and also available in a 3x5+2 variant -* Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) -* Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0 -* Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open) +The current build guide is [available here](https://github.com/barbellboards/Rollow/blob/main/Instructions/BuildGuide.md) + +* Keyboard Maintainer: [Barbell Boards](https://github.com/barbellboards) and [t4corun](https://github.com/t4corun/qmk_userspace) +* Hardware Supported: Rollow Rev 1 +* Hardware Availability: No longer available after initial Summer 2022 production run Make example for this keyboard (after setting up your build environment): - make planck/rev4:default +```bash +# This board definition is currently not part of QMK Firmware +# Copy the keyboard definition into your forked/cloned QMK_HOME folder +cp /d/Repo/qmk_userspace/keyboards/barbellboards /d/Repo/qmk_firmware/keyboards/ -R + +make barbellboards/rollow:default +# or +qmk compile -kb barbellboards/rollow -km default +``` Flashing example for this keyboard: - make planck/rev4:default:flash +```bash +make barbellboards/rollow: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). diff --git a/keyboards/barbellboards/rollow/rollow.c b/keyboards/barbellboards/rollow/rollow.c index e69de29b..43c3a764 100644 --- a/keyboards/barbellboards/rollow/rollow.c +++ b/keyboards/barbellboards/rollow/rollow.c @@ -0,0 +1,137 @@ +#include "quantum.h" + +/* +The following code is from keyboards/crkbd + +Included so the default keymap will have OLED functionality and +will help make this eligible for including in qmk tree +*/ + +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +static void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Default"), false); + break; + case 1: + oled_write_ln_P(PSTR("Lower"), false); + break; + case 2: + oled_write_ln_P(PSTR("Raise"), false); + break; + case 3: + oled_write_ln_P(PSTR("Adjust"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + break; + } +} + +char key_name = ' '; +uint16_t last_keycode; +uint8_t last_row; +uint8_t last_col; + +static const char PROGMEM code_to_name[60] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +static void set_keylog(uint16_t keycode, keyrecord_t *record) { + // save the row and column (useful even if we can't find a keycode to show) + last_row = record->event.key.row; + last_col = record->event.key.col; + + key_name = ' '; + last_keycode = keycode; + if (IS_QK_MOD_TAP(keycode)) { + if (record->tap.count) { + keycode = QK_MOD_TAP_GET_TAP_KEYCODE(keycode); + } else { + keycode = 0xE0 + biton(QK_MOD_TAP_GET_MODS(keycode) & 0xF) + biton(QK_MOD_TAP_GET_MODS(keycode) & 0x10); + } + } else if (IS_QK_LAYER_TAP(keycode) && record->tap.count) { + keycode = QK_LAYER_TAP_GET_TAP_KEYCODE(keycode); + } else if (IS_QK_MODS(keycode)) { + keycode = QK_MODS_GET_BASIC_KEYCODE(keycode); + } else if (IS_QK_ONE_SHOT_MOD(keycode)) { + keycode = 0xE0 + biton(QK_ONE_SHOT_MOD_GET_MODS(keycode) & 0xF) + biton(QK_ONE_SHOT_MOD_GET_MODS(keycode) & 0x10); + } + if (keycode > ARRAY_SIZE(code_to_name)) { + return; + } + + // update keylog + key_name = pgm_read_byte(&code_to_name[keycode]); +} + +static const char *depad_str(const char *depad_str, char depad_char) { + while (*depad_str == depad_char) + ++depad_str; + return depad_str; +} + +static void oled_render_keylog(void) { + oled_write_char('0' + last_row, false); + oled_write_P(PSTR("x"), false); + oled_write_char('0' + last_col, false); + oled_write_P(PSTR(", k"), false); + const char *last_keycode_str = get_u16_str(last_keycode, ' '); + oled_write(depad_str(last_keycode_str, ' '), false); + oled_write_P(PSTR(":"), false); + oled_write_char(key_name, false); +} + +// static void render_bootmagic_status(bool status) { +// /* Show Ctrl-Gui Swap options */ +// static const char PROGMEM logo[][2][3] = { +// {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, +// {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, +// }; +// if (status) { +// oled_write_ln_P(logo[0][0], false); +// oled_write_ln_P(logo[0][1], false); +// } else { +// oled_write_ln_P(logo[1][0], false); +// oled_write_ln_P(logo[1][1], false); +// } +// } + +__attribute__((weak)) void oled_render_logo(void) { + // clang-format off + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + // clang-format on + oled_write_P(crkbd_logo, false); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } + return false; +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return process_record_user(keycode, record); +} +#endif // OLED_ENABLE \ No newline at end of file diff --git a/keyboards/barbellboards/rollow/rules.mk b/keyboards/barbellboards/rollow/rules.mk index e69de29b..a19cdc5c 100644 --- a/keyboards/barbellboards/rollow/rules.mk +++ b/keyboards/barbellboards/rollow/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +OLED_DRIVER = ssd1306 \ No newline at end of file From 50c5aa16a38b34e5c2cd22f9d93d0781f2588f71 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:03:40 -0500 Subject: [PATCH 03/60] Adding custom github actions - copied the official QMK build action and injected a step to copy the rollow keyboard definition to the qmk_firmware before the build - Added the rollow to the qmk.json --- .github/workflows/build_nontree_binaries.yaml | 20 +++++ .../workflows/custom/qmk_userspace_build.yml | 87 +++++++++++++++++++ qmk.json | 3 +- 3 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build_nontree_binaries.yaml create mode 100644 .github/workflows/custom/qmk_userspace_build.yml diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml new file mode 100644 index 00000000..8277e2f3 --- /dev/null +++ b/.github/workflows/build_nontree_binaries.yaml @@ -0,0 +1,20 @@ +name: Build Non-Tree QMK firmware + +on: [push, workflow_dispatch] + +permissions: + contents: write + +jobs: + build: + name: 'QMK Userspace Build' + uses: t4corun/.github/workflows/custom/qmk_userspace_build.yml + with: + qmk_repo: qmk/qmk_firmware + qmk_ref: master + + publish: + name: 'QMK Userspace Publish' + uses: qmk/.github/.github/workflows/qmk_userspace_publish.yml@main + if: always() && !cancelled() + needs: build diff --git a/.github/workflows/custom/qmk_userspace_build.yml b/.github/workflows/custom/qmk_userspace_build.yml new file mode 100644 index 00000000..9f6789eb --- /dev/null +++ b/.github/workflows/custom/qmk_userspace_build.yml @@ -0,0 +1,87 @@ +name: Build Non-Tree Keyboard Binaries + +on: + workflow_call: + inputs: + qmk_repo: + description: "qmk_firmware repo to build against" + default: "qmk/qmk_firmware" + required: false + type: string + qmk_ref: + description: "qmk_firmware branch to build against" + default: "master" + required: false + type: string + +permissions: + contents: write + +jobs: + build: + name: Build Userspace Firmware + runs-on: ubuntu-latest + container: qmkfm/base_container + + steps: + - name: Checkout Userspace + uses: actions/checkout@v3 + with: + token: ${{ github.token }} + submodules: recursive + + - name: Check if qmk_firmware exists + id: check_files + uses: andstor/file-existence-action@v2 + with: + files: qmk_firmware + + - name: Checkout QMK Firmware + uses: actions/checkout@v3 + if: steps.check_files.outputs.files_exists == 'false' + with: + token: ${{ github.token }} + path: qmk_firmware + repository: ${{ inputs.qmk_repo || 'qmk/qmk_firmware' }} + ref: ${{ inputs.qmk_ref || 'master' }} + submodules: recursive + + - name: Install QMK CLI + run: | + python3 -m pip install --upgrade qmk + python3 -m pip install -r qmk_firmware/requirements.txt + + - name: Configure QMK CLI + run: | + qmk config userspace_compile.parallel=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) + qmk config user.qmk_home=$GITHUB_WORKSPACE/qmk_firmware + qmk config user.overlay_dir=$GITHUB_WORKSPACE + + - name: Validate userspace + run: | + qmk userspace-doctor + + - name: Copy Non-Tree Keyboards to QMK Firmware + run: | + cp $GITHUB_WORKSPACE/keyboards/barbellboards $GITHUB_WORKSPACE/qmk_firmware/keyboards -R + + - name: Build + run: | + qmk userspace-compile -e DUMP_CI_METADATA=yes || touch .failed + # Generate the step summary markdown + ./qmk_firmware/util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true + # Truncate to a maximum of 1MB to deal with GitHub workflow limit + truncate --size='<960K' $GITHUB_STEP_SUMMARY || true + # Exit with failure if the compilation stage failed + [ ! -f .failed ] || exit 1 + + - name: Upload binaries + uses: actions/upload-artifact@v3 + if: always() && !cancelled() + continue-on-error: true + with: + name: Firmware + path: | + *.bin + *.hex + *.uf2 \ No newline at end of file diff --git a/qmk.json b/qmk.json index 7a387abd..591fb8d6 100644 --- a/qmk.json +++ b/qmk.json @@ -5,6 +5,7 @@ ["crkbd/rev1", "t4corun"], ["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"], ["planck/rev6", "t4corun"], - ["bluebell/swoop", "t4corun"] + ["bluebell/swoop", "t4corun"], + ["barbellboards/rollow", "t4corun"] ] } \ No newline at end of file From e71999ae0d85fb4f6530801a24f1dde6382988c4 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:06:44 -0500 Subject: [PATCH 04/60] Might be missing @main on the uses? --- .github/workflows/build_nontree_binaries.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index 8277e2f3..0f0d5d27 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -8,7 +8,7 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: t4corun/.github/workflows/custom/qmk_userspace_build.yml + uses: t4corun/.github/workflows/custom/qmk_userspace_build.yml@main with: qmk_repo: qmk/qmk_firmware qmk_ref: master From 1d5620a8df7505185f806a556ec6a566480011f5 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:22:58 -0500 Subject: [PATCH 05/60] moved custom build action to top level --- .github/workflows/build_nontree_binaries.yaml | 2 +- .github/workflows/{custom => }/qmk_userspace_build.yml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{custom => }/qmk_userspace_build.yml (100%) diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index 0f0d5d27..74ce808e 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -8,7 +8,7 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: t4corun/.github/workflows/custom/qmk_userspace_build.yml@main + uses: t4corun/.github/workflows/qmk_userspace_build.yml@main with: qmk_repo: qmk/qmk_firmware qmk_ref: master diff --git a/.github/workflows/custom/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml similarity index 100% rename from .github/workflows/custom/qmk_userspace_build.yml rename to .github/workflows/qmk_userspace_build.yml From 38354a64f52c0135910b40f3e5a7884496ff4581 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:24:29 -0500 Subject: [PATCH 06/60] Had the wrong path still - needed to be user/repo --- .github/workflows/build_nontree_binaries.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index 74ce808e..87d215fd 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -8,7 +8,7 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: t4corun/.github/workflows/qmk_userspace_build.yml@main + uses: t4corun/qmk_userspace/.github/workflows/qmk_userspace_build.yml@main with: qmk_repo: qmk/qmk_firmware qmk_ref: master From 2ce29dee5f2fdbd4db5a36c359e60701876cfc1b Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:25:12 -0500 Subject: [PATCH 07/60] updated it after reading the error again - used . instead of specifying --- .github/workflows/build_nontree_binaries.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index 87d215fd..64b1b132 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -8,7 +8,7 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: t4corun/qmk_userspace/.github/workflows/qmk_userspace_build.yml@main + uses: ./.github/workflows/qmk_userspace_build.yml@main with: qmk_repo: qmk/qmk_firmware qmk_ref: master From d4ba2911bf5713a546b6b86c9ea0c6ef86439d70 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 17:26:56 -0500 Subject: [PATCH 08/60] Can't specify version on local build action --- .github/workflows/build_nontree_binaries.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index 64b1b132..a6dfc5e4 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -8,7 +8,7 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: ./.github/workflows/qmk_userspace_build.yml@main + uses: ./.github/workflows/qmk_userspace_build.yml with: qmk_repo: qmk/qmk_firmware qmk_ref: master From 9fff1198975ec06a2259fe07d3e0353e4b5f3708 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 19:56:25 -0500 Subject: [PATCH 09/60] Adding configuration file to loop through --- .github/workflows/Configuration/keyboard_nontree.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/workflows/Configuration/keyboard_nontree.yaml diff --git a/.github/workflows/Configuration/keyboard_nontree.yaml b/.github/workflows/Configuration/keyboard_nontree.yaml new file mode 100644 index 00000000..e23d91ec --- /dev/null +++ b/.github/workflows/Configuration/keyboard_nontree.yaml @@ -0,0 +1,3 @@ +keyboard: + - 'barbellboards/rollow' + - 'planck' \ No newline at end of file From b30815e11c7b0ae25ce264ba26b93f6c077fc466 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:05:07 -0500 Subject: [PATCH 10/60] Added a loop to copy the boards listed in the config file --- .github/workflows/Configuration/keyboard_nontree.yaml | 2 +- .github/workflows/build_nontree_binaries.yaml | 1 + .github/workflows/qmk_userspace_build.yml | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Configuration/keyboard_nontree.yaml b/.github/workflows/Configuration/keyboard_nontree.yaml index e23d91ec..7812d86d 100644 --- a/.github/workflows/Configuration/keyboard_nontree.yaml +++ b/.github/workflows/Configuration/keyboard_nontree.yaml @@ -1,3 +1,3 @@ keyboard: - - 'barbellboards/rollow' + - 'barbellboards' - 'planck' \ No newline at end of file diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index a6dfc5e4..a2eb3ed9 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -12,6 +12,7 @@ jobs: with: qmk_repo: qmk/qmk_firmware qmk_ref: master + config-file: ./.github/workflows/Configuration/keyboard_nontree.yaml publish: name: 'QMK Userspace Publish' diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 9f6789eb..ee0e1112 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -63,7 +63,9 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - cp $GITHUB_WORKSPACE/keyboards/barbellboards $GITHUB_WORKSPACE/qmk_firmware/keyboards -R + for kb in '${keyboard[@]}'; do + cp $GITHUB_WORKSPACE/keyboards/$kb $GITHUB_WORKSPACE/qmk_firmware/keyboards -R + done - name: Build run: | From 271fdd466815117bdc5597ec68c6525d5f80164c Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:27:28 -0500 Subject: [PATCH 11/60] Converting target configuration to JSON file - added json file with copy targets - added a bunch of steps to load/parse hte json file - altered my copy command to loop through array --- .../Configuration/keyboard_nontree.yaml | 3 --- .github/workflows/build_nontree_binaries.yaml | 1 - .github/workflows/qmk_userspace_build.yml | 17 +++++++++++++++-- qmk_nontree.json | 6 ++++++ 4 files changed, 21 insertions(+), 6 deletions(-) delete mode 100644 .github/workflows/Configuration/keyboard_nontree.yaml create mode 100644 qmk_nontree.json diff --git a/.github/workflows/Configuration/keyboard_nontree.yaml b/.github/workflows/Configuration/keyboard_nontree.yaml deleted file mode 100644 index 7812d86d..00000000 --- a/.github/workflows/Configuration/keyboard_nontree.yaml +++ /dev/null @@ -1,3 +0,0 @@ -keyboard: - - 'barbellboards' - - 'planck' \ No newline at end of file diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml index a2eb3ed9..a6dfc5e4 100644 --- a/.github/workflows/build_nontree_binaries.yaml +++ b/.github/workflows/build_nontree_binaries.yaml @@ -12,7 +12,6 @@ jobs: with: qmk_repo: qmk/qmk_firmware qmk_ref: master - config-file: ./.github/workflows/Configuration/keyboard_nontree.yaml publish: name: 'QMK Userspace Publish' diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index ee0e1112..8813b5f2 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -61,10 +61,23 @@ jobs: run: | qmk userspace-doctor + - name: Install jq + run: sudo apt-get install jq + + - name: Import Non Tree Targets JSON file + id: read_file + run: cat $GITHUB_WORKSPACE/qmk-nontree.json + + - name: Parse Non Tree Targets JSON file + id: parse-json + run: echo "${{ steps.read_file.outputs.stdout }}" | jq -r '.nontree_targets[]' + - name: Copy Non-Tree Keyboards to QMK Firmware + id: loop-targets run: | - for kb in '${keyboard[@]}'; do - cp $GITHUB_WORKSPACE/keyboards/$kb $GITHUB_WORKSPACE/qmk_firmware/keyboards -R + for target in ${{ steps.parse-json.outputs.stdout }}; + do + cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R done - name: Build diff --git a/qmk_nontree.json b/qmk_nontree.json new file mode 100644 index 00000000..aa213527 --- /dev/null +++ b/qmk_nontree.json @@ -0,0 +1,6 @@ +{ + "nontree_targets": [ + "barbellboards", + "planck" + ] +} \ No newline at end of file From 9626dded9958ec018a62a6b7498dbc73f93ccb22 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:30:23 -0500 Subject: [PATCH 12/60] yup can't sudo --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 8813b5f2..7bf7b896 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -62,7 +62,7 @@ jobs: qmk userspace-doctor - name: Install jq - run: sudo apt-get install jq + run: apt-get install jq - name: Import Non Tree Targets JSON file id: read_file From c2647ab323ad8aaa5892f68890e6ad3328762953 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:35:08 -0500 Subject: [PATCH 13/60] remove the jq install. It might come prepackaged with ubuntu --- .github/workflows/qmk_userspace_build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 7bf7b896..c4cecba9 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -61,9 +61,6 @@ jobs: run: | qmk userspace-doctor - - name: Install jq - run: apt-get install jq - - name: Import Non Tree Targets JSON file id: read_file run: cat $GITHUB_WORKSPACE/qmk-nontree.json From c0e39be2640b058d59597e67189074caf5f08403 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:39:38 -0500 Subject: [PATCH 14/60] had the wrong filename - qmk_nontree.json not qmk-nontree.json --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index c4cecba9..3f9b334f 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -63,7 +63,7 @@ jobs: - name: Import Non Tree Targets JSON file id: read_file - run: cat $GITHUB_WORKSPACE/qmk-nontree.json + run: cat $GITHUB_WORKSPACE/qmk_nontree.json - name: Parse Non Tree Targets JSON file id: parse-json From 85ac73a75022de1f6e7b6bc3a6ac6ff886534ac1 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:47:40 -0500 Subject: [PATCH 15/60] adding jq install back --- .github/workflows/qmk_userspace_build.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 3f9b334f..b9bd028a 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -61,13 +61,20 @@ jobs: run: | qmk userspace-doctor + - name: Install jq + run: | + apt-get update + apt-get install jq + - name: Import Non Tree Targets JSON file id: read_file - run: cat $GITHUB_WORKSPACE/qmk_nontree.json + run: | + cat $GITHUB_WORKSPACE/qmk_nontree.json - name: Parse Non Tree Targets JSON file id: parse-json - run: echo "${{ steps.read_file.outputs.stdout }}" | jq -r '.nontree_targets[]' + run: | + echo "${{ steps.read_file.outputs.stdout }}" | jq -r '.nontree_targets[]' - name: Copy Non-Tree Keyboards to QMK Firmware id: loop-targets From b1d6961d20a8f53e99f8f948a6801a0ff063ee49 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:50:25 -0500 Subject: [PATCH 16/60] need to tell it to silently continue --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index b9bd028a..60c6d509 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -64,7 +64,7 @@ jobs: - name: Install jq run: | apt-get update - apt-get install jq + apt-get install jq -y - name: Import Non Tree Targets JSON file id: read_file From 6925059c2eea41d333970d6d673dfe0efb5fc5cd Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:56:44 -0500 Subject: [PATCH 17/60] adding a new way to parse json file per copilot --- .github/workflows/qmk_userspace_build.yml | 4 +++- qmk_nontree.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 60c6d509..735b2dd0 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -70,17 +70,19 @@ jobs: id: read_file run: | cat $GITHUB_WORKSPACE/qmk_nontree.json + echo "::set-output name=json::$(cat qmk-nontree.json)" - name: Parse Non Tree Targets JSON file id: parse-json run: | - echo "${{ steps.read_file.outputs.stdout }}" | jq -r '.nontree_targets[]' + echo "${{ steps.read-json.outputs.json }}" | jq -r '.nontree_targets[]' - name: Copy Non-Tree Keyboards to QMK Firmware id: loop-targets run: | for target in ${{ steps.parse-json.outputs.stdout }}; do + echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R done diff --git a/qmk_nontree.json b/qmk_nontree.json index aa213527..32684e03 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -1,5 +1,5 @@ { - "nontree_targets": [ + "nontree_targets": [ "barbellboards", "planck" ] From 47aedd68f4451d68d8eea2cd9d387de734664793 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 20:59:51 -0500 Subject: [PATCH 18/60] had hte wrong file again --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 735b2dd0..5ca08216 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -70,7 +70,7 @@ jobs: id: read_file run: | cat $GITHUB_WORKSPACE/qmk_nontree.json - echo "::set-output name=json::$(cat qmk-nontree.json)" + echo "::set-output name=json::$(cat qmk_nontree.json)" - name: Parse Non Tree Targets JSON file id: parse-json From 8a197b0f291512cb88c85f95d7c4086626d5f634 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:01:43 -0500 Subject: [PATCH 19/60] starting to get it - i see hte steps are referencing the id names, had to align them - added path for qmk_nontree.json --- .github/workflows/qmk_userspace_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 5ca08216..3ac41cf2 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -67,10 +67,10 @@ jobs: apt-get install jq -y - name: Import Non Tree Targets JSON file - id: read_file + id: read-json run: | cat $GITHUB_WORKSPACE/qmk_nontree.json - echo "::set-output name=json::$(cat qmk_nontree.json)" + echo "::set-output name=json::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" - name: Parse Non Tree Targets JSON file id: parse-json From 1685622dbd9731423f520e1d04c744a4633d55db Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:17:06 -0500 Subject: [PATCH 20/60] combining read and parse step into one --- .github/workflows/qmk_userspace_build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 3ac41cf2..d9fe422d 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,16 +66,10 @@ jobs: apt-get update apt-get install jq -y - - name: Import Non Tree Targets JSON file - id: read-json - run: | - cat $GITHUB_WORKSPACE/qmk_nontree.json - echo "::set-output name=json::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" - - name: Parse Non Tree Targets JSON file id: parse-json run: | - echo "${{ steps.read-json.outputs.json }}" | jq -r '.nontree_targets[]' + echo "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' - name: Copy Non-Tree Keyboards to QMK Firmware id: loop-targets From 52ed4e3e9e3e9b0f7326854f61469d386bb2ef99 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:26:25 -0500 Subject: [PATCH 21/60] combining it all into one step --- .github/workflows/qmk_userspace_build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index d9fe422d..a175fbfb 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,15 +66,9 @@ jobs: apt-get update apt-get install jq -y - - name: Parse Non Tree Targets JSON file - id: parse-json - run: | - echo "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' - - name: Copy Non-Tree Keyboards to QMK Firmware - id: loop-targets run: | - for target in ${{ steps.parse-json.outputs.stdout }}; + for target in $(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From ea7f571ef1fb8dbd4671546d25bd39abf406daf8 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:29:35 -0500 Subject: [PATCH 22/60] syntax - forgot a ' --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index a175fbfb..2f7c7741 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -68,7 +68,7 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in $(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]; + for target in $(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]'; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From e2f05844712299d08257512bb63fc927291db945 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:33:59 -0500 Subject: [PATCH 23/60] more syntax errors - had an extra " in there --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 2f7c7741..18d924d9 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -68,7 +68,7 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in $(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]'; + for target in "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 01e68016f6cd05e6acf28db184d4428abe7d385d Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:37:46 -0500 Subject: [PATCH 24/60] still trying - now trying to load a variable in the step - not trying to reference another step --- .github/workflows/qmk_userspace_build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 18d924d9..a3034dcb 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,9 +66,15 @@ jobs: apt-get update apt-get install jq -y + - name: Parse Non Tree Targets JSON file + id: parse-json + run: | + echo "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]; + echo "::set-output name=targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + for target in ${{ targets }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From a86ea2456497a64a87c4237bb1b5e65f3afb13d6 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:40:53 -0500 Subject: [PATCH 25/60] idunno --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index a3034dcb..ef57745b 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -73,7 +73,7 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - echo "::set-output name=targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + echo "::set-output name=targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json) | jq -r '.nontree_targets[]'" for target in ${{ targets }}; do echo "Copying keyboard: $target" From 73b0eeab077c0ac63b0c7068119276e65aae9cfa Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:48:04 -0500 Subject: [PATCH 26/60] trying something else to get it to work - going back to steps method - trying something i found on stack overflow --- .github/workflows/qmk_userspace_build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index ef57745b..d804babf 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -69,12 +69,12 @@ jobs: - name: Parse Non Tree Targets JSON file id: parse-json run: | - echo "$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + targets = $(cat $GITHUB_WORKSPACE/qmk_nontree.json) | jq -r '.nontree_targets[]' + echo "::set-output name=copy_targets::$targets" - name: Copy Non-Tree Keyboards to QMK Firmware run: | - echo "::set-output name=targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json) | jq -r '.nontree_targets[]'" - for target in ${{ targets }}; + for target in ${{ steps.parse-json.outputs.copy_targets }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 388919a4a0d6aac53c101840100387316676f527 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:54:33 -0500 Subject: [PATCH 27/60] adding debug statements --- .github/workflows/qmk_userspace_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index d804babf..3590cfcf 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -69,11 +69,12 @@ jobs: - name: Parse Non Tree Targets JSON file id: parse-json run: | - targets = $(cat $GITHUB_WORKSPACE/qmk_nontree.json) | jq -r '.nontree_targets[]' + targets=$( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' echo "::set-output name=copy_targets::$targets" - name: Copy Non-Tree Keyboards to QMK Firmware run: | + echo ${{ steps.parse-json.outputs.copy_targets }} for target in ${{ steps.parse-json.outputs.copy_targets }}; do echo "Copying keyboard: $target" From 85b89bc102881a01ed2846179fabeccb92f601a9 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 21:57:45 -0500 Subject: [PATCH 28/60] trying environment variables --- .github/workflows/qmk_userspace_build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 3590cfcf..5599b151 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -70,12 +70,12 @@ jobs: id: parse-json run: | targets=$( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' - echo "::set-output name=copy_targets::$targets" + echo "COPY_TARGETS=$targets" >> "$GITHUB_ENV" - name: Copy Non-Tree Keyboards to QMK Firmware run: | - echo ${{ steps.parse-json.outputs.copy_targets }} - for target in ${{ steps.parse-json.outputs.copy_targets }}; + echo $COPY_TARGETS + for target in $COPY_TARGETS; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From a9843281aa5c6cc2fd6cbadd102ff5cb0baf7625 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:02:57 -0500 Subject: [PATCH 29/60] trying again to do it all in one step --- .github/workflows/qmk_userspace_build.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 5599b151..f423f9c9 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,16 +66,11 @@ jobs: apt-get update apt-get install jq -y - - name: Parse Non Tree Targets JSON file - id: parse-json - run: | - targets=$( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' - echo "COPY_TARGETS=$targets" >> "$GITHUB_ENV" - - name: Copy Non-Tree Keyboards to QMK Firmware run: | - echo $COPY_TARGETS - for target in $COPY_TARGETS; + targets=$( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' + echo $targets + for target in $targets; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 7ec61a98b8194f52d2742c3479909efc01cec458 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:07:24 -0500 Subject: [PATCH 30/60] adding more debug --- .github/workflows/qmk_userspace_build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index f423f9c9..c29cbcad 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -68,8 +68,11 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - targets=$( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' + targets = $( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' + targets2 = "$( cat $GITHUB_WORKSPACE/qmk_nontree.json )" | jq -r '.nontree_targets[]' echo $targets + echo "$( cat $GITHUB_WORKSPACE/qmk_nontree.json )" | jq -r '.nontree_targets[]' + echo $targets2 for target in $targets; do echo "Copying keyboard: $target" From 316f8de5de19ad92b4f83bf1970fdebfb653c4c1 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:18:42 -0500 Subject: [PATCH 31/60] trying whatever at this point --- .github/workflows/qmk_userspace_build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index c29cbcad..5396ee0f 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,14 +66,14 @@ jobs: apt-get update apt-get install jq -y + - name: Parse Non Tree Targets JSON file + id: parse-json + run: | + echo "::set-output name=copy_targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + - name: Copy Non-Tree Keyboards to QMK Firmware run: | - targets = $( cat $GITHUB_WORKSPACE/qmk_nontree.json ) | jq -r '.nontree_targets[]' - targets2 = "$( cat $GITHUB_WORKSPACE/qmk_nontree.json )" | jq -r '.nontree_targets[]' - echo $targets - echo "$( cat $GITHUB_WORKSPACE/qmk_nontree.json )" | jq -r '.nontree_targets[]' - echo $targets2 - for target in $targets; + for target in ${{ join(fromJSON(steps.parse-json.outputs.copy_targets).nontree_targets, ' ') }} do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 311e368ea2aa24891218741de74d52b1eb1ce6b0 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:22:41 -0500 Subject: [PATCH 32/60] adfads --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 5396ee0f..70a52da4 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -73,7 +73,7 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in ${{ join(fromJSON(steps.parse-json.outputs.copy_targets).nontree_targets, ' ') }} + for target in ${{ (steps.parse-json.outputs.stdout }} do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 65e9fbf50df9ffe0fc6cc031140d72ecc96ddabd Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:23:25 -0500 Subject: [PATCH 33/60] bitch - forgot semicolon --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 70a52da4..ebac69d4 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -73,7 +73,7 @@ jobs: - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in ${{ (steps.parse-json.outputs.stdout }} + for target in ${{ join(fromJSON(steps.parse-json.outputs.copy_targets).nontree_targets, ' ') }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From 217008bfbdec09a53540d0a735b57955d3032f55 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:29:49 -0500 Subject: [PATCH 34/60] trying something different --- .github/workflows/qmk_userspace_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index ebac69d4..b56c5210 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -69,7 +69,8 @@ jobs: - name: Parse Non Tree Targets JSON file id: parse-json run: | - echo "::set-output name=copy_targets::$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + targets="$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' + echo $targets - name: Copy Non-Tree Keyboards to QMK Firmware run: | From 611b7bfd58e9a0ca48502627f7e19d2e36cc5e84 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:34:51 -0500 Subject: [PATCH 35/60] another variation of the environment variable --- .github/workflows/qmk_userspace_build.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index b56c5210..6b26abb3 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,15 +66,19 @@ jobs: apt-get update apt-get install jq -y - - name: Parse Non Tree Targets JSON file - id: parse-json + - name: Read Non Tree Targets from JSON file run: | - targets="$(cat $GITHUB_WORKSPACE/qmk_nontree.json)" | jq -r '.nontree_targets[]' - echo $targets + echo 'JSON_FILE<> $GITHUB_ENV + cat $GITHUB_WORKSPACE/qmk_nontree.json >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV + + - name: Parse Non Tree Targets JSON file + run: | + echo ${{ fromJson(env.JSON_FILE).nontree_targets }} - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in ${{ join(fromJSON(steps.parse-json.outputs.copy_targets).nontree_targets, ' ') }}; + for target in ${{ fromJson(env.JSON_FILE).nontree_targets }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From d489621ca2756e4ee17f2b04f14ec107646ba374 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:49:33 -0500 Subject: [PATCH 36/60] added new line to end of file --- qmk_nontree.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmk_nontree.json b/qmk_nontree.json index 32684e03..9b633a1f 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -3,4 +3,4 @@ "barbellboards", "planck" ] -} \ No newline at end of file +} From a4ba4d82b42df242f75491626bc0776e39709e9d Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 22:57:44 -0500 Subject: [PATCH 37/60] debug - only outputting first element --- .github/workflows/qmk_userspace_build.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 6b26abb3..731710b3 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -68,13 +68,15 @@ jobs: - name: Read Non Tree Targets from JSON file run: | - echo 'JSON_FILE<> $GITHUB_ENV - cat $GITHUB_WORKSPACE/qmk_nontree.json >> $GITHUB_ENV - echo 'EOF' >> $GITHUB_ENV + { + echo 'JSON_FILE<> "$GITHUB_ENV" - name: Parse Non Tree Targets JSON file run: | - echo ${{ fromJson(env.JSON_FILE).nontree_targets }} + echo ${{ fromJson(env.JSON_FILE).nontree_targets[0] }} - name: Copy Non-Tree Keyboards to QMK Firmware run: | From 713e7f68276ee1a62b2c0ec2b4e46f25b1ccfa2e Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:01:36 -0500 Subject: [PATCH 38/60] trying at sign --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 731710b3..f328758e 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -76,7 +76,7 @@ jobs: - name: Parse Non Tree Targets JSON file run: | - echo ${{ fromJson(env.JSON_FILE).nontree_targets[0] }} + echo ${{ fromJson(env.JSON_FILE).nontree_targets[@] }} - name: Copy Non-Tree Keyboards to QMK Firmware run: | From 6f9ce2d9010c374f5101edd04f1d758742c259ec Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:04:09 -0500 Subject: [PATCH 39/60] more trying --- .github/workflows/qmk_userspace_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index f328758e..efd148cc 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -76,11 +76,11 @@ jobs: - name: Parse Non Tree Targets JSON file run: | - echo ${{ fromJson(env.JSON_FILE).nontree_targets[@] }} + echo ${{ fromJson(env.JSON_FILE).nontree_targets }} - name: Copy Non-Tree Keyboards to QMK Firmware run: | - for target in ${{ fromJson(env.JSON_FILE).nontree_targets }}; + for target in ${{ join(fromJson(env.JSON_FILE).nontree_targets, ' ') }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From cd69fb384b4587fdeb081d022579361d5b4bb051 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:11:29 -0500 Subject: [PATCH 40/60] cleanup - no longer have two separate build actions files - made variable names more clear - able to parse the array properly now and copy the files - non-tree boards are able to compile --- .github/workflows/build_binaries.yaml | 3 ++- .github/workflows/build_nontree_binaries.yaml | 20 ------------------- .github/workflows/qmk_userspace_build.yml | 10 +++------- 3 files changed, 5 insertions(+), 28 deletions(-) delete mode 100644 .github/workflows/build_nontree_binaries.yaml diff --git a/.github/workflows/build_binaries.yaml b/.github/workflows/build_binaries.yaml index f7908fad..876880ab 100755 --- a/.github/workflows/build_binaries.yaml +++ b/.github/workflows/build_binaries.yaml @@ -8,7 +8,8 @@ permissions: jobs: build: name: 'QMK Userspace Build' - uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@main + #uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@main + uses: ./.github/workflows/qmk_userspace_build.yml with: qmk_repo: qmk/qmk_firmware qmk_ref: master diff --git a/.github/workflows/build_nontree_binaries.yaml b/.github/workflows/build_nontree_binaries.yaml deleted file mode 100644 index a6dfc5e4..00000000 --- a/.github/workflows/build_nontree_binaries.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: Build Non-Tree QMK firmware - -on: [push, workflow_dispatch] - -permissions: - contents: write - -jobs: - build: - name: 'QMK Userspace Build' - uses: ./.github/workflows/qmk_userspace_build.yml - with: - qmk_repo: qmk/qmk_firmware - qmk_ref: master - - publish: - name: 'QMK Userspace Publish' - uses: qmk/.github/.github/workflows/qmk_userspace_publish.yml@main - if: always() && !cancelled() - needs: build diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index efd148cc..71950a09 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -69,18 +69,14 @@ jobs: - name: Read Non Tree Targets from JSON file run: | { - echo 'JSON_FILE<> "$GITHUB_ENV" - - name: Parse Non Tree Targets JSON file + - name: Copy Non-Tree Keyboard Defintions from Userspace to QMK Firmware run: | - echo ${{ fromJson(env.JSON_FILE).nontree_targets }} - - - name: Copy Non-Tree Keyboards to QMK Firmware - run: | - for target in ${{ join(fromJson(env.JSON_FILE).nontree_targets, ' ') }}; + for target in ${{ join(fromJson(env.COPY_TARGETS).nontree_targets, ' ') }}; do echo "Copying keyboard: $target" cp $GITHUB_WORKSPACE/keyboards/$target $GITHUB_WORKSPACE/qmk_firmware/keyboards -R From ee19193693059940b46d42b4bf40c37c77c8003e Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:14:12 -0500 Subject: [PATCH 41/60] removed jq install. this is not needed anymore --- .github/workflows/qmk_userspace_build.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 71950a09..4a6b94f5 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -61,11 +61,6 @@ jobs: run: | qmk userspace-doctor - - name: Install jq - run: | - apt-get update - apt-get install jq -y - - name: Read Non Tree Targets from JSON file run: | { From 3a89a16cf2c664bfaa89236960a6782dd048f010 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:17:36 -0500 Subject: [PATCH 42/60] cleanup and added check for json file --- .github/workflows/qmk_userspace_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 4a6b94f5..966113c7 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -61,7 +61,8 @@ jobs: run: | qmk userspace-doctor - - name: Read Non Tree Targets from JSON file + - name: Read Non-Tree Targets from JSON file + if: ${{ hashFiles( $GITHUB_WORKSPACE/qmk_nontree.json ) != '' }} run: | { echo 'COPY_TARGETS< Date: Wed, 10 Apr 2024 23:26:23 -0500 Subject: [PATCH 43/60] testing - renamed json file to make it appear its not there - ignore errors with cat command --- .github/workflows/qmk_userspace_build.yml | 4 ++-- qmk_nontree.json => qmk_nontree2.json | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename qmk_nontree.json => qmk_nontree2.json (100%) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 966113c7..e6081d25 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -62,11 +62,11 @@ jobs: qmk userspace-doctor - name: Read Non-Tree Targets from JSON file - if: ${{ hashFiles( $GITHUB_WORKSPACE/qmk_nontree.json ) != '' }} + if: steps.check_json_file.outputs.files_exists == 'true' run: | { echo 'COPY_TARGETS</dev/null echo 'EOF' } >> "$GITHUB_ENV" diff --git a/qmk_nontree.json b/qmk_nontree2.json similarity index 100% rename from qmk_nontree.json rename to qmk_nontree2.json From 1e368b97672aa6df4574dfc9d2f44dce5709c2df Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:31:42 -0500 Subject: [PATCH 44/60] added a check to ensure environment variable is set before trying to process it --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index e6081d25..67f72a16 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -62,7 +62,6 @@ jobs: qmk userspace-doctor - name: Read Non-Tree Targets from JSON file - if: steps.check_json_file.outputs.files_exists == 'true' run: | { echo 'COPY_TARGETS<> "$GITHUB_ENV" - name: Copy Non-Tree Keyboard Defintions from Userspace to QMK Firmware + if: ${{ env.COPY_TARGETS == '' }} run: | for target in ${{ join(fromJson(env.COPY_TARGETS).nontree_targets, ' ') }}; do From c2f70c7b6a52dc4705b339cb2b87d29b3eeeb765 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:35:07 -0500 Subject: [PATCH 45/60] maybe extra echo will work --- .github/workflows/qmk_userspace_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 67f72a16..3e5df974 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,6 +66,7 @@ jobs: { echo 'COPY_TARGETS</dev/null + echo echo 'EOF' } >> "$GITHUB_ENV" From f8b7f503ed8f030144e9247c08b2b0f59b3ae241 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:37:59 -0500 Subject: [PATCH 46/60] trying echo '' --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 3e5df974..e1fc45af 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -66,7 +66,7 @@ jobs: { echo 'COPY_TARGETS</dev/null - echo + echo '' echo 'EOF' } >> "$GITHUB_ENV" From 31068f54067a575daca704f44d5c0cbd77ccc0e2 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:45:13 -0500 Subject: [PATCH 47/60] adding file check --- .github/workflows/qmk_userspace_build.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index e1fc45af..d8e8c63e 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -13,6 +13,11 @@ on: default: "master" required: false type: string + qmk_nontree_json: + description: "json file containing non-tree keyboards" + default: "$GITHUB_WORKSPACE/qmk_nontree.json" + required: false + type: string permissions: contents: write @@ -61,17 +66,23 @@ jobs: run: | qmk userspace-doctor + - name: Check if non-tree keyboard json file exists + id: check_json_files + uses: andstor/file-existence-action@v2 + with: + files: ${{ inputs.qmk_nontree_json }} + - name: Read Non-Tree Targets from JSON file + if: steps.check_json_files.outputs.files_exists == 'true' run: | { echo 'COPY_TARGETS</dev/null - echo '' + cat ${{ inputs.qmk_nontree_json }} echo 'EOF' } >> "$GITHUB_ENV" - name: Copy Non-Tree Keyboard Defintions from Userspace to QMK Firmware - if: ${{ env.COPY_TARGETS == '' }} + if: steps.check_json_files.outputs.files_exists == 'true' run: | for target in ${{ join(fromJson(env.COPY_TARGETS).nontree_targets, ' ') }}; do From d69706ad035e8d3c608864a9f2bf5511f2e41c9c Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:47:23 -0500 Subject: [PATCH 48/60] adding json file back --- qmk_nontree2.json => qmk_nontree.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename qmk_nontree2.json => qmk_nontree.json (100%) diff --git a/qmk_nontree2.json b/qmk_nontree.json similarity index 100% rename from qmk_nontree2.json rename to qmk_nontree.json From 96cc821a58539c29502584ac832c99c4ff6c10dc Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:50:37 -0500 Subject: [PATCH 49/60] Fixing typos, and var names --- .github/workflows/qmk_userspace_build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index d8e8c63e..57f2e7e9 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -15,7 +15,7 @@ on: type: string qmk_nontree_json: description: "json file containing non-tree keyboards" - default: "$GITHUB_WORKSPACE/qmk_nontree.json" + default: "qmk_nontree.json" required: false type: string @@ -70,18 +70,18 @@ jobs: id: check_json_files uses: andstor/file-existence-action@v2 with: - files: ${{ inputs.qmk_nontree_json }} + files: $GITHUB_WORKSPACE/${{ inputs.qmk_nontree_json }} - name: Read Non-Tree Targets from JSON file if: steps.check_json_files.outputs.files_exists == 'true' run: | { echo 'COPY_TARGETS<> "$GITHUB_ENV" - - name: Copy Non-Tree Keyboard Defintions from Userspace to QMK Firmware + - name: Copy Non-Tree Keyboard Definitions from Userspace to QMK Firmware if: steps.check_json_files.outputs.files_exists == 'true' run: | for target in ${{ join(fromJson(env.COPY_TARGETS).nontree_targets, ' ') }}; From e13bd6052db7e5de5d03bcc22c928a37a9fcfdf1 Mon Sep 17 00:00:00 2001 From: Victor Date: Wed, 10 Apr 2024 23:56:22 -0500 Subject: [PATCH 50/60] removing path to json file name --- .github/workflows/qmk_userspace_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index 57f2e7e9..ebe27677 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -70,7 +70,7 @@ jobs: id: check_json_files uses: andstor/file-existence-action@v2 with: - files: $GITHUB_WORKSPACE/${{ inputs.qmk_nontree_json }} + files: ${{ inputs.qmk_nontree_json }} - name: Read Non-Tree Targets from JSON file if: steps.check_json_files.outputs.files_exists == 'true' From db235f87081a55e0ce7b86778ce98136de9011a1 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 00:01:41 -0500 Subject: [PATCH 51/60] test case 2 - remove the new line at hte end and see if code handles it --- .github/workflows/qmk_userspace_build.yml | 1 + qmk_nontree.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/qmk_userspace_build.yml b/.github/workflows/qmk_userspace_build.yml index ebe27677..7905cb1b 100644 --- a/.github/workflows/qmk_userspace_build.yml +++ b/.github/workflows/qmk_userspace_build.yml @@ -78,6 +78,7 @@ jobs: { echo 'COPY_TARGETS<> "$GITHUB_ENV" diff --git a/qmk_nontree.json b/qmk_nontree.json index 9b633a1f..32684e03 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -3,4 +3,4 @@ "barbellboards", "planck" ] -} +} \ No newline at end of file From 08921a205fb5d8df0b684b5f38f77f9747789575 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 00:04:13 -0500 Subject: [PATCH 52/60] added newline back to json --- qmk_nontree.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmk_nontree.json b/qmk_nontree.json index 32684e03..9b633a1f 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -3,4 +3,4 @@ "barbellboards", "planck" ] -} \ No newline at end of file +} From eca4fb90e5747e02577ad9394703ad8f437cebe7 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 00:07:31 -0500 Subject: [PATCH 53/60] adding empty array json to see if the json part will fail --- qmk_nontree copy.json | 6 ++++++ qmk_nontree.json | 5 +---- 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 qmk_nontree copy.json diff --git a/qmk_nontree copy.json b/qmk_nontree copy.json new file mode 100644 index 00000000..9b633a1f --- /dev/null +++ b/qmk_nontree copy.json @@ -0,0 +1,6 @@ +{ + "nontree_targets": [ + "barbellboards", + "planck" + ] +} diff --git a/qmk_nontree.json b/qmk_nontree.json index 9b633a1f..39fe1246 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -1,6 +1,3 @@ { - "nontree_targets": [ - "barbellboards", - "planck" - ] + "nontree_targets": [] } From a85a303e7020b56d1e0f06713404a60757d76b9d Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 00:08:03 -0500 Subject: [PATCH 54/60] removed rollow from json so the build will pass during test --- qmk.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qmk.json b/qmk.json index 591fb8d6..7a387abd 100644 --- a/qmk.json +++ b/qmk.json @@ -5,7 +5,6 @@ ["crkbd/rev1", "t4corun"], ["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"], ["planck/rev6", "t4corun"], - ["bluebell/swoop", "t4corun"], - ["barbellboards/rollow", "t4corun"] + ["bluebell/swoop", "t4corun"] ] } \ No newline at end of file From b7596b771bc3d3d70a82735eacf7fbba1f7bc14f Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 08:30:36 -0500 Subject: [PATCH 55/60] Removing property to see what happens --- qmk_nontree.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmk_nontree.json b/qmk_nontree.json index 39fe1246..0cc1d077 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -1,3 +1,3 @@ { - "nontree_targets": [] + "nontree_targets2": [] } From ebeb1ec460e517b80156c846dc8237dca4a9c698 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 09:17:03 -0500 Subject: [PATCH 56/60] Undoing the test cases as everything tested good - Negative conditions do not cause the action to fail - The `nontree_targets` property exists but array is empty - The `nontree_targets` property does not exist - If the JSON file does not end with a new line - If the JSON file does not exist - Negative conditions that will result in a action failure - build step fails reporting the keyboard cannot be found after the non-tree keyboard definition not copying from any of above scenarios - If a the array has an entry that results in copy error; file/folder not found --- qmk_nontree copy.json | 6 ------ qmk_nontree.json | 5 ++++- 2 files changed, 4 insertions(+), 7 deletions(-) delete mode 100644 qmk_nontree copy.json diff --git a/qmk_nontree copy.json b/qmk_nontree copy.json deleted file mode 100644 index 9b633a1f..00000000 --- a/qmk_nontree copy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "nontree_targets": [ - "barbellboards", - "planck" - ] -} diff --git a/qmk_nontree.json b/qmk_nontree.json index 0cc1d077..9b633a1f 100644 --- a/qmk_nontree.json +++ b/qmk_nontree.json @@ -1,3 +1,6 @@ { - "nontree_targets2": [] + "nontree_targets": [ + "barbellboards", + "planck" + ] } From 12442321591fd51bdf716911455b192ba354d03b Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 09:21:31 -0500 Subject: [PATCH 57/60] Forgot to add the rollow back to the qmk.json file --- qmk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qmk.json b/qmk.json index 7a387abd..591fb8d6 100644 --- a/qmk.json +++ b/qmk.json @@ -5,6 +5,7 @@ ["crkbd/rev1", "t4corun"], ["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"], ["planck/rev6", "t4corun"], - ["bluebell/swoop", "t4corun"] + ["bluebell/swoop", "t4corun"], + ["barbellboards/rollow", "t4corun"] ] } \ No newline at end of file From efed5396ba81102ec6a94b472f8a346746510e30 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 21:49:31 -0500 Subject: [PATCH 58/60] Going to use sea-picro, not blok - https://github.com/joshajohnson/sea-picro says its identical to sparkfun --- keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk b/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk index d5ca9e7b..3f8d5a5c 100644 --- a/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/rules.mk @@ -3,4 +3,4 @@ OLED_ENABLE = yes # override keyboard defaults # keyboards\barbellboards\rollow\rules.mk -CONVERT_TO = blok \ No newline at end of file +CONVERT_TO = promicro_rp2040 \ No newline at end of file From 64f90da9c63a350e17a578cd9832912924c65aac Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 22:16:57 -0500 Subject: [PATCH 59/60] fixing bugs in the rollow configuration - enabling extra keys by default to rollow - forcing extrqa keys to be on in the userspace rules.mk --- keyboards/barbellboards/rollow/info.json | 185 ++++++++++++----------- users/t4corun/rules.mk | 3 + 2 files changed, 100 insertions(+), 88 deletions(-) diff --git a/keyboards/barbellboards/rollow/info.json b/keyboards/barbellboards/rollow/info.json index b72e8c86..7255c291 100644 --- a/keyboards/barbellboards/rollow/info.json +++ b/keyboards/barbellboards/rollow/info.json @@ -15,9 +15,13 @@ "diode_direction": "COL2ROW", "features": { "bootmagic": true, + "extrakey": true, "encoder": true, "oled": true - }, + }, + "build": { + "lto": true + }, "encoder": { "rotary": [ { @@ -40,111 +44,116 @@ } ] } + }, + "transport": { + "sync": { + "matrix_state": true + } } }, "processor": "atmega32u4", "bootloader": "caterina", "community_layouts": [ "split_3x5_3", "split_3x6_3" ], "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"matrix": [0, 1], "x": 0, "y": 0.3}, - {"matrix": [0, 2], "x": 1, "y": 0.1}, - {"matrix": [0, 3], "x": 2, "y": 0}, - {"matrix": [0, 4], "x": 3, "y": 0.1}, - {"matrix": [0, 5], "x": 4, "y": 0.2}, + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0.3}, + {"matrix": [0, 2], "x": 1, "y": 0.1}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0.1}, + {"matrix": [0, 5], "x": 4, "y": 0.2}, - {"matrix": [4, 5], "x": 8, "y": 0.2}, - {"matrix": [4, 4], "x": 9, "y": 0.1}, - {"matrix": [4, 3], "x": 10, "y": 0}, - {"matrix": [4, 2], "x": 11, "y": 0.1}, - {"matrix": [4, 1], "x": 12, "y": 0.3}, + {"matrix": [4, 5], "x": 8, "y": 0.2}, + {"matrix": [4, 4], "x": 9, "y": 0.1}, + {"matrix": [4, 3], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0.1}, + {"matrix": [4, 1], "x": 12, "y": 0.3}, - {"matrix": [1, 1], "x": 0, "y": 1.3}, - {"matrix": [1, 2], "x": 1, "y": 1.1}, - {"matrix": [1, 3], "x": 2, "y": 1}, - {"matrix": [1, 4], "x": 3, "y": 1.1}, - {"matrix": [1, 5], "x": 4, "y": 1.2}, + {"matrix": [1, 1], "x": 0, "y": 1.3}, + {"matrix": [1, 2], "x": 1, "y": 1.1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1.1}, + {"matrix": [1, 5], "x": 4, "y": 1.2}, - {"matrix": [5, 5], "x": 8, "y": 1.2}, - {"matrix": [5, 4], "x": 9, "y": 1.1}, - {"matrix": [5, 3], "x": 10, "y": 1}, - {"matrix": [5, 2], "x": 11, "y": 1.1}, - {"matrix": [5, 1], "x": 12, "y": 1.3}, + {"matrix": [5, 5], "x": 8, "y": 1.2}, + {"matrix": [5, 4], "x": 9, "y": 1.1}, + {"matrix": [5, 3], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1.1}, + {"matrix": [5, 1], "x": 12, "y": 1.3}, - {"matrix": [2, 1], "x": 0, "y": 2.3}, - {"matrix": [2, 2], "x": 1, "y": 2.1}, - {"matrix": [2, 3], "x": 2, "y": 2}, - {"matrix": [2, 4], "x": 3, "y": 2.1}, - {"matrix": [2, 5], "x": 4, "y": 2.2}, + {"matrix": [2, 1], "x": 0, "y": 2.3}, + {"matrix": [2, 2], "x": 1, "y": 2.1}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2.1}, + {"matrix": [2, 5], "x": 4, "y": 2.2}, - {"matrix": [6, 5], "x": 8, "y": 2.2}, - {"matrix": [6, 4], "x": 9, "y": 2.1}, - {"matrix": [6, 3], "x": 10, "y": 2}, - {"matrix": [6, 2], "x": 11, "y": 2.1}, - {"matrix": [6, 1], "x": 12, "y": 2.3}, + {"matrix": [6, 5], "x": 8, "y": 2.2}, + {"matrix": [6, 4], "x": 9, "y": 2.1}, + {"matrix": [6, 3], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2.1}, + {"matrix": [6, 1], "x": 12, "y": 2.3}, - {"matrix": [3, 3], "x": 3, "y": 3.7}, - {"matrix": [3, 4], "x": 4, "y": 3.7}, - {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, + {"matrix": [3, 3], "x": 3, "y": 3.7}, + {"matrix": [3, 4], "x": 4, "y": 3.7}, + {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5}, - {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, - {"matrix": [7, 4], "x": 8, "y": 3.7}, - {"matrix": [7, 3], "x": 9, "y": 3.7} - ] - }, - "LAYOUT_split_3x6_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.3}, - {"matrix": [0, 1], "x": 1, "y": 0.3}, - {"matrix": [0, 2], "x": 2, "y": 0.1}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0.1}, - {"matrix": [0, 5], "x": 5, "y": 0.2}, + {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 8, "y": 3.7}, + {"matrix": [7, 3], "x": 9, "y": 3.7} + ] + }, + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.3}, + {"matrix": [0, 1], "x": 1, "y": 0.3}, + {"matrix": [0, 2], "x": 2, "y": 0.1}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.1}, + {"matrix": [0, 5], "x": 5, "y": 0.2}, - {"matrix": [4, 5], "x": 9, "y": 0.2}, - {"matrix": [4, 4], "x": 10, "y": 0.1}, - {"matrix": [4, 3], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0.1}, - {"matrix": [4, 1], "x": 13, "y": 0.3}, - {"matrix": [4, 0], "x": 14, "y": 0.3}, + {"matrix": [4, 5], "x": 9, "y": 0.2}, + {"matrix": [4, 4], "x": 10, "y": 0.1}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0.1}, + {"matrix": [4, 1], "x": 13, "y": 0.3}, + {"matrix": [4, 0], "x": 14, "y": 0.3}, - {"matrix": [1, 0], "x": 0, "y": 1.3}, - {"matrix": [1, 1], "x": 1, "y": 1.3}, - {"matrix": [1, 2], "x": 2, "y": 1.1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1.1}, - {"matrix": [1, 5], "x": 5, "y": 1.2}, + {"matrix": [1, 0], "x": 0, "y": 1.3}, + {"matrix": [1, 1], "x": 1, "y": 1.3}, + {"matrix": [1, 2], "x": 2, "y": 1.1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.1}, + {"matrix": [1, 5], "x": 5, "y": 1.2}, - {"matrix": [5, 5], "x": 9, "y": 1.2}, - {"matrix": [5, 4], "x": 10, "y": 1.1}, - {"matrix": [5, 3], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1.1}, - {"matrix": [5, 1], "x": 13, "y": 1.3}, - {"matrix": [5, 0], "x": 14, "y": 1.3}, + {"matrix": [5, 5], "x": 9, "y": 1.2}, + {"matrix": [5, 4], "x": 10, "y": 1.1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1.1}, + {"matrix": [5, 1], "x": 13, "y": 1.3}, + {"matrix": [5, 0], "x": 14, "y": 1.3}, - {"matrix": [2, 0], "x": 0, "y": 2.3}, - {"matrix": [2, 1], "x": 1, "y": 2.3}, - {"matrix": [2, 2], "x": 2, "y": 2.1}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2.1}, - {"matrix": [2, 5], "x": 5, "y": 2.2}, + {"matrix": [2, 0], "x": 0, "y": 2.3}, + {"matrix": [2, 1], "x": 1, "y": 2.3}, + {"matrix": [2, 2], "x": 2, "y": 2.1}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.1}, + {"matrix": [2, 5], "x": 5, "y": 2.2}, - {"matrix": [6, 5], "x": 9, "y": 2.2}, - {"matrix": [6, 4], "x": 10, "y": 2.1}, - {"matrix": [6, 3], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2.1}, - {"matrix": [6, 1], "x": 13, "y": 2.3}, - {"matrix": [6, 0], "x": 14, "y": 2.3}, + {"matrix": [6, 5], "x": 9, "y": 2.2}, + {"matrix": [6, 4], "x": 10, "y": 2.1}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2.1}, + {"matrix": [6, 1], "x": 13, "y": 2.3}, + {"matrix": [6, 0], "x": 14, "y": 2.3}, - {"matrix": [3, 3], "x": 4, "y": 3.7}, - {"matrix": [3, 4], "x": 5, "y": 3.7}, - {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, + {"matrix": [3, 3], "x": 4, "y": 3.7}, + {"matrix": [3, 4], "x": 5, "y": 3.7}, + {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5}, - {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, - {"matrix": [7, 4], "x": 9, "y": 3.7}, - {"matrix": [7, 3], "x": 10, "y": 3.7} - ] - } - } + {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5}, + {"matrix": [7, 4], "x": 9, "y": 3.7}, + {"matrix": [7, 3], "x": 10, "y": 3.7} + ] + } + } } \ No newline at end of file diff --git a/users/t4corun/rules.mk b/users/t4corun/rules.mk index cc3a6a6e..298b1351 100644 --- a/users/t4corun/rules.mk +++ b/users/t4corun/rules.mk @@ -9,6 +9,8 @@ # # ?= means set the value if its not defined elsewhere + + LTO_ENABLE ?= yes MAGIC_ENABLE ?= no CONSOLE_ENABLE ?= no @@ -26,6 +28,7 @@ ENCODER_ENABLE ?= no ENCODER_MAP_ENABLE ?= no # qmk features we will force +EXTRAKEY_ENABLE = yes AUDIO_ENABLE = no CAPS_WORD_ENABLE = yes MOUSEKEY_ENABLE = yes From 7bb74401e1813603e58b9152374228e25d14762b Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Apr 2024 22:30:25 -0500 Subject: [PATCH 60/60] Adjusted encoder mappings - THings were backwards and not intuitive --- .../rollow/keymaps/t4corun/keymap.c | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c index 370cabff..637d6cf4 100644 --- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c @@ -37,15 +37,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* may have to swap the hands in this array since we do right side master*/ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_DEFAULT_LAYER_1 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, vol up and down - [_DEFAULT_LAYER_2 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, vol up and down - [_DEFAULT_LAYER_3 ] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, xx,xx - [_NAVIGATION] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, xx,xx - [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, //xx,xx left and right - [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, //xx,xx xx,xx - [_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_UP, KC_DOWN) }, //xx,xx up and down - [_MOUSE] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, ??,?? - [_GAME_NUM] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, //wheel up, wheel down, xx,xx - [_CONFIG] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(___x___, ___x___) }, //maybe rgb functionality? + [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, //wheel up, wheel down, vol up and down + [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, //wheel up, wheel down, vol up and down + [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, //wheel up, wheel down, xx,xx + [_NAVIGATION] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, xx,xx + [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, //xx,xx left and right + [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, //xx,xx xx,xx + [_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, //xx,xx up and down + [_MOUSE] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(___x___, ___x___) }, //wheel up, wheel down, ??,?? + [_GAME_NUM] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, //wheel up, wheel down, xx,xx + [_CONFIG] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(___x___, ___x___) }, //maybe rgb functionality? }; #endif \ No newline at end of file