Merge remote-tracking branch 'upstream/master' into develop
This commit is contained in:
commit
ac80cee9da
20 changed files with 458 additions and 109 deletions
2
.clangd
2
.clangd
|
@ -1,4 +1,4 @@
|
||||||
CompileFlags:
|
CompileFlags:
|
||||||
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
|
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
|
||||||
Remove: [-W*, -mcall-prologues]
|
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues]
|
||||||
Compiler: clang
|
Compiler: clang
|
||||||
|
|
|
@ -171,100 +171,11 @@
|
||||||
"driver": "vendor",
|
"driver": "vendor",
|
||||||
"pin": "GP4"
|
"pin": "GP4"
|
||||||
},
|
},
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT_all": "LAYOUT_tkl_ansi_tsangan_split_bs_rshift"
|
||||||
|
},
|
||||||
"community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift"],
|
"community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift"],
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_all": {
|
|
||||||
"layout": [
|
|
||||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
|
||||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
|
||||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
|
||||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
|
||||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
|
||||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
|
||||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
|
||||||
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
|
||||||
{"matrix": [0, 9], "x": 9.75, "y": 0},
|
|
||||||
{"matrix": [0, 10], "x": 10.75, "y": 0},
|
|
||||||
{"matrix": [0, 11], "x": 11.75, "y": 0},
|
|
||||||
{"matrix": [0, 12], "x": 12.75, "y": 0},
|
|
||||||
{"matrix": [0, 13], "x": 14, "y": 0},
|
|
||||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
|
||||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
|
||||||
{"matrix": [0, 16], "x": 17.25, "y": 0},
|
|
||||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
|
||||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
|
||||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
|
||||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
|
||||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
|
||||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
|
||||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
|
||||||
{"matrix": [1, 7], "x": 7, "y": 1.25},
|
|
||||||
{"matrix": [1, 8], "x": 8, "y": 1.25},
|
|
||||||
{"matrix": [1, 9], "x": 9, "y": 1.25},
|
|
||||||
{"matrix": [1, 10], "x": 10, "y": 1.25},
|
|
||||||
{"matrix": [1, 11], "x": 11, "y": 1.25},
|
|
||||||
{"matrix": [1, 12], "x": 12, "y": 1.25},
|
|
||||||
{"matrix": [1, 13], "x": 13, "y": 1.25},
|
|
||||||
{"matrix": [1, 14], "x": 14, "y": 1.25},
|
|
||||||
{"matrix": [2, 14], "x": 15.25, "y": 1.25},
|
|
||||||
{"matrix": [1, 15], "x": 16.25, "y": 1.25},
|
|
||||||
{"matrix": [1, 16], "x": 17.25, "y": 1.25},
|
|
||||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
|
||||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 10], "x": 10.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 11], "x": 11.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 12], "x": 12.5, "y": 2.25},
|
|
||||||
{"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
|
|
||||||
{"matrix": [3, 14], "x": 15.25, "y": 2.25},
|
|
||||||
{"matrix": [2, 15], "x": 16.25, "y": 2.25},
|
|
||||||
{"matrix": [2, 16], "x": 17.25, "y": 2.25},
|
|
||||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
|
||||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 10], "x": 11.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 11], "x": 12.75, "y": 3.25},
|
|
||||||
{"matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
|
|
||||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
|
||||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 10], "x": 10.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 11], "x": 11.25, "y": 4.25},
|
|
||||||
{"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
|
|
||||||
{"matrix": [4, 13], "x": 14, "y": 4.25},
|
|
||||||
{"matrix": [4, 15], "x": 16.25, "y": 4.25},
|
|
||||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
|
||||||
{"matrix": [5, 1], "x": 1.5, "y": 5.25, "w": 1},
|
|
||||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
|
||||||
{"matrix": [5, 7], "x": 4, "y": 5.25, "w": 7},
|
|
||||||
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
|
|
||||||
{"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1},
|
|
||||||
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
|
||||||
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
|
||||||
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
|
||||||
{"matrix": [5, 16], "x": 17.25, "y": 5.25}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"LAYOUT_tkl_ansi_tsangan": {
|
"LAYOUT_tkl_ansi_tsangan": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
@ -346,9 +257,9 @@
|
||||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
|
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
|
||||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
|
{"matrix": [5, 7], "x": 4, "y": 5.25, "w": 7},
|
||||||
{"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 11], "x": 12.5, "y": 5.25},
|
{"matrix": [5, 12], "x": 12.5, "y": 5.25},
|
||||||
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
||||||
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
||||||
|
@ -438,9 +349,9 @@
|
||||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
|
{"matrix": [5, 1], "x": 1.5, "y": 5.25},
|
||||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
|
{"matrix": [5, 7], "x": 4, "y": 5.25, "w": 7},
|
||||||
{"matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 11], "x": 12.5, "y": 5.25},
|
{"matrix": [5, 12], "x": 12.5, "y": 5.25},
|
||||||
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
{"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||||
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
{"matrix": [5, 14], "x": 15.25, "y": 5.25},
|
||||||
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
{"matrix": [5, 15], "x": 16.25, "y": 5.25},
|
||||||
|
|
3
layouts/community/60_ansi_arrow_split_bs/readme.md
Normal file
3
layouts/community/60_ansi_arrow_split_bs/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_ansi_arrow_split_bs
|
||||||
|
|
||||||
|
LAYOUT_60_ansi_arrow_split_bs
|
3
layouts/community/60_iso_arrow/readme.md
Normal file
3
layouts/community/60_iso_arrow/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_iso_arrow
|
||||||
|
|
||||||
|
LAYOUT_60_iso_arrow
|
3
layouts/community/60_iso_arrow_split_bs/readme.md
Normal file
3
layouts/community/60_iso_arrow_split_bs/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_iso_arrow_split_bs
|
||||||
|
|
||||||
|
LAYOUT_60_iso_arrow_split_bs
|
|
@ -6,15 +6,15 @@
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/*
|
/*
|
||||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
* │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │Bspc │
|
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│
|
||||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
* │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
|
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
||||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||||
* │Caps │A │S │D │F │G │H │J │K │L │; │' │Enter │
|
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||||
* │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
|
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Shift│ ↑ │ / │
|
||||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
* │Ctrl│GUI │Alt │Space │Alt│GUI│← │↓ │→ │
|
* │Ctrl│GUI │Alt │Space │Alt│GUI│ ← │ ↓ │ → │
|
||||||
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_60_ansi_arrow(
|
[0] = LAYOUT_60_ansi_arrow(
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ + │ \ │ ` │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||||
|
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||||
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||||
|
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Shift│ ↑ │ / │
|
||||||
|
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
* │Ctrl│GUI │Alt │ │Alt│GUI│ ← │ ↓ │ → │
|
||||||
|
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
[0] = LAYOUT_60_ansi_arrow_split_bs(
|
||||||
|
KC_ESC, 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_BSLS, KC_GRV,
|
||||||
|
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_BSPC,
|
||||||
|
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
79
layouts/default/60_ansi_arrow_split_bs/info.json
Normal file
79
layouts/default/60_ansi_arrow_split_bs/info.json
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "60% ANSI Arrow Layout with Split Backspace",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_60_ansi_arrow_split_bs": {
|
||||||
|
"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": 12, "y": 0},
|
||||||
|
{"x": 13, "y": 0},
|
||||||
|
{"x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 1},
|
||||||
|
{"x": 2.5, "y": 1},
|
||||||
|
{"x": 3.5, "y": 1},
|
||||||
|
{"x": 4.5, "y": 1},
|
||||||
|
{"x": 5.5, "y": 1},
|
||||||
|
{"x": 6.5, "y": 1},
|
||||||
|
{"x": 7.5, "y": 1},
|
||||||
|
{"x": 8.5, "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, "w": 1.5},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"x": 1.75, "y": 2},
|
||||||
|
{"x": 2.75, "y": 2},
|
||||||
|
{"x": 3.75, "y": 2},
|
||||||
|
{"x": 4.75, "y": 2},
|
||||||
|
{"x": 5.75, "y": 2},
|
||||||
|
{"x": 6.75, "y": 2},
|
||||||
|
{"x": 7.75, "y": 2},
|
||||||
|
{"x": 8.75, "y": 2},
|
||||||
|
{"x": 9.75, "y": 2},
|
||||||
|
{"x": 10.75, "y": 2},
|
||||||
|
{"x": 11.75, "y": 2},
|
||||||
|
{"x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"x": 2.25, "y": 3},
|
||||||
|
{"x": 3.25, "y": 3},
|
||||||
|
{"x": 4.25, "y": 3},
|
||||||
|
{"x": 5.25, "y": 3},
|
||||||
|
{"x": 6.25, "y": 3},
|
||||||
|
{"x": 7.25, "y": 3},
|
||||||
|
{"x": 8.25, "y": 3},
|
||||||
|
{"x": 9.25, "y": 3},
|
||||||
|
{"x": 10.25, "y": 3},
|
||||||
|
{"x": 11.25, "y": 3, "w": 1.75},
|
||||||
|
{"x": 13, "y": 3},
|
||||||
|
{"x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"x": 10, "y": 4},
|
||||||
|
{"x": 11, "y": 4},
|
||||||
|
{"x": 12, "y": 4},
|
||||||
|
{"x": 13, "y": 4},
|
||||||
|
{"x": 14, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
5
layouts/default/60_ansi_arrow_split_bs/layout.json
Normal file
5
layouts/default/60_ansi_arrow_split_bs/layout.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[{a:7},"","","","","","","","","","","","","","",""],
|
||||||
|
[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""],
|
||||||
|
[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
|
||||||
|
[{w:2.25},"","","","","","","","","","",{w:1.75},"","",""],
|
||||||
|
[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
|
3
layouts/default/60_ansi_arrow_split_bs/readme.md
Normal file
3
layouts/default/60_ansi_arrow_split_bs/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_ansi_arrow_split_bs
|
||||||
|
|
||||||
|
LAYOUT_60_ansi_arrow_split_bs
|
27
layouts/default/60_iso_arrow/default_60_iso_arrow/keymap.c
Normal file
27
layouts/default/60_iso_arrow/default_60_iso_arrow/keymap.c
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ + │ Backsp│
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│
|
||||||
|
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬──┴┬───┤
|
||||||
|
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Shift│ ↑ │ / │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
* │Ctrl│GUI │Alt │ │Alt│GUI│ ← │ ↓ │ → │
|
||||||
|
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
[0] = LAYOUT_60_iso_arrow(
|
||||||
|
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_BSPC,
|
||||||
|
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
79
layouts/default/60_iso_arrow/info.json
Normal file
79
layouts/default/60_iso_arrow/info.json
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "60% ISO Arrow Layout",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_60_iso_arrow": {
|
||||||
|
"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": 12, "y": 0},
|
||||||
|
{"x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 1},
|
||||||
|
{"x": 2.5, "y": 1},
|
||||||
|
{"x": 3.5, "y": 1},
|
||||||
|
{"x": 4.5, "y": 1},
|
||||||
|
{"x": 5.5, "y": 1},
|
||||||
|
{"x": 6.5, "y": 1},
|
||||||
|
{"x": 7.5, "y": 1},
|
||||||
|
{"x": 8.5, "y": 1},
|
||||||
|
{"x": 9.5, "y": 1},
|
||||||
|
{"x": 10.5, "y": 1},
|
||||||
|
{"x": 11.5, "y": 1},
|
||||||
|
{"x": 12.5, "y": 1},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"x": 1.75, "y": 2},
|
||||||
|
{"x": 2.75, "y": 2},
|
||||||
|
{"x": 3.75, "y": 2},
|
||||||
|
{"x": 4.75, "y": 2},
|
||||||
|
{"x": 5.75, "y": 2},
|
||||||
|
{"x": 6.75, "y": 2},
|
||||||
|
{"x": 7.75, "y": 2},
|
||||||
|
{"x": 8.75, "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": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 3},
|
||||||
|
{"x": 2.25, "y": 3},
|
||||||
|
{"x": 3.25, "y": 3},
|
||||||
|
{"x": 4.25, "y": 3},
|
||||||
|
{"x": 5.25, "y": 3},
|
||||||
|
{"x": 6.25, "y": 3},
|
||||||
|
{"x": 7.25, "y": 3},
|
||||||
|
{"x": 8.25, "y": 3},
|
||||||
|
{"x": 9.25, "y": 3},
|
||||||
|
{"x": 10.25, "y": 3},
|
||||||
|
{"x": 11.25, "y": 3, "w": 1.75},
|
||||||
|
{"x": 13, "y": 3},
|
||||||
|
{"x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"x": 10, "y": 4},
|
||||||
|
{"x": 11, "y": 4},
|
||||||
|
{"x": 12, "y": 4},
|
||||||
|
{"x": 13, "y": 4},
|
||||||
|
{"x": 14, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
5
layouts/default/60_iso_arrow/layout.json
Normal file
5
layouts/default/60_iso_arrow/layout.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[{a:7},"","","","","","","","","","","","","",{w:2},""],
|
||||||
|
[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},""],
|
||||||
|
[{w:1.75},"","","","","","","","","","","","",""],
|
||||||
|
[{w:1.25},"","","","","","","","","","","",{w:1.75},"","",""],
|
||||||
|
[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
|
3
layouts/default/60_iso_arrow/readme.md
Normal file
3
layouts/default/60_iso_arrow/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_iso_arrow
|
||||||
|
|
||||||
|
LAYOUT_60_iso_arrow
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ + │Bsp│Del│
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│
|
||||||
|
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬──┴┬───┤
|
||||||
|
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Shift│ ↑ │ / │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
* │Ctrl│GUI │Alt │ │Alt│GUI│ ← │ ↓ │ → │
|
||||||
|
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
[0] = LAYOUT_60_iso_arrow_split_bs(
|
||||||
|
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_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_LBRC, KC_RBRC,
|
||||||
|
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_NUHS, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
)
|
||||||
|
};
|
80
layouts/default/60_iso_arrow_split_bs/info.json
Normal file
80
layouts/default/60_iso_arrow_split_bs/info.json
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "60% ISO Arrow Layout with Split Backspace",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_60_iso_arrow_split_bs": {
|
||||||
|
"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": 12, "y": 0},
|
||||||
|
{"x": 13, "y": 0},
|
||||||
|
{"x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 1},
|
||||||
|
{"x": 2.5, "y": 1},
|
||||||
|
{"x": 3.5, "y": 1},
|
||||||
|
{"x": 4.5, "y": 1},
|
||||||
|
{"x": 5.5, "y": 1},
|
||||||
|
{"x": 6.5, "y": 1},
|
||||||
|
{"x": 7.5, "y": 1},
|
||||||
|
{"x": 8.5, "y": 1},
|
||||||
|
{"x": 9.5, "y": 1},
|
||||||
|
{"x": 10.5, "y": 1},
|
||||||
|
{"x": 11.5, "y": 1},
|
||||||
|
{"x": 12.5, "y": 1},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"x": 1.75, "y": 2},
|
||||||
|
{"x": 2.75, "y": 2},
|
||||||
|
{"x": 3.75, "y": 2},
|
||||||
|
{"x": 4.75, "y": 2},
|
||||||
|
{"x": 5.75, "y": 2},
|
||||||
|
{"x": 6.75, "y": 2},
|
||||||
|
{"x": 7.75, "y": 2},
|
||||||
|
{"x": 8.75, "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": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 3},
|
||||||
|
{"x": 2.25, "y": 3},
|
||||||
|
{"x": 3.25, "y": 3},
|
||||||
|
{"x": 4.25, "y": 3},
|
||||||
|
{"x": 5.25, "y": 3},
|
||||||
|
{"x": 6.25, "y": 3},
|
||||||
|
{"x": 7.25, "y": 3},
|
||||||
|
{"x": 8.25, "y": 3},
|
||||||
|
{"x": 9.25, "y": 3},
|
||||||
|
{"x": 10.25, "y": 3},
|
||||||
|
{"x": 11.25, "y": 3, "w": 1.75},
|
||||||
|
{"x": 13, "y": 3},
|
||||||
|
{"x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"x": 10, "y": 4},
|
||||||
|
{"x": 11, "y": 4},
|
||||||
|
{"x": 12, "y": 4},
|
||||||
|
{"x": 13, "y": 4},
|
||||||
|
{"x": 14, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
5
layouts/default/60_iso_arrow_split_bs/layout.json
Normal file
5
layouts/default/60_iso_arrow_split_bs/layout.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[{a:7},"","","","","","","","","","","","","","",""],
|
||||||
|
[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},""],
|
||||||
|
[{w:1.75},"","","","","","","","","","","","",""],
|
||||||
|
[{w:1.25},"","","","","","","","","","","",{w:1.75},"","",""],
|
||||||
|
[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
|
3
layouts/default/60_iso_arrow_split_bs/readme.md
Normal file
3
layouts/default/60_iso_arrow_split_bs/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# 60_iso_arrow_split_bs
|
||||||
|
|
||||||
|
LAYOUT_60_iso_arrow_split_bs
|
|
@ -49,6 +49,36 @@ LAYOUT_60_ansi_arrow
|
||||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYOUT_60_ansi_arrow_split_bs
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │
|
||||||
|
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYOUT_60_ansi_arrow_split_bs_7u_spc
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
|
||||||
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
LAYOUT_60_ansi_split_bs_rshift
|
LAYOUT_60_ansi_split_bs_rshift
|
||||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
@ -139,6 +169,36 @@ LAYOUT_60_iso
|
||||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYOUT_60_iso_arrow
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬──┴┬───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │
|
||||||
|
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYOUT_60_iso_arrow_split_bs
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬──┴┬───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||||
|
│ │ │ │ │ │ │ │ │ │
|
||||||
|
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||||
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
LAYOUT_60_iso_split_bs_rshift
|
LAYOUT_60_iso_split_bs_rshift
|
||||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
|
|
@ -25,7 +25,6 @@ def system_libs(binary: str) -> List[Path]:
|
||||||
"""Find the system include directory that the given build tool uses.
|
"""Find the system include directory that the given build tool uses.
|
||||||
"""
|
"""
|
||||||
cli.log.debug("searching for system library directory for binary: %s", binary)
|
cli.log.debug("searching for system library directory for binary: %s", binary)
|
||||||
bin_path = shutil.which(binary)
|
|
||||||
|
|
||||||
# Actually query xxxxxx-gcc to find its include paths.
|
# Actually query xxxxxx-gcc to find its include paths.
|
||||||
if binary.endswith("gcc") or binary.endswith("g++"):
|
if binary.endswith("gcc") or binary.endswith("g++"):
|
||||||
|
@ -37,7 +36,31 @@ def system_libs(binary: str) -> List[Path]:
|
||||||
paths.append(Path(line.strip()).resolve())
|
paths.append(Path(line.strip()).resolve())
|
||||||
return paths
|
return paths
|
||||||
|
|
||||||
return list(Path(bin_path).resolve().parent.parent.glob("*/include")) if bin_path else []
|
return list(Path(binary).resolve().parent.parent.glob("*/include")) if binary else []
|
||||||
|
|
||||||
|
|
||||||
|
@lru_cache(maxsize=10)
|
||||||
|
def cpu_defines(binary: str, compiler_args: str) -> List[str]:
|
||||||
|
cli.log.debug("gathering definitions for compilation: %s %s", binary, compiler_args)
|
||||||
|
if binary.endswith("gcc") or binary.endswith("g++"):
|
||||||
|
invocation = [binary, '-dM', '-E']
|
||||||
|
if binary.endswith("gcc"):
|
||||||
|
invocation.extend(['-x', 'c'])
|
||||||
|
elif binary.endswith("g++"):
|
||||||
|
invocation.extend(['-x', 'c++'])
|
||||||
|
compiler_args = shlex.split(compiler_args)
|
||||||
|
invocation.extend(compiler_args)
|
||||||
|
invocation.append('-')
|
||||||
|
result = cli.run(invocation, capture_output=True, check=True, stdin=None, input='\n')
|
||||||
|
define_args = []
|
||||||
|
for line in result.stdout.splitlines():
|
||||||
|
line_args = line.split(' ', 2)
|
||||||
|
if len(line_args) == 3 and line_args[0] == '#define':
|
||||||
|
define_args.append(f'-D{line_args[1]}={line_args[2]}')
|
||||||
|
elif len(line_args) == 2 and line_args[0] == '#define':
|
||||||
|
define_args.append(f'-D{line_args[1]}')
|
||||||
|
return list(sorted(set(define_args)))
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
file_re = re.compile(r'printf "Compiling: ([^"]+)')
|
file_re = re.compile(r'printf "Compiling: ([^"]+)')
|
||||||
|
@ -68,9 +91,12 @@ def parse_make_n(f: Iterator[str]) -> List[Dict[str, str]]:
|
||||||
# we have a hit!
|
# we have a hit!
|
||||||
this_cmd = m.group(1)
|
this_cmd = m.group(1)
|
||||||
args = shlex.split(this_cmd)
|
args = shlex.split(this_cmd)
|
||||||
for s in system_libs(args[0]):
|
binary = shutil.which(args[0])
|
||||||
|
compiler_args = set(filter(lambda x: x.startswith('-m') or x.startswith('-f'), args))
|
||||||
|
for s in system_libs(binary):
|
||||||
args += ['-isystem', '%s' % s]
|
args += ['-isystem', '%s' % s]
|
||||||
new_cmd = ' '.join(shlex.quote(s) for s in args if s != '-mno-thumb-interwork')
|
args.extend(cpu_defines(binary, ' '.join(shlex.quote(s) for s in compiler_args)))
|
||||||
|
new_cmd = ' '.join(shlex.quote(s) for s in args)
|
||||||
records.append({"directory": str(QMK_FIRMWARE.resolve()), "command": new_cmd, "file": this_file})
|
records.append({"directory": str(QMK_FIRMWARE.resolve()), "command": new_cmd, "file": this_file})
|
||||||
state = 'start'
|
state = 'start'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue