diff --git a/.github/workflows/ci_builds.yml b/.github/workflows/ci_builds.yml
index 1f1813faab1..ef792dcbafc 100644
--- a/.github/workflows/ci_builds.yml
+++ b/.github/workflows/ci_builds.yml
@@ -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
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index 6b264fe0ffa..91c9541be59 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -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)
diff --git a/keyboards/bastardkb/charybdis/3x5/3x5.h b/keyboards/bastardkb/charybdis/3x5/3x5.h
index 4ea3ef94bb1..3041397e15d 100644
--- a/keyboards/bastardkb/charybdis/3x5/3x5.h
+++ b/keyboards/bastardkb/charybdis/3x5/3x5.h
@@ -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
diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json
index a09ef236bae..32437edeb0a 100644
--- a/keyboards/bastardkb/charybdis/3x5/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/info.json
@@ -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 }
- ]
}
}
}
diff --git a/keyboards/bastardkb/charybdis/3x6/3x6.h b/keyboards/bastardkb/charybdis/3x6/3x6.h
index 71c22a561bd..a93d183ae1b 100644
--- a/keyboards/bastardkb/charybdis/3x6/3x6.h
+++ b/keyboards/bastardkb/charybdis/3x6/3x6.h
@@ -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
diff --git a/keyboards/bastardkb/charybdis/3x6/info.json b/keyboards/bastardkb/charybdis/3x6/info.json
index 1a4d15711f0..41940b0b8bf 100644
--- a/keyboards/bastardkb/charybdis/3x6/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/info.json
@@ -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 }
- ]
}
}
}
diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/converter/modelm_ssk/info.json
index d68bb0389f2..ff2c6cc2177 100644
--- a/keyboards/converter/modelm_ssk/info.json
+++ b/keyboards/converter/modelm_ssk/info.json
@@ -20,453 +20,108 @@
},
"processor": "at90usb1286",
"bootloader": "halfkay",
- "layouts":
- {
- "LAYOUT":
- {
- "layout":
- [
- {
- "label": "Esc",
- "x": 0,
- "y": 0
- },
- {
- "label": "F1",
- "x": 2,
- "y": 0
- },
- {
- "label": "F2",
- "x": 3,
- "y": 0
- },
- {
- "label": "F3",
- "x": 4,
- "y": 0
- },
- {
- "label": "F4",
- "x": 5,
- "y": 0
- },
- {
- "label": "F5",
- "x": 6.5,
- "y": 0
- },
- {
- "label": "F6",
- "x": 7.5,
- "y": 0
- },
- {
- "label": "F7",
- "x": 8.5,
- "y": 0
- },
- {
- "label": "F8",
- "x": 9.5,
- "y": 0
- },
- {
- "label": "F9",
- "x": 11,
- "y": 0
- },
- {
- "label": "F10",
- "x": 12,
- "y": 0
- },
- {
- "label": "F11",
- "x": 13,
- "y": 0
- },
- {
- "label": "F12",
- "x": 14,
- "y": 0
- },
- {
- "label": "PrtSc",
- "x": 15.25,
- "y": 0
- },
- {
- "label": "Scroll Lock",
- "x": 16.25,
- "y": 0
- },
- {
- "label": "Pause",
- "x": 17.25,
- "y": 0
- },
- {
- "label": "~",
- "x": 0,
- "y": 1.5
- },
- {
- "label": "!",
- "x": 1,
- "y": 1.5
- },
- {
- "label": "@",
- "x": 2,
- "y": 1.5
- },
- {
- "label": "#",
- "x": 3,
- "y": 1.5
- },
- {
- "label": "$",
- "x": 4,
- "y": 1.5
- },
- {
- "label": "%",
- "x": 5,
- "y": 1.5
- },
- {
- "label": "^",
- "x": 6,
- "y": 1.5
- },
- {
- "label": "&",
- "x": 7,
- "y": 1.5
- },
- {
- "label": "*",
- "x": 8,
- "y": 1.5
- },
- {
- "label": "(",
- "x": 9,
- "y": 1.5
- },
- {
- "label": ")",
- "x": 10,
- "y": 1.5
- },
- {
- "label": "_",
- "x": 11,
- "y": 1.5
- },
- {
- "label": "+",
- "x": 12,
- "y": 1.5
- },
- {
- "label": "Backspace",
- "x": 13,
- "y": 1.5,
- "w": 2
- },
- {
- "label": "Insert",
- "x": 15.25,
- "y": 1.5
- },
- {
- "label": "Home",
- "x": 16.25,
- "y": 1.5
- },
- {
- "label": "PgUp",
- "x": 17.25,
- "y": 1.5
- },
- {
- "label": "Tab",
- "x": 0,
- "y": 2.5,
- "w": 1.5
- },
- {
- "label": "Q",
- "x": 1.5,
- "y": 2.5
- },
- {
- "label": "W",
- "x": 2.5,
- "y": 2.5
- },
- {
- "label": "E",
- "x": 3.5,
- "y": 2.5
- },
- {
- "label": "R",
- "x": 4.5,
- "y": 2.5
- },
- {
- "label": "T",
- "x": 5.5,
- "y": 2.5
- },
- {
- "label": "Y",
- "x": 6.5,
- "y": 2.5
- },
- {
- "label": "U",
- "x": 7.5,
- "y": 2.5
- },
- {
- "label": "I",
- "x": 8.5,
- "y": 2.5
- },
- {
- "label": "O",
- "x": 9.5,
- "y": 2.5
- },
- {
- "label": "P",
- "x": 10.5,
- "y": 2.5
- },
- {
- "label": "{",
- "x": 11.5,
- "y": 2.5
- },
- {
- "label": "}",
- "x": 12.5,
- "y": 2.5
- },
- {
- "label": "|",
- "x": 13.5,
- "y": 2.5,
- "w": 1.5
- },
- {
- "label": "Delete",
- "x": 15.25,
- "y": 2.5
- },
- {
- "label": "End",
- "x": 16.25,
- "y": 2.5
- },
- {
- "label": "PgDn",
- "x": 17.25,
- "y": 2.5
- },
- {
- "label": "Caps Lock",
- "x": 0,
- "y": 3.5,
- "w": 1.5
- },
- {
- "label": "A",
- "x": 1.75,
- "y": 3.5
- },
- {
- "label": "S",
- "x": 2.75,
- "y": 3.5
- },
- {
- "label": "D",
- "x": 3.75,
- "y": 3.5
- },
- {
- "label": "F",
- "x": 4.75,
- "y": 3.5
- },
- {
- "label": "G",
- "x": 5.75,
- "y": 3.5
- },
- {
- "label": "H",
- "x": 6.75,
- "y": 3.5
- },
- {
- "label": "J",
- "x": 7.75,
- "y": 3.5
- },
- {
- "label": "K",
- "x": 8.75,
- "y": 3.5
- },
- {
- "label": "L",
- "x": 9.75,
- "y": 3.5
- },
- {
- "label": ":",
- "x": 10.75,
- "y": 3.5
- },
- {
- "label": "\"",
- "x": 11.75,
- "y": 3.5
- },
- {
- "label": "~",
- "x": 12.75,
- "y": 3.5
- },
- {
- "label": "Enter",
- "x": 13.75,
- "y": 3.5,
- "w": 1.25
- },
- {
- "label": "Shift",
- "x": 0,
- "y": 4.5,
- "w": 1.25
- },
- {
- "label": "|",
- "x": 1.25,
- "y": 4.5
- },
- {
- "label": "Z",
- "x": 2.25,
- "y": 4.5
- },
- {
- "label": "X",
- "x": 3.25,
- "y": 4.5
- },
- {
- "label": "C",
- "x": 4.25,
- "y": 4.5
- },
- {
- "label": "V",
- "x": 5.25,
- "y": 4.5
- },
- {
- "label": "B",
- "x": 6.25,
- "y": 4.5
- },
- {
- "label": "N",
- "x": 7.25,
- "y": 4.5
- },
- {
- "label": "M",
- "x": 8.25,
- "y": 4.5
- },
- {
- "label": "<",
- "x": 9.25,
- "y": 4.5
- },
- {
- "label": ">",
- "x": 10.25,
- "y": 4.5
- },
- {
- "label": "?",
- "x": 11.25,
- "y": 4.5
- },
- {
- "label": "Shift",
- "x": 12.25,
- "y": 4.5,
- "w": 2.75
- },
- {
- "label": "↑",
- "x": 16.25,
- "y": 4.5
- },
- {
- "label": "Ctrl",
- "x": 0,
- "y": 5.5,
- "w": 1.5
- },
- {
- "label": "Alt",
- "x": 2.5,
- "y": 5.5,
- "w": 1.5
- },
- {
- "x": 4,
- "y": 5.5,
- "w": 7
- },
- {
- "label": "Alt",
- "x": 11,
- "y": 5.5,
- "w": 1.5
- },
- {
- "label": "Ctrl",
- "x": 13.5,
- "y": 5.5,
- "w": 1.5
- },
- {
- "label": "←",
- "x": 15.25,
- "y": 5.5
- },
- {
- "label": "↓",
- "x": 16.25,
- "y": 5.5
- },
- {
- "label": "→",
- "x": 17.25,
- "y": 5.5
- }
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [7, 2], "x": 0, "y": 0},
+
+ {"matrix": [5, 3], "x": 2, "y": 0},
+ {"matrix": [5, 4], "x": 3, "y": 0},
+ {"matrix": [6, 4], "x": 4, "y": 0},
+ {"matrix": [7, 4], "x": 5, "y": 0},
+
+ {"matrix": [7, 6], "x": 6.5, "y": 0},
+ {"matrix": [7, 8], "x": 7.5, "y": 0},
+ {"matrix": [6, 9], "x": 8.5, "y": 0},
+ {"matrix": [5, 9], "x": 9.5, "y": 0},
+
+ {"matrix": [5, 6], "x": 11, "y": 0},
+ {"matrix": [4, 6], "x": 12, "y": 0},
+ {"matrix": [4, 11], "x": 13, "y": 0},
+ {"matrix": [4, 12], "x": 14, "y": 0},
+
+ {"matrix": [4, 15], "x": 15.25, "y": 0},
+ {"matrix": [3, 15], "x": 16.25, "y": 0},
+ {"matrix": [1, 14], "x": 17.25, "y": 0},
+
+ {"matrix": [5, 2], "x": 0, "y": 1.5},
+ {"matrix": [4, 2], "x": 1, "y": 1.5},
+ {"matrix": [4, 3], "x": 2, "y": 1.5},
+ {"matrix": [4, 4], "x": 3, "y": 1.5},
+ {"matrix": [4, 5], "x": 4, "y": 1.5},
+ {"matrix": [5, 5], "x": 5, "y": 1.5},
+ {"matrix": [5, 7], "x": 6, "y": 1.5},
+ {"matrix": [4, 7], "x": 7, "y": 1.5},
+ {"matrix": [4, 8], "x": 8, "y": 1.5},
+ {"matrix": [4, 9], "x": 9, "y": 1.5},
+ {"matrix": [4, 10], "x": 10, "y": 1.5},
+ {"matrix": [5, 10], "x": 11, "y": 1.5},
+ {"matrix": [5, 8], "x": 12, "y": 1.5},
+ {"matrix": [6, 6], "x": 13, "y": 1.5, "w": 2},
+
+ {"matrix": [5, 12], "x": 15.25, "y": 1.5},
+ {"matrix": [5, 14], "x": 16.25, "y": 1.5},
+ {"matrix": [5, 13], "x": 17.25, "y": 1.5},
+
+ {"matrix": [6, 2], "x": 0, "y": 2.5, "w": 1.5},
+ {"matrix": [3, 2], "x": 1.5, "y": 2.5},
+ {"matrix": [3, 3], "x": 2.5, "y": 2.5},
+ {"matrix": [3, 4], "x": 3.5, "y": 2.5},
+ {"matrix": [3, 5], "x": 4.5, "y": 2.5},
+ {"matrix": [6, 5], "x": 5.5, "y": 2.5},
+ {"matrix": [6, 7], "x": 6.5, "y": 2.5},
+ {"matrix": [3, 7], "x": 7.5, "y": 2.5},
+ {"matrix": [3, 8], "x": 8.5, "y": 2.5},
+ {"matrix": [3, 9], "x": 9.5, "y": 2.5},
+ {"matrix": [3, 10], "x": 10.5, "y": 2.5},
+ {"matrix": [6, 10], "x": 11.5, "y": 2.5},
+ {"matrix": [6, 8], "x": 12.5, "y": 2.5},
+ {"matrix": [2, 6], "x": 13.5, "y": 2.5, "w": 1.5},
+
+ {"matrix": [5, 11], "x": 15.25, "y": 2.5},
+ {"matrix": [4, 14], "x": 16.25, "y": 2.5},
+ {"matrix": [4, 13], "x": 17.25, "y": 2.5},
+
+ {"matrix": [6, 3], "x": 0, "y": 3.5, "w": 1.5},
+ {"matrix": [2, 2], "x": 1.75, "y": 3.5},
+ {"matrix": [2, 3], "x": 2.75, "y": 3.5},
+ {"matrix": [2, 4], "x": 3.75, "y": 3.5},
+ {"matrix": [2, 5], "x": 4.75, "y": 3.5},
+ {"matrix": [7, 5], "x": 5.75, "y": 3.5},
+ {"matrix": [7, 7], "x": 6.75, "y": 3.5},
+ {"matrix": [2, 7], "x": 7.75, "y": 3.5},
+ {"matrix": [2, 8], "x": 8.75, "y": 3.5},
+ {"matrix": [2, 9], "x": 9.75, "y": 3.5},
+ {"matrix": [2, 10], "x": 10.75, "y": 3.5},
+ {"matrix": [7, 10], "x": 11.75, "y": 3.5},
+ {"matrix": [1, 10], "x": 12.75, "y": 3.5},
+ {"matrix": [1, 6], "x": 13.75, "y": 3.5, "w": 1.25},
+
+ {"matrix": [6, 1], "x": 0, "y": 4.5, "w": 1.25},
+ {"matrix": [7, 3], "x": 1.25, "y": 4.5},
+ {"matrix": [1, 2], "x": 2.25, "y": 4.5},
+ {"matrix": [1, 3], "x": 3.25, "y": 4.5},
+ {"matrix": [1, 4], "x": 4.25, "y": 4.5},
+ {"matrix": [1, 5], "x": 5.25, "y": 4.5},
+ {"matrix": [0, 5], "x": 6.25, "y": 4.5},
+ {"matrix": [0, 7], "x": 7.25, "y": 4.5},
+ {"matrix": [1, 7], "x": 8.25, "y": 4.5},
+ {"matrix": [1, 8], "x": 9.25, "y": 4.5},
+ {"matrix": [1, 9], "x": 10.25, "y": 4.5},
+ {"matrix": [0, 10], "x": 11.25, "y": 4.5},
+ {"matrix": [1, 1], "x": 12.25, "y": 4.5, "w": 2.75},
+
+ {"matrix": [7, 14], "x": 16.25, "y": 4.5},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5},
+ {"matrix": [7, 15], "x": 2.5, "y": 5.5, "w": 1.5},
+ {"matrix": [0, 6], "x": 4, "y": 5.5, "w": 7},
+ {"matrix": [0, 15], "x": 11, "y": 5.5, "w": 1.5},
+ {"matrix": [1, 0], "x": 13.5, "y": 5.5, "w": 1.5},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 5.5},
+ {"matrix": [0, 11], "x": 16.25, "y": 5.5},
+ {"matrix": [0, 12], "x": 17.25, "y": 5.5}
]
}
}
diff --git a/keyboards/converter/modelm_ssk/modelm_ssk.h b/keyboards/converter/modelm_ssk/modelm_ssk.h
deleted file mode 100644
index 5c4b9b80eac..00000000000
--- a/keyboards/converter/modelm_ssk/modelm_ssk.h
+++ /dev/null
@@ -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 .
- */
-#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 */
diff --git a/keyboards/irene/info.json b/keyboards/irene/info.json
index 9e3a4a220d5..e8461df3b1e 100644
--- a/keyboards/irene/info.json
+++ b/keyboards/irene/info.json
@@ -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}
]
}
}
diff --git a/keyboards/irene/irene.h b/keyboards/irene/irene.h
deleted file mode 100644
index 435e84957db..00000000000
--- a/keyboards/irene/irene.h
+++ /dev/null
@@ -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 .
- */
-
-#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 }, \
-}
diff --git a/keyboards/keebio/quefrency/rev1/info.json b/keyboards/keebio/quefrency/rev1/info.json
index a715b1040f7..ee616bb0fee 100644
--- a/keyboards/keebio/quefrency/rev1/info.json
+++ b/keyboards/keebio/quefrency/rev1/info.json
@@ -27,465 +27,462 @@
"layouts": {
"LAYOUT": {
"layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "1", "x": 1, "y": 0 },
- { "label": "2", "x": 2, "y": 0 },
- { "label": "3", "x": 3, "y": 0 },
- { "label": "4", "x": 4, "y": 0 },
- { "label": "5", "x": 5, "y": 0 },
- { "label": "6", "x": 6, "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},
- { "label": "7", "x": 8, "y": 0 },
- { "label": "8", "x": 9, "y": 0 },
- { "label": "9", "x": 10, "y": 0 },
- { "label": "0", "x": 11, "y": 0 },
- { "label": "-", "x": 12, "y": 0 },
- { "label": "=", "x": 13, "y": 0 },
- { "label": "Del", "x": 14, "y": 0 },
- { "label": "Bksp", "x": 15, "y": 0 },
+ {"matrix": [6, 0], "x": 8, "y": 0},
+ {"matrix": [6, 1], "x": 9, "y": 0},
+ {"matrix": [6, 2], "x": 10, "y": 0},
+ {"matrix": [6, 3], "x": 11, "y": 0},
+ {"matrix": [6, 4], "x": 12, "y": 0},
+ {"matrix": [6, 5], "x": 13, "y": 0},
+ {"matrix": [6, 6], "x": 14, "y": 0},
+ {"matrix": [6, 7], "x": 15, "y": 0},
- { "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 1.5, "y": 1 },
- { "label": "W", "x": 2.5, "y": 1 },
- { "label": "E", "x": 3.5, "y": 1 },
- { "label": "R", "x": 4.5, "y": 1 },
- { "label": "T", "x": 5.5, "y": 1 },
+ {"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},
- { "label": "Y", "x": 7.5, "y": 1 },
- { "label": "U", "x": 8.5, "y": 1 },
- { "label": "I", "x": 9.5, "y": 1 },
- { "label": "O", "x": 10.5, "y": 1 },
- { "label": "P", "x": 11.5, "y": 1 },
- { "label": "[", "x": 12.5, "y": 1 },
- { "label": "]", "x": 13.5, "y": 1 },
- { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 },
+ {"matrix": [7, 0], "x": 7.5, "y": 1},
+ {"matrix": [7, 1], "x": 8.5, "y": 1},
+ {"matrix": [7, 2], "x": 9.5, "y": 1},
+ {"matrix": [7, 3], "x": 10.5, "y": 1},
+ {"matrix": [7, 4], "x": 11.5, "y": 1},
+ {"matrix": [7, 5], "x": 12.5, "y": 1},
+ {"matrix": [7, 6], "x": 13.5, "y": 1},
+ {"matrix": [7, 7], "x": 14.5, "y": 1, "w": 1.5},
- { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
- { "label": "A", "x": 1.75, "y": 2 },
- { "label": "S", "x": 2.75, "y": 2 },
- { "label": "D", "x": 3.75, "y": 2 },
- { "label": "F", "x": 4.75, "y": 2 },
- { "label": "G", "x": 5.75, "y": 2 },
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
- { "label": "H", "x": 7.75, "y": 2 },
- { "label": "J", "x": 8.75, "y": 2 },
- { "label": "K", "x": 9.75, "y": 2 },
- { "label": "L", "x": 10.75, "y": 2 },
- { "label": ";", "x": 11.75, "y": 2 },
- { "label": "'", "x": 12.75, "y": 2 },
- { "label": "Enter", "x": 13.75, "y": 2, "w": 2.25 },
+ {"matrix": [8, 0], "x": 7.75, "y": 2},
+ {"matrix": [8, 1], "x": 8.75, "y": 2},
+ {"matrix": [8, 2], "x": 9.75, "y": 2},
+ {"matrix": [8, 3], "x": 10.75, "y": 2},
+ {"matrix": [8, 4], "x": 11.75, "y": 2},
+ {"matrix": [8, 5], "x": 12.75, "y": 2},
+ {"matrix": [8, 7], "x": 13.75, "y": 2, "w": 2.25},
- { "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
- { "label": "Z", "x": 2.25, "y": 3 },
- { "label": "X", "x": 3.25, "y": 3 },
- { "label": "C", "x": 4.25, "y": 3 },
- { "label": "V", "x": 5.25, "y": 3 },
- { "label": "B", "x": 6.25, "y": 3 },
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
- { "label": "N", "x": 8.25, "y": 3 },
- { "label": "M", "x": 9.25, "y": 3 },
- { "label": ",", "x": 10.25, "y": 3 },
- { "label": ".", "x": 11.25, "y": 3 },
- { "label": "/", "x": 12.25, "y": 3 },
- { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 15, "y": 3 },
+ {"matrix": [9, 0], "x": 8.25, "y": 3},
+ {"matrix": [9, 1], "x": 9.25, "y": 3},
+ {"matrix": [9, 2], "x": 10.25, "y": 3},
+ {"matrix": [9, 3], "x": 11.25, "y": 3},
+ {"matrix": [9, 5], "x": 12.25, "y": 3},
+ {"matrix": [9, 6], "x": 13.25, "y": 3, "w": 1.75},
+ {"matrix": [9, 7], "x": 15, "y": 3},
- { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25},
- { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 11, "y": 4 },
- { "label": "Ctrl", "x": 12, "y": 4 },
- { "label": "Left", "x": 13, "y": 4 },
- { "label": "Down", "x": 14, "y": 4 },
- { "label": "Right", "x": 15, "y": 4 }
+ {"matrix": [10, 0], "x": 8.25, "y": 4, "w": 1.25},
+ {"matrix": [10, 1], "x": 9.5, "y": 4, "w": 1.5},
+ {"matrix": [10, 3], "x": 11, "y": 4},
+ {"matrix": [10, 4], "x": 12, "y": 4},
+ {"matrix": [10, 5], "x": 13, "y": 4},
+ {"matrix": [10, 6], "x": 14, "y": 4},
+ {"matrix": [10, 7], "x": 15, "y": 4}
]
},
"LAYOUT_65": {
"layout": [
- { "label": "Esc", "x": 0, "y": 0 },
- { "label": "1", "x": 1, "y": 0 },
- { "label": "2", "x": 2, "y": 0 },
- { "label": "3", "x": 3, "y": 0 },
- { "label": "4", "x": 4, "y": 0 },
- { "label": "5", "x": 5, "y": 0 },
- { "label": "6", "x": 6, "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},
- { "label": "7", "x": 8, "y": 0 },
- { "label": "8", "x": 9, "y": 0 },
- { "label": "9", "x": 10, "y": 0 },
- { "label": "0", "x": 11, "y": 0 },
- { "label": "-", "x": 12, "y": 0 },
- { "label": "=", "x": 13, "y": 0 },
- { "label": "Del", "x": 14, "y": 0 },
- { "label": "Bksp", "x": 15, "y": 0 },
- { "label": "Home", "x": 16, "y": 0 },
+ {"matrix": [6, 0], "x": 8, "y": 0},
+ {"matrix": [6, 1], "x": 9, "y": 0},
+ {"matrix": [6, 2], "x": 10, "y": 0},
+ {"matrix": [6, 3], "x": 11, "y": 0},
+ {"matrix": [6, 4], "x": 12, "y": 0},
+ {"matrix": [6, 5], "x": 13, "y": 0},
+ {"matrix": [6, 6], "x": 14, "y": 0},
+ {"matrix": [6, 7], "x": 15, "y": 0},
+ {"matrix": [11, 6], "x": 16, "y": 0},
- { "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 1.5, "y": 1 },
- { "label": "W", "x": 2.5, "y": 1 },
- { "label": "E", "x": 3.5, "y": 1 },
- { "label": "R", "x": 4.5, "y": 1 },
- { "label": "T", "x": 5.5, "y": 1 },
+ {"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},
- { "label": "Y", "x": 7.5, "y": 1 },
- { "label": "U", "x": 8.5, "y": 1 },
- { "label": "I", "x": 9.5, "y": 1 },
- { "label": "O", "x": 10.5, "y": 1 },
- { "label": "P", "x": 11.5, "y": 1 },
- { "label": "[", "x": 12.5, "y": 1 },
- { "label": "]", "x": 13.5, "y": 1 },
- { "label": "Backslash", "x": 14.5, "y": 1, "w": 1.5 },
- { "label": "End", "x": 16, "y": 1 },
+ {"matrix": [7, 0], "x": 7.5, "y": 1},
+ {"matrix": [7, 1], "x": 8.5, "y": 1},
+ {"matrix": [7, 2], "x": 9.5, "y": 1},
+ {"matrix": [7, 3], "x": 10.5, "y": 1},
+ {"matrix": [7, 4], "x": 11.5, "y": 1},
+ {"matrix": [7, 5], "x": 12.5, "y": 1},
+ {"matrix": [7, 6], "x": 13.5, "y": 1},
+ {"matrix": [7, 7], "x": 14.5, "y": 1, "w": 1.5},
+ {"matrix": [11, 7], "x": 16, "y": 1},
- { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
- { "label": "A", "x": 1.75, "y": 2 },
- { "label": "S", "x": 2.75, "y": 2 },
- { "label": "D", "x": 3.75, "y": 2 },
- { "label": "F", "x": 4.75, "y": 2 },
- { "label": "G", "x": 5.75, "y": 2 },
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
- { "label": "H", "x": 7.75, "y": 2 },
- { "label": "J", "x": 8.75, "y": 2 },
- { "label": "K", "x": 9.75, "y": 2 },
- { "label": "L", "x": 10.75, "y": 2 },
- { "label": ";", "x": 11.75, "y": 2 },
- { "label": "'", "x": 12.75, "y": 2 },
- { "label": "Enter", "x": 13.75, "y": 2, "w": 2.25 },
- { "label": "Page Up", "x": 16, "y": 2 },
+ {"matrix": [8, 0], "x": 7.75, "y": 2},
+ {"matrix": [8, 1], "x": 8.75, "y": 2},
+ {"matrix": [8, 2], "x": 9.75, "y": 2},
+ {"matrix": [8, 3], "x": 10.75, "y": 2},
+ {"matrix": [8, 4], "x": 11.75, "y": 2},
+ {"matrix": [8, 5], "x": 12.75, "y": 2},
+ {"matrix": [8, 7], "x": 13.75, "y": 2, "w": 2.25},
+ {"matrix": [8, 6], "x": 16, "y": 2},
- { "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
- { "label": "Z", "x": 2.25, "y": 3 },
- { "label": "X", "x": 3.25, "y": 3 },
- { "label": "C", "x": 4.25, "y": 3 },
- { "label": "V", "x": 5.25, "y": 3 },
- { "label": "B", "x": 6.25, "y": 3 },
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
- { "label": "N", "x": 8.25, "y": 3 },
- { "label": "M", "x": 9.25, "y": 3 },
- { "label": ",", "x": 10.25, "y": 3 },
- { "label": ".", "x": 11.25, "y": 3 },
- { "label": "/", "x": 12.25, "y": 3 },
- { "label": "Shift", "x": 13.25, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 15, "y": 3 },
- { "label": "Page Down", "x": 16, "y": 3 },
+ {"matrix": [9, 0], "x": 8.25, "y": 3},
+ {"matrix": [9, 1], "x": 9.25, "y": 3},
+ {"matrix": [9, 2], "x": 10.25, "y": 3},
+ {"matrix": [9, 3], "x": 11.25, "y": 3},
+ {"matrix": [9, 5], "x": 12.25, "y": 3},
+ {"matrix": [9, 6], "x": 13.25, "y": 3, "w": 1.75},
+ {"matrix": [9, 7], "x": 15, "y": 3},
+ {"matrix": [9, 4], "x": 16, "y": 3},
- { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 1.25, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 2.5, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 3.75, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 5, "y": 4, "w": 2.25 },
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25},
- { "label": "Fn", "x": 8.25, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 9.5, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 11, "y": 4 },
- { "label": "Ctrl", "x": 12, "y": 4 },
- { "label": "Win", "x": 13, "y": 4 },
- { "label": "Left", "x": 14, "y": 4 },
- { "label": "Down", "x": 15, "y": 4 },
- { "label": "Right", "x": 16, "y": 4 }
+ {"matrix": [10, 0], "x": 8.25, "y": 4, "w": 1.25},
+ {"matrix": [10, 1], "x": 9.5, "y": 4, "w": 1.5},
+ {"matrix": [10, 3], "x": 11, "y": 4},
+ {"matrix": [10, 4], "x": 12, "y": 4},
+ {"matrix": [10, 5], "x": 13, "y": 4},
+ {"matrix": [10, 6], "x": 14, "y": 4},
+ {"matrix": [10, 7], "x": 15, "y": 4},
+ {"matrix": [10, 2], "x": 16, "y": 4}
]
},
"LAYOUT_60_with_macro": {
"layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
+ {"matrix": [4, 3], "x": 0, "y": 0},
+ {"matrix": [0, 7], "x": 1, "y": 0},
- { "label": "Esc", "x": 2.25, "y": 0 },
- { "label": "1", "x": 3.25, "y": 0 },
- { "label": "2", "x": 4.25, "y": 0 },
- { "label": "3", "x": 5.25, "y": 0 },
- { "label": "4", "x": 6.25, "y": 0 },
- { "label": "5", "x": 7.25, "y": 0 },
- { "label": "6", "x": 8.25, "y": 0 },
+ {"matrix": [0, 0], "x": 2.25, "y": 0},
+ {"matrix": [0, 1], "x": 3.25, "y": 0},
+ {"matrix": [0, 2], "x": 4.25, "y": 0},
+ {"matrix": [0, 3], "x": 5.25, "y": 0},
+ {"matrix": [0, 4], "x": 6.25, "y": 0},
+ {"matrix": [0, 5], "x": 7.25, "y": 0},
+ {"matrix": [0, 6], "x": 8.25, "y": 0},
- { "label": "7", "x": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
+ {"matrix": [6, 0], "x": 10.25, "y": 0},
+ {"matrix": [6, 1], "x": 11.25, "y": 0},
+ {"matrix": [6, 2], "x": 12.25, "y": 0},
+ {"matrix": [6, 3], "x": 13.25, "y": 0},
+ {"matrix": [6, 4], "x": 14.25, "y": 0},
+ {"matrix": [6, 5], "x": 15.25, "y": 0},
+ {"matrix": [6, 6], "x": 16.25, "y": 0},
+ {"matrix": [6, 7], "x": 17.25, "y": 0},
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "x": 1, "y": 1 },
+ {"matrix": [1, 6], "x": 0, "y": 1},
+ {"matrix": [1, 7], "x": 1, "y": 1},
- { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 3.75, "y": 1 },
- { "label": "W", "x": 4.75, "y": 1 },
- { "label": "E", "x": 5.75, "y": 1 },
- { "label": "R", "x": 6.75, "y": 1 },
- { "label": "T", "x": 7.75, "y": 1 },
+ {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 3.75, "y": 1},
+ {"matrix": [1, 2], "x": 4.75, "y": 1},
+ {"matrix": [1, 3], "x": 5.75, "y": 1},
+ {"matrix": [1, 4], "x": 6.75, "y": 1},
+ {"matrix": [1, 5], "x": 7.75, "y": 1},
- { "label": "Y", "x": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
- { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
+ {"matrix": [7, 0], "x": 9.75, "y": 1},
+ {"matrix": [7, 1], "x": 10.75, "y": 1},
+ {"matrix": [7, 2], "x": 11.75, "y": 1},
+ {"matrix": [7, 3], "x": 12.75, "y": 1},
+ {"matrix": [7, 4], "x": 13.75, "y": 1},
+ {"matrix": [7, 5], "x": 14.75, "y": 1},
+ {"matrix": [7, 6], "x": 15.75, "y": 1},
+ {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5},
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "x": 1, "y": 2 },
+ {"matrix": [2, 6], "x": 0, "y": 2},
+ {"matrix": [2, 7], "x": 1, "y": 2},
- { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 },
- { "label": "A", "x": 4, "y": 2 },
- { "label": "S", "x": 5, "y": 2 },
- { "label": "D", "x": 6, "y": 2 },
- { "label": "F", "x": 7, "y": 2 },
- { "label": "G", "x": 8, "y": 2 },
+ {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 4, "y": 2},
+ {"matrix": [2, 2], "x": 5, "y": 2},
+ {"matrix": [2, 3], "x": 6, "y": 2},
+ {"matrix": [2, 4], "x": 7, "y": 2},
+ {"matrix": [2, 5], "x": 8, "y": 2},
- { "label": "H", "x": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "Enter", "x": 16, "y": 2, "w": 2.25 },
+ {"matrix": [8, 0], "x": 10, "y": 2},
+ {"matrix": [8, 1], "x": 11, "y": 2},
+ {"matrix": [8, 2], "x": 12, "y": 2},
+ {"matrix": [8, 3], "x": 13, "y": 2},
+ {"matrix": [8, 4], "x": 14, "y": 2},
+ {"matrix": [8, 5], "x": 15, "y": 2},
+ {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25},
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
+ {"matrix": [3, 1], "x": 0, "y": 3},
+ {"matrix": [3, 7], "x": 1, "y": 3},
- { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 },
- { "label": "Z", "x": 4.5, "y": 3 },
- { "label": "X", "x": 5.5, "y": 3 },
- { "label": "C", "x": 6.5, "y": 3 },
- { "label": "V", "x": 7.5, "y": 3 },
- { "label": "B", "x": 8.5, "y": 3 },
+ {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 4.5, "y": 3},
+ {"matrix": [3, 3], "x": 5.5, "y": 3},
+ {"matrix": [3, 4], "x": 6.5, "y": 3},
+ {"matrix": [3, 5], "x": 7.5, "y": 3},
+ {"matrix": [3, 6], "x": 8.5, "y": 3},
- { "label": "N", "x": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
+ {"matrix": [9, 0], "x": 10.5, "y": 3},
+ {"matrix": [9, 1], "x": 11.5, "y": 3},
+ {"matrix": [9, 2], "x": 12.5, "y": 3},
+ {"matrix": [9, 3], "x": 13.5, "y": 3},
+ {"matrix": [9, 5], "x": 14.5, "y": 3},
+ {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75},
+ {"matrix": [9, 7], "x": 17.25, "y": 3},
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
+ {"matrix": [4, 5], "x": 0, "y": 4},
+ {"matrix": [4, 7], "x": 1, "y": 4},
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
+ {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25},
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Left", "x": 15.25, "y": 4 },
- { "label": "Down", "x": 16.25, "y": 4 },
- { "label": "Right", "x": 17.25, "y": 4 }
+ {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25},
+ {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5},
+ {"matrix": [10, 3], "x": 13.25, "y": 4},
+ {"matrix": [10, 4], "x": 14.25, "y": 4},
+ {"matrix": [10, 5], "x": 15.25, "y": 4},
+ {"matrix": [10, 6], "x": 16.25, "y": 4},
+ {"matrix": [10, 7], "x": 17.25, "y": 4}
]
},
"LAYOUT_65_with_macro": {
"layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
+ {"matrix": [4, 3], "x": 0, "y": 0},
+ {"matrix": [0, 7], "x": 1, "y": 0},
- { "label": "Esc", "x": 2.25, "y": 0 },
- { "label": "1", "x": 3.25, "y": 0 },
- { "label": "2", "x": 4.25, "y": 0 },
- { "label": "3", "x": 5.25, "y": 0 },
- { "label": "4", "x": 6.25, "y": 0 },
- { "label": "5", "x": 7.25, "y": 0 },
- { "label": "6", "x": 8.25, "y": 0 },
+ {"matrix": [0, 0], "x": 2.25, "y": 0},
+ {"matrix": [0, 1], "x": 3.25, "y": 0},
+ {"matrix": [0, 2], "x": 4.25, "y": 0},
+ {"matrix": [0, 3], "x": 5.25, "y": 0},
+ {"matrix": [0, 4], "x": 6.25, "y": 0},
+ {"matrix": [0, 5], "x": 7.25, "y": 0},
+ {"matrix": [0, 6], "x": 8.25, "y": 0},
- { "label": "7", "x": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
- { "label": "Home", "x": 18.25, "y": 0 },
+ {"matrix": [6, 0], "x": 10.25, "y": 0},
+ {"matrix": [6, 1], "x": 11.25, "y": 0},
+ {"matrix": [6, 2], "x": 12.25, "y": 0},
+ {"matrix": [6, 3], "x": 13.25, "y": 0},
+ {"matrix": [6, 4], "x": 14.25, "y": 0},
+ {"matrix": [6, 5], "x": 15.25, "y": 0},
+ {"matrix": [6, 6], "x": 16.25, "y": 0},
+ {"matrix": [6, 7], "x": 17.25, "y": 0},
+ {"matrix": [11, 6], "x": 18.25, "y": 0},
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "x": 1, "y": 1 },
+ {"matrix": [1, 6], "x": 0, "y": 1},
+ {"matrix": [1, 7], "x": 1, "y": 1},
- { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 3.75, "y": 1 },
- { "label": "W", "x": 4.75, "y": 1 },
- { "label": "E", "x": 5.75, "y": 1 },
- { "label": "R", "x": 6.75, "y": 1 },
- { "label": "T", "x": 7.75, "y": 1 },
+ {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 3.75, "y": 1},
+ {"matrix": [1, 2], "x": 4.75, "y": 1},
+ {"matrix": [1, 3], "x": 5.75, "y": 1},
+ {"matrix": [1, 4], "x": 6.75, "y": 1},
+ {"matrix": [1, 5], "x": 7.75, "y": 1},
- { "label": "Y", "x": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
- { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
- { "label": "PgUp", "x": 18.25, "y": 1 },
+ {"matrix": [7, 0], "x": 9.75, "y": 1},
+ {"matrix": [7, 1], "x": 10.75, "y": 1},
+ {"matrix": [7, 2], "x": 11.75, "y": 1},
+ {"matrix": [7, 3], "x": 12.75, "y": 1},
+ {"matrix": [7, 4], "x": 13.75, "y": 1},
+ {"matrix": [7, 5], "x": 14.75, "y": 1},
+ {"matrix": [7, 6], "x": 15.75, "y": 1},
+ {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5},
+ {"matrix": [11, 7], "x": 18.25, "y": 1},
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "x": 1, "y": 2 },
+ {"matrix": [2, 6], "x": 0, "y": 2},
+ {"matrix": [2, 7], "x": 1, "y": 2},
- { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 },
- { "label": "A", "x": 4, "y": 2 },
- { "label": "S", "x": 5, "y": 2 },
- { "label": "D", "x": 6, "y": 2 },
- { "label": "F", "x": 7, "y": 2 },
- { "label": "G", "x": 8, "y": 2 },
+ {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 4, "y": 2},
+ {"matrix": [2, 2], "x": 5, "y": 2},
+ {"matrix": [2, 3], "x": 6, "y": 2},
+ {"matrix": [2, 4], "x": 7, "y": 2},
+ {"matrix": [2, 5], "x": 8, "y": 2},
- { "label": "H", "x": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "Enter", "x": 16, "y": 2, "w": 2.25 },
- { "label": "PgDn", "x": 18.25, "y": 2 },
+ {"matrix": [8, 0], "x": 10, "y": 2},
+ {"matrix": [8, 1], "x": 11, "y": 2},
+ {"matrix": [8, 2], "x": 12, "y": 2},
+ {"matrix": [8, 3], "x": 13, "y": 2},
+ {"matrix": [8, 4], "x": 14, "y": 2},
+ {"matrix": [8, 5], "x": 15, "y": 2},
+ {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25},
+ {"matrix": [8, 6], "x": 18.25, "y": 2},
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
+ {"matrix": [3, 1], "x": 0, "y": 3},
+ {"matrix": [3, 7], "x": 1, "y": 3},
- { "label": "Shift", "x": 2.25, "y": 3, "w": 2.25 },
- { "label": "Z", "x": 4.5, "y": 3 },
- { "label": "X", "x": 5.5, "y": 3 },
- { "label": "C", "x": 6.5, "y": 3 },
- { "label": "V", "x": 7.5, "y": 3 },
- { "label": "B", "x": 8.5, "y": 3 },
+ {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 4.5, "y": 3},
+ {"matrix": [3, 3], "x": 5.5, "y": 3},
+ {"matrix": [3, 4], "x": 6.5, "y": 3},
+ {"matrix": [3, 5], "x": 7.5, "y": 3},
+ {"matrix": [3, 6], "x": 8.5, "y": 3},
- { "label": "N", "x": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
- { "label": "End", "x": 18.25, "y": 3 },
+ {"matrix": [9, 0], "x": 10.5, "y": 3},
+ {"matrix": [9, 1], "x": 11.5, "y": 3},
+ {"matrix": [9, 2], "x": 12.5, "y": 3},
+ {"matrix": [9, 3], "x": 13.5, "y": 3},
+ {"matrix": [9, 5], "x": 14.5, "y": 3},
+ {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75},
+ {"matrix": [9, 7], "x": 17.25, "y": 3},
+ {"matrix": [9, 4], "x": 18.25, "y": 3},
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
+ {"matrix": [4, 5], "x": 0, "y": 4},
+ {"matrix": [4, 7], "x": 1, "y": 4},
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4, "w": 2.25 },
+ {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25},
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Win", "x": 15.25, "y": 4 },
- { "label": "Left", "x": 16.25, "y": 4 },
- { "label": "Down", "x": 17.25, "y": 4 },
- { "label": "Right", "x": 18.25, "y": 4 }
+ {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25},
+ {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5},
+ {"matrix": [10, 3], "x": 13.25, "y": 4},
+ {"matrix": [10, 4], "x": 14.25, "y": 4},
+ {"matrix": [10, 5], "x": 15.25, "y": 4},
+ {"matrix": [10, 6], "x": 16.25, "y": 4},
+ {"matrix": [10, 7], "x": 17.25, "y": 4},
+ {"matrix": [10, 2], "x": 18.25, "y": 4}
]
},
"LAYOUT_all": {
"layout": [
- { "label": "F1", "x": 0, "y": 0 },
- { "label": "F6", "x": 1, "y": 0 },
+ {"matrix": [4, 3], "x": 0, "y": 0},
+ {"matrix": [0, 7], "x": 1, "y": 0},
- { "label": "Esc", "x": 2.25, "y": 0 },
- { "label": "1", "x": 3.25, "y": 0 },
- { "label": "2", "x": 4.25, "y": 0 },
- { "label": "3", "x": 5.25, "y": 0 },
- { "label": "4", "x": 6.25, "y": 0 },
- { "label": "5", "x": 7.25, "y": 0 },
- { "label": "6", "x": 8.25, "y": 0 },
+ {"matrix": [0, 0], "x": 2.25, "y": 0},
+ {"matrix": [0, 1], "x": 3.25, "y": 0},
+ {"matrix": [0, 2], "x": 4.25, "y": 0},
+ {"matrix": [0, 3], "x": 5.25, "y": 0},
+ {"matrix": [0, 4], "x": 6.25, "y": 0},
+ {"matrix": [0, 5], "x": 7.25, "y": 0},
+ {"matrix": [0, 6], "x": 8.25, "y": 0},
- { "label": "7", "x": 10.25, "y": 0 },
- { "label": "8", "x": 11.25, "y": 0 },
- { "label": "9", "x": 12.25, "y": 0 },
- { "label": "0", "x": 13.25, "y": 0 },
- { "label": "-", "x": 14.25, "y": 0 },
- { "label": "=", "x": 15.25, "y": 0 },
- { "label": "Del", "x": 16.25, "y": 0 },
- { "label": "Bksp", "x": 17.25, "y": 0 },
- { "label": "Home", "x": 18.25, "y": 0 },
+ {"matrix": [6, 0], "x": 10.25, "y": 0},
+ {"matrix": [6, 1], "x": 11.25, "y": 0},
+ {"matrix": [6, 2], "x": 12.25, "y": 0},
+ {"matrix": [6, 3], "x": 13.25, "y": 0},
+ {"matrix": [6, 4], "x": 14.25, "y": 0},
+ {"matrix": [6, 5], "x": 15.25, "y": 0},
+ {"matrix": [6, 6], "x": 16.25, "y": 0},
+ {"matrix": [6, 7], "x": 17.25, "y": 0},
+ {"matrix": [11, 6], "x": 18.25, "y": 0},
- { "label": "F2", "x": 0, "y": 1 },
- { "label": "F7", "x": 1, "y": 1 },
+ {"matrix": [1, 6], "x": 0, "y": 1},
+ {"matrix": [1, 7], "x": 1, "y": 1},
- { "label": "Tab", "x": 2.25, "y": 1, "w": 1.5 },
- { "label": "Q", "x": 3.75, "y": 1 },
- { "label": "W", "x": 4.75, "y": 1 },
- { "label": "E", "x": 5.75, "y": 1 },
- { "label": "R", "x": 6.75, "y": 1 },
- { "label": "T", "x": 7.75, "y": 1 },
+ {"matrix": [1, 0], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 3.75, "y": 1},
+ {"matrix": [1, 2], "x": 4.75, "y": 1},
+ {"matrix": [1, 3], "x": 5.75, "y": 1},
+ {"matrix": [1, 4], "x": 6.75, "y": 1},
+ {"matrix": [1, 5], "x": 7.75, "y": 1},
- { "label": "Y", "x": 9.75, "y": 1 },
- { "label": "U", "x": 10.75, "y": 1 },
- { "label": "I", "x": 11.75, "y": 1 },
- { "label": "O", "x": 12.75, "y": 1 },
- { "label": "P", "x": 13.75, "y": 1 },
- { "label": "[", "x": 14.75, "y": 1 },
- { "label": "]", "x": 15.75, "y": 1 },
- { "label": "Backslash", "x": 16.75, "y": 1, "w": 1.5 },
- { "label": "PgUp", "x": 18.25, "y": 1 },
+ {"matrix": [7, 0], "x": 9.75, "y": 1},
+ {"matrix": [7, 1], "x": 10.75, "y": 1},
+ {"matrix": [7, 2], "x": 11.75, "y": 1},
+ {"matrix": [7, 3], "x": 12.75, "y": 1},
+ {"matrix": [7, 4], "x": 13.75, "y": 1},
+ {"matrix": [7, 5], "x": 14.75, "y": 1},
+ {"matrix": [7, 6], "x": 15.75, "y": 1},
+ {"matrix": [7, 7], "x": 16.75, "y": 1, "w": 1.5},
+ {"matrix": [11, 7], "x": 18.25, "y": 1},
- { "label": "F3", "x": 0, "y": 2 },
- { "label": "F8", "x": 1, "y": 2 },
+ {"matrix": [2, 6], "x": 0, "y": 2},
+ {"matrix": [2, 7], "x": 1, "y": 2},
- { "label": "Caps Lock", "x": 2.25, "y": 2, "w": 1.75 },
- { "label": "A", "x": 4, "y": 2 },
- { "label": "S", "x": 5, "y": 2 },
- { "label": "D", "x": 6, "y": 2 },
- { "label": "F", "x": 7, "y": 2 },
- { "label": "G", "x": 8, "y": 2 },
+ {"matrix": [2, 0], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 4, "y": 2},
+ {"matrix": [2, 2], "x": 5, "y": 2},
+ {"matrix": [2, 3], "x": 6, "y": 2},
+ {"matrix": [2, 4], "x": 7, "y": 2},
+ {"matrix": [2, 5], "x": 8, "y": 2},
- { "label": "H", "x": 10, "y": 2 },
- { "label": "J", "x": 11, "y": 2 },
- { "label": "K", "x": 12, "y": 2 },
- { "label": "L", "x": 13, "y": 2 },
- { "label": ";", "x": 14, "y": 2 },
- { "label": "'", "x": 15, "y": 2 },
- { "label": "NUHS", "x": 16, "y": 2 },
- { "label": "Enter", "x": 17, "y": 2, "w": 1.25 },
- { "label": "PgDn", "x": 18.25, "y": 2 },
+ {"matrix": [8, 0], "x": 10, "y": 2},
+ {"matrix": [8, 1], "x": 11, "y": 2},
+ {"matrix": [8, 2], "x": 12, "y": 2},
+ {"matrix": [8, 3], "x": 13, "y": 2},
+ {"matrix": [8, 4], "x": 14, "y": 2},
+ {"matrix": [8, 5], "x": 15, "y": 2},
+ {"matrix": [8, 7], "x": 16, "y": 2, "w": 2.25},
+ {"matrix": [8, 6], "x": 18.25, "y": 2},
- { "label": "F4", "x": 0, "y": 3 },
- { "label": "F9", "x": 1, "y": 3 },
+ {"matrix": [3, 1], "x": 0, "y": 3},
+ {"matrix": [3, 7], "x": 1, "y": 3},
- { "label": "Shift", "x": 2.25, "y": 3, "w": 1.25 },
- { "label": "NUBS", "x": 3.5, "y": 3 },
- { "label": "Z", "x": 4.5, "y": 3 },
- { "label": "X", "x": 5.5, "y": 3 },
- { "label": "C", "x": 6.5, "y": 3 },
- { "label": "V", "x": 7.5, "y": 3 },
- { "label": "B", "x": 8.5, "y": 3 },
+ {"matrix": [3, 0], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 4.5, "y": 3},
+ {"matrix": [3, 3], "x": 5.5, "y": 3},
+ {"matrix": [3, 4], "x": 6.5, "y": 3},
+ {"matrix": [3, 5], "x": 7.5, "y": 3},
+ {"matrix": [3, 6], "x": 8.5, "y": 3},
- { "label": "N", "x": 10.5, "y": 3 },
- { "label": "M", "x": 11.5, "y": 3 },
- { "label": ",", "x": 12.5, "y": 3 },
- { "label": ".", "x": 13.5, "y": 3 },
- { "label": "/", "x": 14.5, "y": 3 },
- { "label": "Shift", "x": 15.5, "y": 3, "w": 1.75 },
- { "label": "Up", "x": 17.25, "y": 3 },
- { "label": "End", "x": 18.25, "y": 3 },
+ {"matrix": [9, 0], "x": 10.5, "y": 3},
+ {"matrix": [9, 1], "x": 11.5, "y": 3},
+ {"matrix": [9, 2], "x": 12.5, "y": 3},
+ {"matrix": [9, 3], "x": 13.5, "y": 3},
+ {"matrix": [9, 5], "x": 14.5, "y": 3},
+ {"matrix": [9, 6], "x": 15.5, "y": 3, "w": 1.75},
+ {"matrix": [9, 7], "x": 17.25, "y": 3},
+ {"matrix": [9, 4], "x": 18.25, "y": 3},
- { "label": "F5", "x": 0, "y": 4 },
- { "label": "F10", "x": 1, "y": 4 },
+ {"matrix": [4, 5], "x": 0, "y": 4},
+ {"matrix": [4, 7], "x": 1, "y": 4},
- { "label": "Ctrl", "x": 2.25, "y": 4, "w": 1.25 },
- { "label": "Alt", "x": 3.5, "y": 4, "w": 1.25 },
- { "label": "Win", "x": 4.75, "y": 4, "w": 1.25 },
- { "label": "Fn", "x": 6, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 7.25, "y": 4 },
- { "label": "Space", "x": 8.25, "y": 4, "w": 1.25 },
+ {"matrix": [4, 0], "x": 2.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 3.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 4.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 6, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 7.25, "y": 4, "w": 2.25},
- { "label": "Fn", "x": 10.5, "y": 4, "w": 1.25 },
- { "label": "Space", "x": 11.75, "y": 4, "w": 1.5 },
- { "label": "Alt", "x": 13.25, "y": 4 },
- { "label": "Ctrl", "x": 14.25, "y": 4 },
- { "label": "Win", "x": 15.25, "y": 4 },
- { "label": "Left", "x": 16.25, "y": 4 },
- { "label": "Down", "x": 17.25, "y": 4 },
- { "label": "Right", "x": 18.25, "y": 4 }
+ {"matrix": [10, 0], "x": 10.5, "y": 4, "w": 1.25},
+ {"matrix": [10, 1], "x": 11.75, "y": 4, "w": 1.5},
+ {"matrix": [10, 3], "x": 13.25, "y": 4},
+ {"matrix": [10, 4], "x": 14.25, "y": 4},
+ {"matrix": [10, 5], "x": 15.25, "y": 4},
+ {"matrix": [10, 6], "x": 16.25, "y": 4},
+ {"matrix": [10, 7], "x": 17.25, "y": 4},
+ {"matrix": [10, 2], "x": 18.25, "y": 4}
]
}
}
diff --git a/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c
new file mode 100644
index 00000000000..04349ea990a
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev1/keymaps/via/keymap.c
@@ -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
diff --git a/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk b/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk
new file mode 100644
index 00000000000..1189f4ad192
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev1/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/quefrency/rev1/rev1.c b/keyboards/keebio/quefrency/rev1/rev1.c
index f34f85b2cc5..51adb74d31f 100644
--- a/keyboards/keebio/quefrency/rev1/rev1.c
+++ b/keyboards/keebio/quefrency/rev1/rev1.c
@@ -1,4 +1,4 @@
-#include "rev1.h"
+#include "quantum.h"
void eeconfig_init_kb(void) {
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/keebio/quefrency/rev1/rev1.h b/keyboards/keebio/quefrency/rev1/rev1.h
deleted file mode 100644
index 89a9c4a19db..00000000000
--- a/keyboards/keebio/quefrency/rev1/rev1.h
+++ /dev/null
@@ -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 } \
- }
diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json
index 524eec0da87..e12e7717eb7 100644
--- a/keyboards/rgbkb/pan/info.json
+++ b/keyboards/rgbkb/pan/info.json
@@ -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}
]
}
}
diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c
index 367aadbb4b0..5d84ea07638 100644
--- a/keyboards/rgbkb/pan/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c
@@ -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, _______, _______,
diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c
index f0194ebdfdf..fab3cac7854 100644
--- a/keyboards/rgbkb/pan/pan.c
+++ b/keyboards/rgbkb/pan/pan.c
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "pan.h"
+
#include "quantum.h"
#include "rgb_matrix_types.h"
diff --git a/keyboards/rgbkb/pan/pan.h b/keyboards/rgbkb/pan/pan.h
deleted file mode 100644
index c1b9f77f6df..00000000000
--- a/keyboards/rgbkb/pan/pan.h
+++ /dev/null
@@ -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 .
- */
-
-#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 } \
- }
diff --git a/util/ci/generate_failure_markdown.sh b/util/ci/generate_failure_markdown.sh
new file mode 100755
index 00000000000..5f21f06856f
--- /dev/null
+++ b/util/ci/generate_failure_markdown.sh
@@ -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