Merge remote-tracking branch 'upstream/master' into develop

This commit is contained in:
fauxpark 2023-03-29 16:00:41 +11:00
commit 9602938e9e
20 changed files with 690 additions and 1339 deletions

View File

@ -39,7 +39,11 @@ jobs:
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
run: |
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }}
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes
# Generate the step summary markdown
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
truncate --size='<960K' $GITHUB_STEP_SUMMARY
- name: 'Upload artifacts'
uses: actions/upload-artifact@v3

View File

@ -29,6 +29,11 @@ KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
ifeq ($(strip $(DUMP_CI_METADATA)),yes)
$(info CI Metadata: KEYBOARD=$(KEYBOARD))
$(info CI Metadata: KEYMAP=$(KEYMAP))
endif
# Force expansion
TARGET := $(TARGET)

View File

@ -37,31 +37,4 @@
{ k60, k61, k62, k63, k64 }, \
{ k70, KC_NO, k72, KC_NO, KC_NO }, \
}
/**
* \brief Compatibility layout with the split_3x5_3 community layout.
*
* This effectively renders the Charbdis Nano compatible with existing layout
* implementations relying on the `split_3x5_3` layout, which includes, among
* others, Manna-Harbour's (@manna_harbour) Miryoku layout.
*
* The last key on the layout is ignored, to transform the input 36-keys layout
* into the Charybdis Nano's 35-keys layout.
*/
#define LAYOUT_split_3x5_3( \
k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \
k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \
k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \
k32, k33, k30, k70, k72, ___ \
) \
{ \
{ k00, k01, k02, k03, k04 }, \
{ k10, k11, k12, k13, k14 }, \
{ k20, k21, k22, k23, k24 }, \
{ k30, KC_NO, k32, k33, KC_NO }, \
{ k40, k41, k42, k43, k44 }, \
{ k50, k51, k52, k53, k54 }, \
{ k60, k61, k62, k63, k64 }, \
{ k70, KC_NO, k72, KC_NO, KC_NO }, \
}
// clang-format on

View File

@ -5,7 +5,6 @@
"pid": "0x1832",
"vid": "0xA8F8"
},
"community_layouts": ["split_3x5_3"],
"layout_aliases": {
"LAYOUT_charybdis_3x5": "LAYOUT"
},
@ -48,46 +47,6 @@
{ "label": "R30", "x": 9, "y": 3 },
{ "label": "R31", "x": 10, "y": 3 }
]
},
"LAYOUT_split_3x5_3": {
"layout": [
{ "label": "L00", "x": 0, "y": 0 },
{ "label": "L01", "x": 1, "y": 0 },
{ "label": "L02", "x": 2, "y": 0 },
{ "label": "L03", "x": 3, "y": 0 },
{ "label": "L04", "x": 4, "y": 0 },
{ "label": "R00", "x": 11, "y": 0 },
{ "label": "R01", "x": 12, "y": 0 },
{ "label": "R02", "x": 13, "y": 0 },
{ "label": "R03", "x": 14, "y": 0 },
{ "label": "R04", "x": 15, "y": 0 },
{ "label": "L10", "x": 0, "y": 1 },
{ "label": "L11", "x": 1, "y": 1 },
{ "label": "L12", "x": 2, "y": 1 },
{ "label": "L13", "x": 3, "y": 1 },
{ "label": "L14", "x": 4, "y": 1 },
{ "label": "R10", "x": 11, "y": 1 },
{ "label": "R11", "x": 12, "y": 1 },
{ "label": "R12", "x": 13, "y": 1 },
{ "label": "R13", "x": 14, "y": 1 },
{ "label": "R14", "x": 15, "y": 1 },
{ "label": "L20", "x": 0, "y": 2 },
{ "label": "L21", "x": 1, "y": 2 },
{ "label": "L22", "x": 2, "y": 2 },
{ "label": "L23", "x": 3, "y": 2 },
{ "label": "L24", "x": 4, "y": 2 },
{ "label": "R20", "x": 11, "y": 2 },
{ "label": "R21", "x": 12, "y": 2 },
{ "label": "R22", "x": 13, "y": 2 },
{ "label": "R23", "x": 14, "y": 2 },
{ "label": "R24", "x": 15, "y": 2 },
{ "label": "L30", "x": 4, "y": 3 },
{ "label": "L31", "x": 5, "y": 3 },
{ "label": "L32", "x": 6, "y": 3 },
{ "label": "R30", "x": 9, "y": 3 },
{ "label": "R31", "x": 10, "y": 3 },
{ "label": "R32", "x": 11, "y": 3 }
]
}
}
}

View File

@ -36,27 +36,4 @@
{ k60, k61, k62, k63, k64, k65 }, \
{ KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \
}
/**
* \brief Compatibility layout with the split_3x5_6 community layout.
*
* This effectively renders the Charbdis Nano compatible with existing layout
* implementations relying on the `split_3x6_3` layout.
*/
#define LAYOUT_split_3x6_3( \
k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
k33, k34, k31, k71, k73, ___ \
) \
{ \
{ k00, k01, k02, k03, k04, k05 }, \
{ k10, k11, k12, k13, k14, k15 }, \
{ k20, k21, k22, k23, k24, k25 }, \
{ KC_NO, k31, KC_NO, k33, k34, KC_NO }, \
{ k40, k41, k42, k43, k44, k45 }, \
{ k50, k51, k52, k53, k54, k55 }, \
{ k60, k61, k62, k63, k64, k65 }, \
{ KC_NO, k71, KC_NO, k73, KC_NO, KC_NO }, \
}
// clang-format on

View File

@ -3,7 +3,6 @@
"usb": {
"pid": "0x1834"
},
"community_layouts": ["split_3x6_3"],
"layout_aliases": {
"LAYOUT_charybdis_3x6": "LAYOUT"
},
@ -52,52 +51,6 @@
{ "label": "R31", "x": 9, "y": 3 },
{ "label": "R33", "x": 10, "y": 3 }
]
},
"LAYOUT_split_3x6_3": {
"layout": [
{ "label": "L00", "x": 0, "y": 0 },
{ "label": "L01", "x": 1, "y": 0 },
{ "label": "L02", "x": 2, "y": 0 },
{ "label": "L03", "x": 3, "y": 0 },
{ "label": "L04", "x": 4, "y": 0 },
{ "label": "L05", "x": 5, "y": 0 },
{ "label": "R00", "x": 11, "y": 0 },
{ "label": "R01", "x": 12, "y": 0 },
{ "label": "R02", "x": 13, "y": 0 },
{ "label": "R03", "x": 14, "y": 0 },
{ "label": "R04", "x": 15, "y": 0 },
{ "label": "R05", "x": 16, "y": 0 },
{ "label": "L10", "x": 0, "y": 1 },
{ "label": "L11", "x": 1, "y": 1 },
{ "label": "L12", "x": 2, "y": 1 },
{ "label": "L13", "x": 3, "y": 1 },
{ "label": "L14", "x": 4, "y": 1 },
{ "label": "L15", "x": 5, "y": 1 },
{ "label": "R10", "x": 11, "y": 1 },
{ "label": "R11", "x": 12, "y": 1 },
{ "label": "R12", "x": 13, "y": 1 },
{ "label": "R13", "x": 14, "y": 1 },
{ "label": "R14", "x": 15, "y": 1 },
{ "label": "R15", "x": 16, "y": 1 },
{ "label": "L20", "x": 0, "y": 2 },
{ "label": "L21", "x": 1, "y": 2 },
{ "label": "L22", "x": 2, "y": 2 },
{ "label": "L23", "x": 3, "y": 2 },
{ "label": "L24", "x": 4, "y": 2 },
{ "label": "L25", "x": 5, "y": 2 },
{ "label": "R20", "x": 11, "y": 2 },
{ "label": "R21", "x": 12, "y": 2 },
{ "label": "R22", "x": 13, "y": 2 },
{ "label": "R23", "x": 14, "y": 2 },
{ "label": "R24", "x": 15, "y": 2 },
{ "label": "R25", "x": 16, "y": 2 },
{ "label": "L33", "x": 5, "y": 3 },
{ "label": "L34", "x": 6, "y": 3 },
{ "label": "L31", "x": 7, "y": 3 },
{ "label": "R33", "x": 9, "y": 3 },
{ "label": "R34", "x": 10, "y": 3 },
{ "label": "R31", "x": 11, "y": 3 }
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +0,0 @@
/* Copyright 2019-2021 iw0rm3r, tiltowait
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/* This a shortcut to help you visually see your layout.
* The first section contains "names" for physical keys of the keyboard
* and defines their position on the board.
* The second section defines position of the keys on the switch matrix
* (where COLUMNS and ROWS crosses). */
#define LAYOUT( \
K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \
\
K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, \
K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, \
K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, \
K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, \
K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H \
) \
{ \
/* 00 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, KC_NO, KC_NO, K1L, K0G, K0H, KC_NO, K0F, K0D }, \
/* 01 */ { K0E, K1M, K1C, K1D, K1E, K1F, K2N, K1I, K1J, K1K, KC_NO, KC_NO, KC_NO, KC_NO, K5P, KC_NO }, \
/* 02 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
/* 03 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, KC_NO, K3H, K3I, K3J, K3K, KC_NO, KC_NO, KC_NO, KC_NO, K5O }, \
/* 04 */ { KC_NO, KC_NO, K4B, K4C, K4D, K4E, K5K, K4H, K4I, K4J, K4K, K5L, K5M, K3Q, K3P, K5N }, \
/* 05 */ { K0A, KC_NO, K4A, K5B, K5C, K4F, K5J, K4G, K4M, K5I, K4L, K3O, K4O, K4Q, K4P, KC_NO }, \
/* 06 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
/* 07 */ { KC_NO, KC_NO, K5A, KC_NO, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, KC_NO, KC_NO, KC_NO, K1N, K0B }, \
}
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */

View File

@ -18,70 +18,76 @@
"layouts": {
"LAYOUT_all": {
"layout": [
{"x":0.5, "y":0},
{"x":1.75, "y":0},
{"x":2.75, "y":0},
{"x":3.75, "y":0},
{"x":4.75, "y":0},
{"x":5.75, "y":0},
{"x":6.75, "y":0},
{"x":7.75, "y":0},
{"x":10, "y":0},
{"x":11, "y":0},
{"x":12, "y":0},
{"x":13, "y":0},
{"x":14, "y":0},
{"x":15, "y":0},
{"x":16, "y":0},
{"x":17, "y":0},
{"matrix": [0, 0], "x": 0.5, "y": 0},
{"matrix": [0, 1], "x": 1.75, "y": 0},
{"matrix": [0, 2], "x": 2.75, "y": 0},
{"matrix": [0, 3], "x": 3.75, "y": 0},
{"matrix": [0, 4], "x": 4.75, "y": 0},
{"matrix": [0, 5], "x": 5.75, "y": 0},
{"matrix": [0, 6], "x": 6.75, "y": 0},
{"matrix": [4, 7], "x": 7.75, "y": 0},
{"matrix": [0, 7], "x": 10, "y": 0},
{"matrix": [0, 8], "x": 11, "y": 0},
{"matrix": [0, 9], "x": 12, "y": 0},
{"matrix": [0, 10], "x": 13, "y": 0},
{"matrix": [0, 11], "x": 14, "y": 0},
{"matrix": [0, 12], "x": 15, "y": 0},
{"matrix": [0, 13], "x": 16, "y": 0},
{"matrix": [0, 14], "x": 17, "y": 0},
{"x":0.25, "y":1},
{"x":1.5, "y":1, "w":1.5},
{"x":3, "y":1}, {"x":4, "y":1},
{"x":5, "y":1}, {"x":6, "y":1},
{"x":7, "y":1}, {"x":9.5, "y":1},
{"x":10.5, "y":1}, {"x":11.5, "y":1},
{"x":12.5, "y":1}, {"x":13.5, "y":1},
{"x":14.5, "y":1}, {"x":15.5, "y":1},
{"x":16.5, "y":1, "w":1.5},
{"matrix": [1, 0], "x": 0.25, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 9.5, "y": 1},
{"matrix": [1, 8], "x": 10.5, "y": 1},
{"matrix": [1, 9], "x": 11.5, "y": 1},
{"matrix": [1, 10], "x": 12.5, "y": 1},
{"matrix": [1, 11], "x": 13.5, "y": 1},
{"matrix": [1, 12], "x": 14.5, "y": 1},
{"matrix": [1, 13], "x": 15.5, "y": 1},
{"matrix": [1, 14], "x": 16.5, "y": 1, "w": 1.5},
{"x":0, "y":2},
{"x":1.5, "y":2, "w":1.75},
{"x":3.25, "y":2},
{"x":4.25, "y":2},
{"x":5.25, "y":2},
{"x":6.25, "y":2},
{"x":7.25, "y":2},
{"x":9.75, "y":2},
{"x":10.75, "y":2},
{"x":11.75, "y":2},
{"x":12.75, "y":2},
{"x":13.75, "y":2},
{"x":14.75, "y":2},
{"x":15.75, "y":2, "w":2.25},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [2, 7], "x": 9.75, "y": 2},
{"matrix": [2, 8], "x": 10.75, "y": 2},
{"matrix": [2, 9], "x": 11.75, "y": 2},
{"matrix": [2, 10], "x": 12.75, "y": 2},
{"matrix": [2, 11], "x": 13.75, "y": 2},
{"matrix": [2, 12], "x": 14.75, "y": 2},
{"matrix": [2, 14], "x": 15.75, "y": 2, "w": 2.25},
{"x":1.5, "y":3, "w":2.25},
{"x":3.75, "y":3},
{"x":4.75, "y":3},
{"x":5.75, "y":3},
{"x":6.75, "y":3},
{"x":7.75, "y":3},
{"x":9.25, "y":3},
{"x":10.25, "y":3},
{"x":11.25, "y":3},
{"x":12.25, "y":3},
{"x":13.25, "y":3},
{"x":14.25, "y":3},
{"x":15.25, "y":3, "w":1.75},
{"x":17, "y":3},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [3, 7], "x": 9.25, "y": 3},
{"matrix": [3, 8], "x": 10.25, "y": 3},
{"matrix": [3, 9], "x": 11.25, "y": 3},
{"matrix": [3, 10], "x": 12.25, "y": 3},
{"matrix": [3, 11], "x": 13.25, "y": 3},
{"matrix": [3, 12], "x": 14.25, "y": 3},
{"matrix": [3, 13], "x": 15.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 17, "y": 3},
{"x":1.5, "y":4, "w":1.5},
{"x":4, "y":4, "w":1.5},
{"x":5.5, "y":4, "w":2},
{"x":7.5, "y":4, "w":1.25},
{"x":9.25, "y":4, "w":2.75},
{"x":12, "y":4, "w":1.5},
{"x":16.5, "y":4, "w":1.5}
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5},
{"matrix": [4, 3], "x": 4, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 5.5, "y": 4, "w": 2},
{"matrix": [4, 6], "x": 7.5, "y": 4, "w": 1.25},
{"matrix": [4, 8], "x": 9.25, "y": 4, "w": 2.75},
{"matrix": [4, 10], "x": 12, "y": 4, "w": 1.5},
{"matrix": [4, 14], "x": 16.5, "y": 4, "w": 1.5}
]
}
}

View File

@ -1,43 +0,0 @@
/* Copyright 2021 Ramon Imbao
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define ___ KC_NO
#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k57, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
k41, k43, k44, k46, k48, k4a, k4e \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, ___, k2e }, \
{ ___, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \
{ ___, k41, ___, k43, k44, ___, k46, ___, k48, ___, k4a, ___, ___, ___, k4e }, \
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,44 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME,
KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT , KC_ENT, KC_PGUP,
KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
_______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
_______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
};
#endif

View File

@ -0,0 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes

View File

@ -1,4 +1,4 @@
#include "rev1.h"
#include "quantum.h"
void eeconfig_init_kb(void) {
#ifdef RGBLIGHT_ENABLE

View File

@ -1,113 +0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \
LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \
{ LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \
{ LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \
{ RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \
{ RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
}
#define LAYOUT_65( \
LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \
{ LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \
{ LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
{ RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
{ RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
}
#define LAYOUT_60_with_macro( \
LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \
LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
{ LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
{ LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \
{ RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \
{ RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
}
#define LAYOUT_65_with_macro( \
LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
{ LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
{ LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
{ RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
{ RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
}
#define LAYOUT_all( \
LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC7x,RC8, RC9, \
LD9, LD8, LD1, LD2x,LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
LE9, LE8, LE1, LE2, LE3, LE5, LE6x,LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
) \
{ \
{ LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
{ LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
{ LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
{ LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
{ LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
{ RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
{ RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
{ RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
{ RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
}

View File

@ -11,76 +11,72 @@
"layouts": {
"LAYOUT_all": {
"layout": [
{"x": 0, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"x": 12, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.5},
{"x": 0, "y": 1.25},
{"x": 1, "y": 1.25},
{"x": 2, "y": 1.25},
{"x": 3, "y": 1.25},
{"x": 4, "y": 1.25},
{"x": 5, "y": 1.25},
{"x": 6, "y": 1.25},
{"x": 7, "y": 1.25},
{"x": 8, "y": 1.25},
{"x": 9, "y": 1.25},
{"x": 10, "y": 1.25},
{"x": 11, "y": 1.25},
{"x": 12, "y": 1.25},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2, "w": 1.5},
{"x": 0, "y": 2.25, "w": 1.5},
{"x": 1.5, "y": 2.25},
{"x": 2.5, "y": 2.25},
{"x": 3.5, "y": 2.25},
{"x": 4.5, "y": 2.25},
{"x": 5.5, "y": 2.25},
{"x": 6.5, "y": 2.25},
{"x": 7.5, "y": 2.25},
{"x": 8.5, "y": 2.25},
{"x": 9.5, "y": 2.25},
{"x": 10.5, "y": 2.25},
{"x": 11.5, "y": 2.25, "w": 1.5},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
{"matrix": [3, 7], "x": 7, "y": 3},
{"matrix": [3, 8], "x": 8, "y": 3},
{"matrix": [3, 9], "x": 9, "y": 3},
{"matrix": [3, 10], "x": 10, "y": 3},
{"matrix": [3, 11], "x": 11, "y": 3},
{"matrix": [3, 12], "x": 12, "y": 3},
{"x": 0, "y": 3.25, "w": 1.5},
{"x": 1.5, "y": 3.25},
{"x": 2.5, "y": 3.25},
{"x": 3.5, "y": 3.25},
{"x": 4.5, "y": 3.25},
{"x": 5.5, "y": 3.25},
{"x": 6.5, "y": 3.25},
{"x": 7.5, "y": 3.25},
{"x": 8.5, "y": 3.25},
{"x": 9.5, "y": 3.25},
{"x": 10.5, "y": 3.25},
{"x": 11.5, "y": 3.25, "w": 1.5},
{"x": 0, "y": 4.25},
{"x": 1, "y": 4.25},
{"x": 2, "y": 4.25},
{"x": 3, "y": 4.25},
{"x": 4, "y": 4.25},
{"x": 5, "y": 4.25},
{"x": 6, "y": 4.25},
{"x": 7, "y": 4.25},
{"x": 8, "y": 4.25},
{"x": 9, "y": 4.25},
{"x": 10, "y": 4.25},
{"x": 11, "y": 4.25},
{"x": 12, "y": 4.25},
{"x": 0, "y": 5.25, "w": 1.5},
{"x": 1.5, "y": 5.25},
{"x": 2.5, "y": 5.25},
{"x": 3.5, "y": 5.25},
{"x": 4.5, "y": 5.25},
{"x": 5.5, "y": 5.25},
{"x": 6.5, "y": 5.25},
{"x": 7.5, "y": 5.25},
{"x": 8.5, "y": 5.25},
{"x": 9.5, "y": 5.25},
{"x": 10.5, "y": 5.25},
{"x": 11.5, "y": 5.25, "w": 1.5}
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4},
{"matrix": [4, 3], "x": 3.5, "y": 4},
{"matrix": [4, 4], "x": 4.5, "y": 4},
{"matrix": [4, 5], "x": 5.5, "y": 4},
{"matrix": [4, 6], "x": 6.5, "y": 4},
{"matrix": [4, 7], "x": 7.5, "y": 4},
{"matrix": [4, 8], "x": 8.5, "y": 4},
{"matrix": [4, 9], "x": 9.5, "y": 4},
{"matrix": [4, 10], "x": 10.5, "y": 4},
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}
]
}
}

View File

@ -34,7 +34,6 @@ enum layer_number {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_all(
KC_NO, KC_NO,
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
@ -43,7 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_COLEMAK] = LAYOUT_all(
KC_NO, KC_NO,
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
@ -52,7 +50,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_all(
KC_NO, KC_NO,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
_______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END,
@ -61,7 +58,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJ] = LAYOUT_all(
KC_NO, KC_NO,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
_______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,

View File

@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "pan.h"
#include "quantum.h"
#include "rgb_matrix_types.h"

View File

@ -1,37 +0,0 @@
/* Copyright 2020 RGBKB
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define _x_ KC_NO
#include "quantum.h"
#define LAYOUT_all( \
E01, E02, \
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 */\
/* 0 */ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, \
/* 1 */ K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, \
/* 2 */ K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \
/* 3 */ K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K50, \
/* 4 */ K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62 \
) { \
/* 0 */{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12 }, \
/* 1 */{ K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, KC_NO }, \
/* 2 */{ K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, KC_NO }, \
/* 3 */{ K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K50 }, \
/* 4 */{ K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, KC_NO, K62 } \
}

View File

@ -0,0 +1,21 @@
#!/bin/bash
set -e
this_script="$(realpath "${BASH_SOURCE[0]}")"
script_dir="$(realpath "$(dirname "$this_script")")"
qmk_firmware_dir="$(realpath "$script_dir/../../")"
dump_failure_info() {
local failure_file="$1"
local keyboard=$(cat "$failure_file" | grep 'CI Metadata: KEYBOARD=' | cut -d= -f2)
local keymap=$(cat "$failure_file" | grep 'CI Metadata: KEYMAP=' | cut -d= -f2)
echo "## ${keyboard}:${keymap}"
echo "\`\`\`"
cat "$failure_file" | sed -e $'s/\x1b\[[0-9;]*m//g' | grep -v "CI Metadata:" | grep -vP "(Entering|Leaving) directory"
echo "\`\`\`"
}
for failure_file in $(find "$qmk_firmware_dir/.build" -name 'failed.log.*' | sort); do
dump_failure_info "$failure_file"
done