Fix layouts containing keys with multiple matrix positions (#20191)

This commit is contained in:
Ryan
2023-03-29 15:47:59 +11:00
committed by GitHub
parent dc2a625a34
commit 06664e8a94
43 changed files with 2144 additions and 1818 deletions

View File

@@ -22,9 +22,63 @@
"processor": "atmega32a",
"bootloader": "bootloadhid",
"community_layouts": ["planck_mit"],
"layout_aliases": {
"LAYOUT": "LAYOUT_planck_mit"
},
"layouts": {
"LAYOUT_planck_mit": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
"layout": [
{"matrix": [4, 0], "x": 0, "y": 0},
{"matrix": [3, 1], "x": 1, "y": 0},
{"matrix": [3, 2], "x": 2, "y": 0},
{"matrix": [3, 3], "x": 3, "y": 0},
{"matrix": [3, 4], "x": 4, "y": 0},
{"matrix": [3, 5], "x": 5, "y": 0},
{"matrix": [5, 2], "x": 6, "y": 0},
{"matrix": [5, 12], "x": 7, "y": 0},
{"matrix": [6, 12], "x": 8, "y": 0},
{"matrix": [6, 2], "x": 9, "y": 0},
{"matrix": [3, 10], "x": 10, "y": 0},
{"matrix": [4, 14], "x": 11, "y": 0},
{"matrix": [3, 0], "x": 0, "y": 1},
{"matrix": [2, 1], "x": 1, "y": 1},
{"matrix": [2, 2], "x": 2, "y": 1},
{"matrix": [2, 3], "x": 3, "y": 1},
{"matrix": [2, 4], "x": 4, "y": 1},
{"matrix": [2, 5], "x": 5, "y": 1},
{"matrix": [5, 3], "x": 6, "y": 1},
{"matrix": [5, 13], "x": 7, "y": 1},
{"matrix": [6, 13], "x": 8, "y": 1},
{"matrix": [6, 3], "x": 9, "y": 1},
{"matrix": [2, 10], "x": 10, "y": 1},
{"matrix": [2, 11], "x": 11, "y": 1},
{"matrix": [1, 0], "x": 0, "y": 2},
{"matrix": [1, 1], "x": 1, "y": 2},
{"matrix": [1, 2], "x": 2, "y": 2},
{"matrix": [1, 3], "x": 3, "y": 2},
{"matrix": [1, 4], "x": 4, "y": 2},
{"matrix": [1, 5], "x": 5, "y": 2},
{"matrix": [5, 4], "x": 6, "y": 2},
{"matrix": [5, 14], "x": 7, "y": 2},
{"matrix": [6, 14], "x": 8, "y": 2},
{"matrix": [6, 4], "x": 9, "y": 2},
{"matrix": [1, 10], "x": 10, "y": 2},
{"matrix": [6, 6], "x": 11, "y": 2},
{"matrix": [2, 0], "x": 0, "y": 3},
{"matrix": [0, 0], "x": 1, "y": 3},
{"matrix": [0, 1], "x": 2, "y": 3},
{"matrix": [0, 2], "x": 3, "y": 3},
{"matrix": [0, 4], "x": 4, "y": 3},
{"matrix": [0, 5], "x": 5, "y": 3, "w": 2},
{"matrix": [0, 11], "x": 7, "y": 3},
{"matrix": [5, 6], "x": 8, "y": 3},
{"matrix": [5, 8], "x": 9, "y": 3},
{"matrix": [5, 7], "x": 10, "y": 3},
{"matrix": [5, 9], "x": 11, "y": 3}
]
}
}
}

View File

@@ -1,42 +0,0 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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"
#define XXX KC_NO
// This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
#define LAYOUT_planck_mit( \
k40, k31, k32, k33, k34, k35, k52, k5C, k6C, k62, k3A, k4E, \
k30, k21, k22, k23, k24, k25, k53, k5D, k6D, k63, k2A, k2B, \
k10, k11, k12, k13, k14, k15, k54, k5E, k6E, k64, k1A, k66, \
k20, k00, k01, k02, k04, k05, k0B, k56, k58, k57, k59 \
) { \
{ k00, k01, k02, XXX, k04, k05, XXX, XXX, XXX, XXX, XXX, k0B, XXX, XXX, XXX }, \
{ k10, k11, k12, k13, k14, k15, XXX, XXX, XXX, XXX, k1A, XXX, XXX, XXX, XXX }, \
{ k20, k21, k22, k23, k24, k25, XXX, XXX, XXX, XXX, k2A, k2B, XXX, XXX, XXX }, \
{ k30, k31, k32, k33, k34, k35, XXX, XXX, XXX, XXX, k3A, XXX, XXX, XXX, XXX }, \
{ k40, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k4E }, \
{ XXX, XXX, k52, k53, k54, k05, k56, k57, k58, k59, XXX, XXX, k5C, k5D, k5E }, \
{ XXX, XXX, k62, k63, k64, XXX, k66, XXX, XXX, XXX, XXX, XXX, k6C, k6D, k6E } \
}
#define LAYOUT LAYOUT_planck_mit