Move 60% layouts to data driven (#20477)
This commit is contained in:
		@@ -1,49 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2019 Bubnick
 | 
			
		||||
 | 
			
		||||
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 LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K413, \
 | 
			
		||||
    K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
 | 
			
		||||
    K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       \
 | 
			
		||||
    K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       \
 | 
			
		||||
    K400, K401, K402,                   K406,                   K410, K411, K412        \
 | 
			
		||||
) { \
 | 
			
		||||
    { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013 }, \
 | 
			
		||||
    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113 }, \
 | 
			
		||||
    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  KC_NO }, \
 | 
			
		||||
    { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO }, \
 | 
			
		||||
    { K400,  K401,  K402,  KC_NO, KC_NO, KC_NO, K406,  KC_NO, KC_NO, KC_NO, K410,  K411,  K412,  K413 }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* HHKB Variant */
 | 
			
		||||
#define LAYOUT_60_hhkb( \
 | 
			
		||||
    K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K413, \
 | 
			
		||||
    K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
 | 
			
		||||
    K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,       \
 | 
			
		||||
    K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       \
 | 
			
		||||
          K401, K402,                  K406,                    K410, K411              \
 | 
			
		||||
) { \
 | 
			
		||||
    { K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013 }, \
 | 
			
		||||
    { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113 }, \
 | 
			
		||||
    { K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  KC_NO }, \
 | 
			
		||||
    { K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO }, \
 | 
			
		||||
    { KC_NO, K401,  K402,  KC_NO, KC_NO, KC_NO, K406,  KC_NO, KC_NO, KC_NO, K410,  K411,  KC_NO, K413 }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -32,140 +32,140 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"|", "x":13, "y":0},
 | 
			
		||||
                {"label":"~", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"label":"Control", "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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Meta", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Meta", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"|", "x":13, "y":0},
 | 
			
		||||
                {"label":"~", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"label":"Control", "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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Alt", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Meta", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Meta", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":12.5, "y":4}
 | 
			
		||||
                {"matrix": [4, 1], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -24,31 +24,650 @@
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
        "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":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}, {"x":12.25, "y":3, "w":2.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split": {
 | 
			
		||||
        "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":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}, {"x":12.25, "y":3, "w":1.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_iso": {
 | 
			
		||||
          "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":13.75, "y":1, "w":1.25, "h":2}, {"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":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}, {"x":12.25, "y":3, "w":2.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [1, 13], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_iso_split": {
 | 
			
		||||
        "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.75, "y":1, "w":1.25, "h":2}, {"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":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}, {"x":12.25, "y":3, "w":1.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [1, 13], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan": {
 | 
			
		||||
        "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}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_split": {
 | 
			
		||||
        "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":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}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_utilitarian": {
 | 
			
		||||
        "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":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}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"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}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"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, 13], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 9], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_utilitarian_split": {
 | 
			
		||||
        "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}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"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":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"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, 13], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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": 2.75},
 | 
			
		||||
                {"matrix": [4, 6], "x": 6.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 9], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_utilitarian_iso_split": {
 | 
			
		||||
        "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.75, "y":1, "w":1.25, "h":2}, {"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":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"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":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [1, 13], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"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, 13], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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": 2.75},
 | 
			
		||||
                {"matrix": [4, 6], "x": 6.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 9], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,154 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2021 keebnewb
 | 
			
		||||
 | 
			
		||||
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 ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,           \
 | 
			
		||||
    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,                \
 | 
			
		||||
    k40, k41, k42, k46, k4a, k4b, k4c, k4d                                     \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d },  \
 | 
			
		||||
    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ANSI with all split options
 | 
			
		||||
#define LAYOUT_60_ansi_split( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43,      \
 | 
			
		||||
    k40, k41, k42, k46, k4a, k4b, k4c, k4d                                     \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,           \
 | 
			
		||||
    k40, k41, k42, k46, k4a, k4b, k4c, k4d                                     \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d },  \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ISO with all split options
 | 
			
		||||
#define LAYOUT_60_iso_split( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43,      \
 | 
			
		||||
    k40, k41, k42, k46, k4a, k4b, k4c, k4d                                     \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tsangan
 | 
			
		||||
#define LAYOUT_60_tsangan( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,           \
 | 
			
		||||
    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43,           \
 | 
			
		||||
    k40, k41, k42, k46, k4b, k4c, k4d                                          \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, ___, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tsangan with split left shift
 | 
			
		||||
#define LAYOUT_60_tsangan_split( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43,      \
 | 
			
		||||
    k40, k41, k42, k46, k4b, k4c, k4d                                          \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ },  \
 | 
			
		||||
    { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, ___, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_utilitarian( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,      \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,           \
 | 
			
		||||
    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43,      \
 | 
			
		||||
    k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d                                \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d },  \
 | 
			
		||||
    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d },  \
 | 
			
		||||
    { k40, k41, k42, k43, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Utilitarian with split spacebar and split backspace
 | 
			
		||||
#define LAYOUT_60_utilitarian_split( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c,  \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,       \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d,            \
 | 
			
		||||
    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43,       \
 | 
			
		||||
    k40, k41, k42, k44, k46, k48, k4a, k4b, k49, k4c, k4d                       \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d },  \
 | 
			
		||||
    { k40, k41, k42, k43, k44, ___, k46, ___, k48, k49, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Utilitarian with ISO enter, split spacebar and split backspace
 | 
			
		||||
#define LAYOUT_60_utilitarian_iso_split( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d,           \
 | 
			
		||||
    k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43,      \
 | 
			
		||||
    k40, k41, k42, k44, k46, k48, k4a, k4b, k49, k4c, k4d                      \
 | 
			
		||||
){ \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d },  \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d },  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d },  \
 | 
			
		||||
    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d },  \
 | 
			
		||||
    { k40, k41, k42, k43, k44, ___, k46, ___, k48, k49, k4a, k4b, k4c, k4d }   \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,50 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2015 Álvaro "Gondolindrim" Volpato  <gondolindrim@acheronproject.com>
 | 
			
		||||
 | 
			
		||||
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 ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           \
 | 
			
		||||
    K40, K41, K42,                K46,           K49, K4A, K4B            \
 | 
			
		||||
) { \
 | 
			
		||||
    {  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
 | 
			
		||||
    {  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D}, \
 | 
			
		||||
    {  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___}, \
 | 
			
		||||
    {  K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, ___}, \
 | 
			
		||||
    {  K40, K41, K42, ___, ___, ___, K46, ___, ___, K49, K4A, K4B, ___, ___} \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D,\
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,     \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,          \
 | 
			
		||||
    K40, K41, K42,                K46,           K49, K4A, K4B                \
 | 
			
		||||
) { \
 | 
			
		||||
    {  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D}, \
 | 
			
		||||
    {  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D}, \
 | 
			
		||||
    {  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D}, \
 | 
			
		||||
    {  K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___}, \
 | 
			
		||||
    {  K40, K41, K42, ___, ___, ___, K46, ___, ___, K49, K4A, K4B, ___, ___} \
 | 
			
		||||
}
 | 
			
		||||
@@ -18,140 +18,140 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"~", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Fn", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"~", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"|", "x":13, "y":0},
 | 
			
		||||
                {"label":"Del", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":13.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":12.25, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 13.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,72 @@
 | 
			
		||||
    "community_layouts": ["60_ansi_tsangan"],
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Menu", "x":13.5, "y":4, "w":1.5}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
                {"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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K3C, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           \
 | 
			
		||||
    K40, K41, K42,                K46,           K49, K4A, K4B            \
 | 
			
		||||
) { \
 | 
			
		||||
    {  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C}, \
 | 
			
		||||
    {  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C}, \
 | 
			
		||||
    {  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C}, \
 | 
			
		||||
    {  K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C}, \
 | 
			
		||||
    {  K40, K41, K42, ___, ___, ___, K46, ___, ___, K49, K4A, K4B, K4C} \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,59 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi(\
 | 
			
		||||
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
 | 
			
		||||
     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2e, \
 | 
			
		||||
     k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,           k3c, \
 | 
			
		||||
     k40, k41, k42,                k47,                k4a, k4b, k4c, k4e  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, KC_NO }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, KC_NO }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2e, }, \
 | 
			
		||||
    { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3c, KC_NO, }, \
 | 
			
		||||
    { k40, k41, k42, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, k4b, k4c, KC_NO, KC_NO, k4e }, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso(\
 | 
			
		||||
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,      \
 | 
			
		||||
     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2e, k1e, \
 | 
			
		||||
     k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,      k3c, \
 | 
			
		||||
     k40, k41, k42,                k47,                k4a, k4b, k4c, k4e  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, KC_NO }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, KC_NO }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2e, }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, KC_NO, k3c, }, \
 | 
			
		||||
    { k40, k41, k42, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, k4b, k4c, KC_NO, KC_NO, k4e }, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_arrow(\
 | 
			
		||||
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
 | 
			
		||||
     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2e, \
 | 
			
		||||
     k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,           k3c, k3d, \
 | 
			
		||||
     k40, k41, k42,                k47,                k4a, k4b, k4c, k4e, k4f  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, KC_NO }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, KC_NO }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2e, }, \
 | 
			
		||||
    { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3c, k3d, }, \
 | 
			
		||||
    { k40, k41, k42, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, k4b, k4c, KC_NO, k4e, k4f, }, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs(\
 | 
			
		||||
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, \
 | 
			
		||||
     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
 | 
			
		||||
     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,      k2e, \
 | 
			
		||||
     k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,           k3c, \
 | 
			
		||||
     k40, k41, k42,                k47,                k4a, k4b, k4c, k4e  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, KC_NO }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2e, }, \
 | 
			
		||||
    { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3c, KC_NO }, \
 | 
			
		||||
    { k40, k41, k42, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, k4b, k4c, KC_NO, KC_NO, k4e, }, \
 | 
			
		||||
}
 | 
			
		||||
@@ -19,16 +19,284 @@
 | 
			
		||||
  "community_layouts": ["60_ansi", "60_iso"],
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_60_ansi": {
 | 
			
		||||
      "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"y", "x":6.5, "y":1}, {"label":"u", "x":7.5, "y":1}, {"label":"i", "x":8.5, "y":1}, {"label":"o", "x":9.5, "y":1}, {"label":"p", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"capslock", "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}, {"label":"h", "x":6.75, "y":2}, {"label":"j", "x":7.75, "y":2}, {"label":"k", "x":8.75, "y":2}, {"label":"l", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"enter", "x":12.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}, {"label":"n", "x":7.25, "y":3}, {"label":"m", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"shift", "x":12.25, "y":3, "w":2.75}, {"label":"ctrl", "x":0, "y":4, "w":1.25}, {"label":"meta", "x":1.25, "y":4, "w":1.25}, {"label":"alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"alt", "x":10, "y":4, "w":1.25}, {"label":"meta", "x":11.25, "y":4, "w":1.25}, {"label":"menu", "x":12.5, "y":4, "w":1.25}, {"label":"ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_iso": {
 | 
			
		||||
      "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"y", "x":6.5, "y":1}, {"label":"u", "x":7.5, "y":1}, {"label":"i", "x":8.5, "y":1}, {"label":"o", "x":9.5, "y":1}, {"label":"p", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "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}, {"label":"h", "x":6.75, "y":2}, {"label":"j", "x":7.75, "y":2}, {"label":"k", "x":8.75, "y":2}, {"label":"l", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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}, {"label":"n", "x":7.25, "y":3}, {"label":"m", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"shift", "x":12.25, "y":3, "w":2.75}, {"label":"ctrl", "x":0, "y":4, "w":1.25}, {"label":"win", "x":1.25, "y":4, "w":1.25}, {"label":"alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"altgr", "x":10, "y":4, "w":1.25}, {"label":"win", "x":11.25, "y":4, "w":1.25}, {"label":"menu", "x":12.5, "y":4, "w":1.25}, {"label":"ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
        {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 14], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_ansi_split_bs": {
 | 
			
		||||
      "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "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}, {"label":"y", "x":6.5, "y":1}, {"label":"u", "x":7.5, "y":1}, {"label":"i", "x":8.5, "y":1}, {"label":"o", "x":9.5, "y":1}, {"label":"p", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"enter", "x":13.5, "y":1, "w":1.5}, {"label":"capslock", "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}, {"label":"h", "x":6.75, "y":2}, {"label":"j", "x":7.75, "y":2}, {"label":"k", "x":8.75, "y":2}, {"label":"l", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"enter", "x":12.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}, {"label":"n", "x":7.25, "y":3}, {"label":"m", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"shift", "x":12.25, "y":3, "w":2.75}, {"label":"ctrl", "x":0, "y":4, "w":1.25}, {"label":"meta", "x":1.25, "y":4, "w":1.25}, {"label":"alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"alt", "x":10, "y":4, "w":1.25}, {"label":"meta", "x":11.25, "y":4, "w":1.25}, {"label":"menu", "x":12.5, "y":4, "w":1.25}, {"label":"ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
        {"matrix": [0, 14], "x": 14, "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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_ansi_arrow": {
 | 
			
		||||
      "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"y", "x":6.5, "y":1}, {"label":"u", "x":7.5, "y":1}, {"label":"i", "x":8.5, "y":1}, {"label":"o", "x":9.5, "y":1}, {"label":"p", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"capslock", "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}, {"label":"h", "x":6.75, "y":2}, {"label":"j", "x":7.75, "y":2}, {"label":"k", "x":8.75, "y":2}, {"label":"l", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"enter", "x":12.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}, {"label":"n", "x":7.25, "y":3}, {"label":"m", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"shift", "x":11.25, "y":3, "w":1.75}, {"label":"up", "x":13, "y":3}, {"label":"/", "x":14, "y":3}, {"label":"ctrl", "x":0, "y":4, "w":1.25}, {"label":"meta", "x":1.25, "y":4, "w":1.25}, {"label":"alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"alt", "x":10, "y":4 }, {"label":"meta", "x":11, "y":4 }, {"label":"left", "x":12, "y":4 }, {"label":"down", "x":13, "y":4 }, {"label": "right", "x":14, "y":4 }]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
        {"matrix": [3, 13], "x": 13, "y": 3},
 | 
			
		||||
        {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
        {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
        {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13, "y": 4},
 | 
			
		||||
        {"matrix": [4, 14], "x": 14, "y": 4}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -26,38 +26,6 @@ typedef struct __attribute__((__packed__)) {
 | 
			
		||||
} ble_capslock_t;
 | 
			
		||||
extern ble_capslock_t ble_capslock;
 | 
			
		||||
 | 
			
		||||
// Matrix keymap
 | 
			
		||||
// clang-format off
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      \
 | 
			
		||||
    K40, K42, K43,                K46,           K49, K4A, K4B, K4C       \
 | 
			
		||||
) { \
 | 
			
		||||
    /*            COL1   COL2   COL3   COL4   COL5   COL6   COL7   COL8   COL9   COL10  COL11  COL12  COL13  COL14*/ \
 | 
			
		||||
    /* ROW1  */ { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D  }, \
 | 
			
		||||
    /* ROW2  */ { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D  }, \
 | 
			
		||||
    /* ROW3  */ { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   KC_NO}, \
 | 
			
		||||
    /* ROW4  */ { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO}, \
 | 
			
		||||
    /* ROW5  */ { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, K46,   KC_NO, KC_NO, K49,   K4A,   K4B,   K4C,   KC_NO}, \
 | 
			
		||||
}
 | 
			
		||||
#define LAYOUT_60_iso( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      \
 | 
			
		||||
    K40, K42, K43,                K46,           K49, K4A, K4B, K4C       \
 | 
			
		||||
) { \
 | 
			
		||||
    /*            COL1   COL2   COL3   COL4   COL5   COL6   COL7   COL8   COL9   COL10  COL11  COL12  COL13  COL14*/ \
 | 
			
		||||
    /* ROW1  */ { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D  }, \
 | 
			
		||||
    /* ROW2  */ { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K2D  }, \
 | 
			
		||||
    /* ROW3  */ { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   KC_NO}, \
 | 
			
		||||
    /* ROW4  */ { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO}, \
 | 
			
		||||
    /* ROW5  */ { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, K46,   KC_NO, KC_NO, K49,   K4A,   K4B,   K4C,   KC_NO}, \
 | 
			
		||||
}
 | 
			
		||||
// clang-format on
 | 
			
		||||
 | 
			
		||||
enum AP2KeyCodes {
 | 
			
		||||
    KC_AP2_BT1 = QK_KB_0,
 | 
			
		||||
    KC_AP2_BT2,
 | 
			
		||||
 
 | 
			
		||||
@@ -9,141 +9,141 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"~", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Menu", "x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_iso": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"~", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"Enter", "x":13.5, "y":1, "h":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"#", "x":12.75, "y":2},
 | 
			
		||||
                {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
                {"matrix": [2, 2], "x": 1.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 2.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 3.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 5], "x": 4.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 6], "x": 5.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [1, 13], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"label":"Shift", "x":0, "y":3, "w":1.25},
 | 
			
		||||
                {"label":"<", "x":1.25, "y":3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Menu", "x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,84 +0,0 @@
 | 
			
		||||
/* Copyright 2021 gkeyboard
 | 
			
		||||
 *
 | 
			
		||||
 * 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 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* LAYOUT_60_tsangan_hhkb
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
 | 
			
		||||
 * │30      │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b    │3c │
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
 | 
			
		||||
 * │40   │41 │42   │46                         │4a   │4b │4c   │
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
*/
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    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,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,           \
 | 
			
		||||
    k40, k41, k42,                k46,                k4a, k4b, k4c            \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, XXX }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, XXX, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* LAYOUT_60_ansi_tsangan
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e     │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │30      │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b        │
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
 | 
			
		||||
 * │40   │41 │42   │46                         │4a   │4b │4c   │
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
*/
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,      k0e, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b,                \
 | 
			
		||||
    k40, k41, k42,                k46,                k4a, k4b, k4c            \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, XXX }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, XXX, XXX }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, XXX, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -21,141 +21,140 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"x":1.5, "y":4},
 | 
			
		||||
                {"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"x":12.5, "y":4},
 | 
			
		||||
                {"x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 14], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"x":1.5, "y":4},
 | 
			
		||||
                {"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"x":12.5, "y":4},
 | 
			
		||||
                {"x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -30,144 +30,144 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb_split_space": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":3},
 | 
			
		||||
                {"x":7, "y":4},
 | 
			
		||||
                {"x":8, "y":4, "w":3},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4, "w": 3},
 | 
			
		||||
                {"matrix": [4, 6], "x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [4, 8], "x": 8, "y": 4, "w": 3},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
 /*
 | 
			
		||||
 Copyright 2021 Nathan Spears
 | 
			
		||||
 | 
			
		||||
 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb_split_space( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,      \
 | 
			
		||||
    k40, k41, k42,      k44,      k46,      k48,      k4A, k4B, k4C            \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \
 | 
			
		||||
    { k40, k41, k42, xxx, k44, xxx, k46, xxx, k48, xxx, k4A, k4B, k4C, k4D }  \
 | 
			
		||||
}
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,      \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C            \
 | 
			
		||||
) { \
 | 
			
		||||
  { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
  { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
 | 
			
		||||
  { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \
 | 
			
		||||
  { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \
 | 
			
		||||
  { k40, k41, k42, xxx, xxx, xxx, k46, xxx, xxx, xxx, k4A, k4B, k4C, k4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -35,144 +35,144 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan_split_bs_rshift_space": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"`~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":3},
 | 
			
		||||
                {"x":7, "y":4},
 | 
			
		||||
                {"x":8, "y":4, "w":3},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4, "w": 3},
 | 
			
		||||
                {"matrix": [4, 6], "x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [4, 8], "x": 8, "y": 4, "w": 3},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"`~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "snop60.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_ENABLE
 | 
			
		||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
 /*
 | 
			
		||||
 Copyright 2022 Nathan Spears
 | 
			
		||||
 | 
			
		||||
 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan_split_bs_rshift_space( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,      \
 | 
			
		||||
    k40, k41, k42,      k44,      k46,      k48,      k4A, k4B, k4C            \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \
 | 
			
		||||
    { k40, k41, k42, xxx, k44, xxx, k46, xxx, k48, xxx, k4A, k4B, k4C, k4D }  \
 | 
			
		||||
}
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan_split_bs_rshift( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,           \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D,      \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C            \
 | 
			
		||||
) { \
 | 
			
		||||
  { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
  { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \
 | 
			
		||||
  { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \
 | 
			
		||||
  { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \
 | 
			
		||||
  { k40, k41, k42, xxx, xxx, xxx, k46, xxx, xxx, xxx, k4A, k4B, k4C, k4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,61 +0,0 @@
 | 
			
		||||
/* Copyright 2020 Koichi Katano
 | 
			
		||||
 *
 | 
			
		||||
 * 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 LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k114, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,       k313, k314, \
 | 
			
		||||
    k400, k401, k402,                   k407,                         k410, k411, k413, k414  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  k013,  k014 }, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  KC_NO, k114 }, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  KC_NO, k313,  k314 }, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, KC_NO, k407,  KC_NO, KC_NO, k410,  k411,  KC_NO, k413,  k414 }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012,       k013, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k114, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,             k313, \
 | 
			
		||||
    k400, k401, k402,                   k407,                         k410, k411, k413, k414  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  k013,  KC_NO}, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  KC_NO, k114 }, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  KC_NO, k313,  KC_NO}, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, KC_NO, k407,  KC_NO, KC_NO, k410,  k411,  KC_NO, k413,  k414 }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k114, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,       k313, k314, \
 | 
			
		||||
    k400, k401, k402,                   k407,                               k411, k413, k414  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  k013,  k014 }, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  KC_NO, k114 }, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  KC_NO, k313,  k314 }, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, KC_NO, k407,  KC_NO, KC_NO, KC_NO, k411,  KC_NO, k413,  k414 }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -19,212 +19,212 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":1.75 },
 | 
			
		||||
                { "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 14], "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, "w":1.25 },
 | 
			
		||||
                { "x":11.25, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":12.5, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":13.75, "y":4, "w":1.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, 7], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":2.75 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                { "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, "w":1.25 },
 | 
			
		||||
                { "x":11.25, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":12.5, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":13.75, "y":4, "w":1.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, 7], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":1.75 },
 | 
			
		||||
                { "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                { "x":0, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":1.5, "y":4 },
 | 
			
		||||
                { "x":2.5, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":4, "y":4, "w":7 },
 | 
			
		||||
                { "x":11, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":12.5, "y":4 },
 | 
			
		||||
                { "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 13], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -22,280 +22,280 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, "w":1.25},
 | 
			
		||||
                {"x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":13.75, "y":4, "w":1.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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "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, "w":1.25},
 | 
			
		||||
                {"x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":13.75, "y":4, "w":1.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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"x":1.5, "y":4},
 | 
			
		||||
                {"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"x":12.5, "y":4},
 | 
			
		||||
                {"x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"x":1.5, "y":4},
 | 
			
		||||
                {"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"x":12.5, "y":4},
 | 
			
		||||
                {"x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,94 +0,0 @@
 | 
			
		||||
/* Copyright 2022 Cutie Club
 | 
			
		||||
 *
 | 
			
		||||
 * 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 ___ KC_NO
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐      ┌───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │      │0D     │ 2u Backspace
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤      └───────┘
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤   ┌──────────┐
 | 
			
		||||
 * │30      │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B    │3C │   │3B        │ 2.75u RShift
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤   └──────────┘
 | 
			
		||||
 * │40  │41  │42  │45                      │49  │4A  │4B  │4C  │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
 | 
			
		||||
 * │40   │41 │42   │45                         │4A   │4B │4C   │ Tsangan/WKL
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2C, \
 | 
			
		||||
    k30,      k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A,      k3B, \
 | 
			
		||||
    k40, k41, k42,                k45,                k49, k4A, k4B, k4C  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, ___ }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___ }, \
 | 
			
		||||
    { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    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,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2C,      \
 | 
			
		||||
    k30,      k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      \
 | 
			
		||||
    k40, k41, k42,                k45,                k49, k4A, k4B, k4C       \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, ___ }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
 | 
			
		||||
    { k40, k41, k42, ___, ___, k45, ___, ___, ___, k49, k4A, k4B, k4C, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2C, \
 | 
			
		||||
    k30,      k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A,      k3B, \
 | 
			
		||||
    k40, k41, k42,                k45,                     k4A, k4B, k4C  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, ___ }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, ___, ___, ___ }, \
 | 
			
		||||
    { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan_split_bs_rshift( \
 | 
			
		||||
    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,      \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2C,      \
 | 
			
		||||
    k30,      k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      \
 | 
			
		||||
    k40, k41, k42,                k45,                     k4A, k4B, k4C       \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, ___ }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, ___, ___ }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
 | 
			
		||||
    { k40, k41, k42, ___, ___, k45, ___, ___, ___, ___, k4A, k4B, k4C, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "dz64rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/* Copyright 2021 DZTECH <moyi4681@Live.cn>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,                K45,      K48, K49, K4A, K4B,      K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -21,74 +21,74 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"label":"Shift", "x":0, "y":3, "w":2},
 | 
			
		||||
                {"label":"Z", "x":2, "y":3},
 | 
			
		||||
                {"label":"X", "x":3, "y":3},
 | 
			
		||||
                {"label":"C", "x":4, "y":3},
 | 
			
		||||
                {"label":"V", "x":5, "y":3},
 | 
			
		||||
                {"label":"B", "x":6, "y":3},
 | 
			
		||||
                {"label":"N", "x":7, "y":3},
 | 
			
		||||
                {"label":"M", "x":8, "y":3},
 | 
			
		||||
                {"label":",<", "x":9, "y":3},
 | 
			
		||||
                {"label":".>", "x":10, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12, "y":3},
 | 
			
		||||
                {"label":"\u2191", "x":13, "y":3},
 | 
			
		||||
                {"label":"Delete", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":11, "y":4},
 | 
			
		||||
                {"label":"\u2190", "x":12, "y":4},
 | 
			
		||||
                {"label":"\u2193", "x":13, "y":4},
 | 
			
		||||
                {"label":"\u2192", "x":14, "y":4}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 8], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,4 @@
 | 
			
		||||
/**
 | 
			
		||||
 * e6_rgb.c
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "e6_rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
void matrix_init_kb(void) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,72 +0,0 @@
 | 
			
		||||
 /**
 | 
			
		||||
  * e6_rgb.h
 | 
			
		||||
  *
 | 
			
		||||
  */
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
// This a shortcut to help you visually see your layout.
 | 
			
		||||
// The first section contains all of the arguements
 | 
			
		||||
// The second converts the arguments into a two-dimensional array
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K31, K32, K33, K34, K35, K36, K37, K39, K3A, K3B,      K3C, \
 | 
			
		||||
    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___ }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, ___, K39, K3A, K3B, K3C, ___ }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K31, K32, K33, K34, K35, K36, K37, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
         K41, K42,                K46,                     K4B, K4C       \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, ___, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { ___, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K31, K32, K33, K34, K35, K36, K37, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,                K46,                     K4B, K4C, K4D  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, ___, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K31, K32, K33, K34, K35, K36, K37, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,                K46,                K4A, K4B, K4C, K4D  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, ___, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -28,279 +28,280 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"~", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Menu", "x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Ctrl", "x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"|", "x":13, "y":0},
 | 
			
		||||
                {"label":"~", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"Backspace", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"label":"Control", "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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4}
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 1], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
                {"label":"!", "x":1, "y":0},
 | 
			
		||||
                {"label":"@", "x":2, "y":0},
 | 
			
		||||
                {"label":"#", "x":3, "y":0},
 | 
			
		||||
                {"label":"$", "x":4, "y":0},
 | 
			
		||||
                {"label":"%", "x":5, "y":0},
 | 
			
		||||
                {"label":"^", "x":6, "y":0},
 | 
			
		||||
                {"label":"&", "x":7, "y":0},
 | 
			
		||||
                {"label":"*", "x":8, "y":0},
 | 
			
		||||
                {"label":"(", "x":9, "y":0},
 | 
			
		||||
                {"label":")", "x":10, "y":0},
 | 
			
		||||
                {"label":"_", "x":11, "y":0},
 | 
			
		||||
                {"label":"+", "x":12, "y":0},
 | 
			
		||||
                {"label":"|", "x":13, "y":0},
 | 
			
		||||
                {"label":"~", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"Backspace", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"label":"Control", "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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":":", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":">", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Caps Lock", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Fn", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w":1.25},
 | 
			
		||||
                {"x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -25,74 +25,74 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"x": 2, "y": 3},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3},
 | 
			
		||||
                {"x": 5, "y": 3},
 | 
			
		||||
                {"x": 6, "y": 3},
 | 
			
		||||
                {"x": 7, "y": 3},
 | 
			
		||||
                {"x": 8, "y": 3},
 | 
			
		||||
                {"x": 9, "y": 3},
 | 
			
		||||
                {"x": 10, "y": 3},
 | 
			
		||||
                {"x": 11, "y": 3},
 | 
			
		||||
                {"x": 12, "y": 3},
 | 
			
		||||
                {"x": 13, "y": 3},
 | 
			
		||||
                {"x": 14, "y": 3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2021 <me@fjlaboratories.com>
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
/* Ready100 Keymap Definitions */
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03,   K04,     K05,   K06,   K07,   K08,   K09, K0A, K0B, K0C,   K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13,   K14,     K15,   K16,   K17,   K18,   K19, K1A, K1B, K1C,   K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23,   K24,     K25,   K26,   K27,   K28,   K29, K2A, K2B, KC_NO, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33,   K34,     K35,   K36,   K37,   K38,   K39, K3A, K3B, K3C,   K3D }, \
 | 
			
		||||
    { K40, K41, K42, KC_NO, KC_NO,   K45,   KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C,   K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -21,136 +21,136 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_wkl": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"`~", "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_wkl_split_bs_rshift": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"`~", "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0},
 | 
			
		||||
                {"label":"Delete", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,59 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2022 <felix@fjlaboratories.com>
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐      ┌───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │      │0D     │ 2u Backspace
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤      └───────┘
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤   ┌──────────┐
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │   │3C        │ 2.75u RShift
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬────┴┬───┬─┴───┤   └──────────┘
 | 
			
		||||
 * │40   │   │42   │47                         │4B   │   │4D   │ WKL
 | 
			
		||||
 * └─────┘   └─────┴───────────────────────────┴─────┘   └─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_wkl( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
 | 
			
		||||
    K40,      K42,                     K47,                K4B,      K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01,   K02, K03,   K04,     K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10, K11,   K12, K13,   K14,     K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20, K21,   K22, K23,   K24,     K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   KC_NO }, \
 | 
			
		||||
    { K30, KC_NO, K32, K33,   K34,     K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO }, \
 | 
			
		||||
    { K40, KC_NO, K42, KC_NO, KC_NO,   KC_NO, KC_NO, K47,   KC_NO, KC_NO, KC_NO, K4B,   KC_NO, K4D   }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40,      K42,                     K47,                K4B,      K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01,   K02, K03,   K04,     K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D }, \
 | 
			
		||||
    { K10, K11,   K12, K13,   K14,     K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D }, \
 | 
			
		||||
    { K20, K21,   K22, K23,   K24,     K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D }, \
 | 
			
		||||
    { K30, KC_NO, K32, K33,   K34,     K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D }, \
 | 
			
		||||
    { K40, KC_NO, K42, KC_NO, KC_NO,   KC_NO, KC_NO, K47,   KC_NO, KC_NO, KC_NO, K4B,   KC_NO, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,73 +22,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2021 <me@fjlaboratories.com>
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
/* TF60 ANSI Keymap Definitions */
 | 
			
		||||
#define LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A,      K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03,   K04,     K05,   K06,   K07,   K08,   K09, K0A, K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10, K11, K12, K13,   K14,     K15,   K16,   K17,   K18,   K19, K1A, K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20, K21, K22, K23,   K24,     K25,   K26,   K27,   K28,   K29, K2A, K2B,   KC_NO, K2D   }, \
 | 
			
		||||
    { K30, K31, K32, K33,   K34,     K35,   K36,   K37,   K38,   K39, K3A, KC_NO, K3C,   K3D   }, \
 | 
			
		||||
    { K40, K41, K42, KC_NO, KC_NO,   K45,   KC_NO, KC_NO, KC_NO, K49, K4A, K4B,   K4C,   K4D   }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -19,73 +19,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 11], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 8], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,41 +0,0 @@
 | 
			
		||||
/* Copyright 2021 ShandonCodes
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
/* This is a shortcut to help you visually see your layout.
 | 
			
		||||
 *
 | 
			
		||||
 * The first section contains all of the arguments representing the physical
 | 
			
		||||
 * layout of the board and position of the keys.
 | 
			
		||||
 *
 | 
			
		||||
 * The second converts the arguments into a two-dimensional array which
 | 
			
		||||
 * represents the switch matrix.
 | 
			
		||||
 */
 | 
			
		||||
#define LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
 | 
			
		||||
    k40, k41, k42,           k45,           k48, k49, k4a, k4b, k4c \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d},  \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO}, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, KC_NO}, \
 | 
			
		||||
    { k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c, KC_NO} \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,120 +0,0 @@
 | 
			
		||||
/* Copyright 2022 Gondolindrim
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐   ┌───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │5D │   │0D     │ 2u Backspace
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤   └───────┘
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤   ┌──────────┐
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │   │3C        │ 2.75u RShift
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤   └──────────┘
 | 
			
		||||
 * │40   │41 │42   │56                         │5A   │5B │5C   │ Tsangan
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
 *       ┌───┬─────┬───────────────────────────┬─────┬───┐
 | 
			
		||||
 *       │41 │42   │56                         │5A   │5B │ HHKB
 | 
			
		||||
 *       └───┴─────┴───────────────────────────┴─────┴───┘
 | 
			
		||||
 * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
 | 
			
		||||
 * │40   │   │42   │56                         │5A   │   │5C   │ WKL
 | 
			
		||||
 * └─────┘   └─────┴───────────────────────────┴─────┘   └─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B     , K2D, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,                K56,                     K5A, K5B, K5C  \
 | 
			
		||||
)\
 | 
			
		||||
{\
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
 | 
			
		||||
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
 | 
			
		||||
    { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
 | 
			
		||||
    K40, K41, K42,                K56,                     K5A, K5B, K5C  \
 | 
			
		||||
)\
 | 
			
		||||
{\
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
 | 
			
		||||
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
 | 
			
		||||
    { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
         K41, K42,                K56,                     K5A, K5B       \
 | 
			
		||||
)\
 | 
			
		||||
{\
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
 | 
			
		||||
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { ___, K41, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
 | 
			
		||||
    { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, K5B, ___, K5D }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_wkl( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C, \
 | 
			
		||||
    K40,      K42,                K56,                     K5A,      K5C  \
 | 
			
		||||
)\
 | 
			
		||||
{\
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
 | 
			
		||||
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
 | 
			
		||||
    { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
 | 
			
		||||
    { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_wkl_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K5D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40,      K42,                K56,                     K5A,      K5C  \
 | 
			
		||||
)\
 | 
			
		||||
{\
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \
 | 
			
		||||
    { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, ___, K42, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
 | 
			
		||||
    { ___, ___, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,342 +22,342 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [5, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [5, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [5, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_hhkb": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [5, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4}
 | 
			
		||||
                {"matrix": [4, 1], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 11], "x": 12.5, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_wkl": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_wkl_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":13, "y":0},
 | 
			
		||||
                {"label":"Bksp", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [5, 13], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Fn", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Alt", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 12], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,75 @@
 | 
			
		||||
    "community_layouts": ["60_ansi_split_bs_rshift"],
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,A", "x":10, "y":0}, {"label":"0,B", "x":11, "y":0}, {"label":"0,C", "x":12, "y":0}, {"label":"0,D", "x":13, "y":0}, {"label":"2,D", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,A", "x":10.5, "y":1}, {"label":"1,B", "x":11.5, "y":1}, {"label":"1,C", "x":12.5, "y":1}, {"label":"1,D", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,A", "x":10.75, "y":2}, {"label":"2,B", "x":11.75, "y":2}, {"label":"2,C", "x":12.75, "y":2, "w":2.25}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,1", "x":2.25, "y":3}, {"label":"3,2", "x":3.25, "y":3}, {"label":"3,3", "x":4.25, "y":3}, {"label":"3,4", "x":5.25, "y":3}, {"label":"3,5", "x":6.25, "y":3}, {"label":"3,6", "x":7.25, "y":3}, {"label":"3,7", "x":8.25, "y":3}, {"label":"3,8", "x":9.25, "y":3}, {"label":"3,9", "x":10.25, "y":3}, {"label":"3,A", "x":11.25, "y":3}, {"label":"3,B", "x":12.25, "y":3, "w":1.75}, {"label":"3,C", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,8", "x":10, "y":4, "w":1.25}, {"label":"4,9", "x":11.25, "y":4, "w":1.25}, {"label":"4,A", "x":12.5, "y":4, "w":1.25}, {"label":"4,B", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 13], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2020 Swiftrax <swiftrax@gmail.com>
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C,      \
 | 
			
		||||
    K30,      K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      \
 | 
			
		||||
    K40, K41, K42,                K46,                K48, K49, K4A, K4B       \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, ___ }, \
 | 
			
		||||
    { K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,280 +22,280 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"`~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Shift", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Fn", "x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Ctrl", "x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Fn", "x":11.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Ctrl", "x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Fn", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"`~", "x":13, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":14, "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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "x": 14, "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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"Shift", "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":1.5, "y":4},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Space", "x":4, "y":4, "w":7},
 | 
			
		||||
                {"label":"Fn", "x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"label":"Win", "x":12.5, "y":4},
 | 
			
		||||
                {"label":"Ctrl", "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,129 +0,0 @@
 | 
			
		||||
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
 | 
			
		||||
 * │40  │41  │42  │46                      │4A  │4B  │4C  │4D  │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    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,   \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,     \
 | 
			
		||||
       K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,    K3C,    K3D, \
 | 
			
		||||
    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, XXX }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E     │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D        │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │40  │41  │42  │46                      │4A  │4B  │4C  │4D  │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0E,    \
 | 
			
		||||
     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,   K1D,   \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,     \
 | 
			
		||||
       K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,       \
 | 
			
		||||
    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, XXX }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0E     │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D        │
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤
 | 
			
		||||
 * │40   │41 │42   │46                         │4B   │4C │4D   │
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0E,    \
 | 
			
		||||
     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,   K1D,   \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,     \
 | 
			
		||||
       K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,       \
 | 
			
		||||
    K40,   K41, K42,                K46,                      K4B,   K4C, K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, XXX }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
 | 
			
		||||
 * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │
 | 
			
		||||
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
 | 
			
		||||
 * │40   │41 │42   │46                         │4B   │4C │4D   │
 | 
			
		||||
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    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,   \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,     \
 | 
			
		||||
       K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,    K3C,    K3D, \
 | 
			
		||||
    K40,   K41, K42,                K46,                      K4B,   K4C, K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, XXX }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D, XXX }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -25,10 +25,143 @@
 | 
			
		||||
  "community_layouts": ["60_ansi", "60_iso"],
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_60_iso": {
 | 
			
		||||
        "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 12], "x": 12.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
        {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_ansi": {
 | 
			
		||||
        "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [2, 12], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#include "v1.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
// Please ignore this is for upcoming features
 | 
			
		||||
/*#ifdef RAW_ENABLE
 | 
			
		||||
 
 | 
			
		||||
@@ -1,51 +0,0 @@
 | 
			
		||||
/* Copyright 2018 Yiancar
 | 
			
		||||
 *
 | 
			
		||||
 * 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.
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k2C, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
 | 
			
		||||
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D } \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,72 +22,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_61_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4, "w":1.5},
 | 
			
		||||
                {"x":1.5, "y":4},
 | 
			
		||||
                {"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
                {"x":4, "y":4, "w":7},
 | 
			
		||||
                {"x":11, "y":4, "w":1.5},
 | 
			
		||||
                {"x":12.5, "y":4},
 | 
			
		||||
                {"x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "simpler61.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/* Copyright 2021 Equalz
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_61_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                     K4A, K4B,      K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, XXX, K4A, K4B, XXX, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,74 +22,74 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":3, "w":2},
 | 
			
		||||
                {"x":2, "y":3},
 | 
			
		||||
                {"x":3, "y":3},
 | 
			
		||||
                {"x":4, "y":3},
 | 
			
		||||
                {"x":5, "y":3},
 | 
			
		||||
                {"x":6, "y":3},
 | 
			
		||||
                {"x":7, "y":3},
 | 
			
		||||
                {"x":8, "y":3},
 | 
			
		||||
                {"x":9, "y":3},
 | 
			
		||||
                {"x":10, "y":3},
 | 
			
		||||
                {"x":11, "y":3},
 | 
			
		||||
                {"x":12, "y":3},
 | 
			
		||||
                {"x":13, "y":3},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "simpler64.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/* Copyright 2021 Equalz
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -24,22 +24,421 @@
 | 
			
		||||
    "community_layouts": ["60_ansi", "60_hhkb", "60_iso", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"],
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_tsangan_split_rshift": {
 | 
			
		||||
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_hhkb": {
 | 
			
		||||
            "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 12], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 1], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_iso": {
 | 
			
		||||
            "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}, {"x":12.25, "y":3, "w":2.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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}, {"x":12.25, "y":3, "w":1.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 12], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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": [4, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 12], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,99 +20,6 @@
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
// This a shortcut to help you visually see your layout.
 | 
			
		||||
// The first section contains all of the arguements
 | 
			
		||||
// The second converts the arguments into a two-dimensional array
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c,      \
 | 
			
		||||
    k40,      k42, k43,                k47,           k48, k49, k4a, k4b  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a, k0b, k0c, KC_NO, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19, k1a, k1b,   k1c, k1e}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a, k2b, k2c, KC_NO, k2e}, \
 | 
			
		||||
    {k30, KC_NO, k32,   k33,   k34,   k35, k36, k37,   k38,   k39, k3a, k3b,   k3c, KC_NO}, \
 | 
			
		||||
    {k40,   k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, k48, k49,   k4a, k4b}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
 | 
			
		||||
    k40,      k42, k43,                k47,           k48, k49, k4a, k4b  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a, k0b, k0c, KC_NO, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19, k1a, k1b,   k1c, KC_NO}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a, k2b, k2c,   k2d, k2e}, \
 | 
			
		||||
    {k30,   k31, k32,   k33,   k34,   k35, k36, k37,   k38,   k39, k3a, k3b,   k3c, KC_NO}, \
 | 
			
		||||
    {k40,   k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, k48, k49,   k4a, k4b}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_tsangan_split_rshift( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
 | 
			
		||||
    k40,      k42, k43,                k47,                k49, k4a, k4b  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a,   k0b, k0c, KC_NO, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19,   k1a, k1b,   k1c, k1e}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a,   k2b, k2c, KC_NO, k2e}, \
 | 
			
		||||
    {k30, KC_NO, k32,   k33,   k34,   k35, k36, k37,   k38,   k39,   k3a, k3b,   k3c, k3d}, \
 | 
			
		||||
    {k40,   k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, KC_NO, k49,   k4a, k4b}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_hhkb( \
 | 
			
		||||
    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, k1e, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
 | 
			
		||||
         k42, k43,                     k47,                k49, k4a \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a, k0b, k0c,   k0d, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19, k1a, k1b,   k1c, k1e}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a, k2b, k2c, KC_NO, k2e}, \
 | 
			
		||||
    {k30, KC_NO, k32,   k33,   k34,   k35, k36, k37,   k38,   k39, k3a, k3b,   k3c, k3d}, \
 | 
			
		||||
    {KC_NO, k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, KC_NO, k49,   k4a, KC_NO}  \
 | 
			
		||||
}
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    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, k1e, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
 | 
			
		||||
    k40,      k42, k43,                k47,                k49, k4a, k4b  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a,   k0b, k0c,   k0d, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19,   k1a, k1b,   k1c, k1e}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a,   k2b, k2c, KC_NO, k2e}, \
 | 
			
		||||
    {k30, KC_NO, k32,   k33,   k34,   k35, k36, k37,   k38,   k39,   k3a, k3b,   k3c, k3d}, \
 | 
			
		||||
    {k40,   k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, KC_NO, k49,   k4a, k4b}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    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, k1e, \
 | 
			
		||||
    k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
 | 
			
		||||
    k40,      k42, k43,                k47,           k48, k49, k4a, k4b  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00,   k01, k02,   k03,   k04,   k05, k06, k08,   k09,   k0a, k0b, k0c,   k0d, k0e}, \
 | 
			
		||||
    {k10,   k11, k12,   k13,   k14,   k15, k16, k17,   k18,   k19, k1a, k1b,   k1c, k1e}, \
 | 
			
		||||
    {k20,   k22, k23,   k24,   k25,   k26, k27, k28,   k29,   k2a, k2b, k2c, KC_NO, k2e}, \
 | 
			
		||||
    {k30, KC_NO, k32,   k33,   k34,   k35, k36, k37,   k38,   k39, k3a, k3b,   k3c, k3d}, \
 | 
			
		||||
    {k40,   k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, k48, k49,   k4a, k4b}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(RGB_MATRIX_DISABLE_KEYCODES)
 | 
			
		||||
#    ifndef RGB_MATRIX_TOGGLE
 | 
			
		||||
#        define RGB_MATRIX_TOGGLE   KC_F16
 | 
			
		||||
 
 | 
			
		||||
@@ -1,36 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2014 Jun Wako <wakojun@gmail.com>
 | 
			
		||||
 | 
			
		||||
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 LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k14, k15, \
 | 
			
		||||
    k16, k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, \
 | 
			
		||||
    k32, k33, k34, k35, k36, k37, k38, k40, k41, k42, k43, k44,      k45, \
 | 
			
		||||
    k46,      k47, k48, k50, k51, k52, k53, k54, k55, k56, k57, k58, k60, \
 | 
			
		||||
    k61, k62, k63,                k64,                k65, k66, k67, k68 \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
 | 
			
		||||
    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
 | 
			
		||||
    { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
 | 
			
		||||
    { k60, k61, k62, k63, k64, k65, k66, k67, k68 } \
 | 
			
		||||
}
 | 
			
		||||
@@ -15,73 +15,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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": [1, 0], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [1, 1], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [1, 2], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [1, 3], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [1, 4], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 5], "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},
 | 
			
		||||
                {"matrix": [1, 6], "x": 0, "y": 1, "w": 1.5},
 | 
			
		||||
                {"matrix": [1, 7], "x": 1.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 8], "x": 2.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 0], "x": 3.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 1], "x": 4.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 2], "x": 5.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 3], "x": 6.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 4], "x": 7.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 5], "x": 8.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 6], "x": 9.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 7], "x": 10.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 8], "x": 11.5, "y": 1},
 | 
			
		||||
                {"matrix": [3, 0], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [3, 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},
 | 
			
		||||
                {"matrix": [3, 2], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 3], "x": 1.75, "y": 2},
 | 
			
		||||
                {"matrix": [3, 4], "x": 2.75, "y": 2},
 | 
			
		||||
                {"matrix": [3, 5], "x": 3.75, "y": 2},
 | 
			
		||||
                {"matrix": [3, 6], "x": 4.75, "y": 2},
 | 
			
		||||
                {"matrix": [3, 7], "x": 5.75, "y": 2},
 | 
			
		||||
                {"matrix": [3, 8], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 0], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 1], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 2], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 3], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 4], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [4, 5], "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},
 | 
			
		||||
                {"x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"x": 14, "y": 3},
 | 
			
		||||
                {"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [4, 7], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [4, 8], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 0], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 1], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 2], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 3], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 5], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 6], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 7], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 8], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"x": 1.5, "y": 4},
 | 
			
		||||
                {"x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"x": 4, "y": 4, "w": 6},
 | 
			
		||||
                {"x": 10, "y": 4, "w": 1.5},
 | 
			
		||||
                {"x": 11.5, "y": 4},
 | 
			
		||||
                {"x": 12.5, "y": 4},
 | 
			
		||||
                {"x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
                {"matrix": [6, 1], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [6, 2], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [6, 4], "x": 4, "y": 4, "w": 6},
 | 
			
		||||
                {"matrix": [6, 5], "x": 10, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 4},
 | 
			
		||||
                {"matrix": [6, 7], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [6, 8], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -21,10 +21,146 @@
 | 
			
		||||
    "community_layouts": ["60_ansi"],
 | 
			
		||||
   "layouts": {
 | 
			
		||||
        "LAYOUT_full_wtf": {
 | 
			
		||||
            "layout": [{"label":"Bksp", "x":0, "y":0}, {"label":"Del", "x":1, "y":0}, {"label":"+", "x":2, "y":0}, {"label":"_", "x":3, "y":0}, {"label":")", "x":4, "y":0}, {"label":"(", "x":5, "y":0}, {"label":"*", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"^", "x":8, "y":0}, {"label":"%", "x":9, "y":0}, {"label":"$", "x":10, "y":0}, {"label":"#", "x":11, "y":0}, {"label":"@", "x":12, "y":0}, {"label":"!", "x":13, "y":0}, {"label":"Esc", "x":14, "y":0}, {"label":"|", "x":0, "y":1, "w":1.5}, {"label":"}", "x":1.5, "y":1}, {"label":"{", "x":2.5, "y":1}, {"label":"P", "x":3.5, "y":1}, {"label":"O", "x":4.5, "y":1}, {"label":"I", "x":5.5, "y":1}, {"label":"U", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"T", "x":8.5, "y":1}, {"label":"R", "x":9.5, "y":1}, {"label":"E", "x":10.5, "y":1}, {"label":"W", "x":11.5, "y":1}, {"label":"Q", "x":12.5, "y":1}, {"label":"Tab", "x":13.5, "y":1, "w":1.5}, {"label":"Enter", "x":0, "y":2, "w":1.25}, {"label":"~", "x":1.25, "y":2}, {"label":"\"", "x":2.25, "y":2}, {"label":":", "x":3.25, "y":2}, {"label":"L", "x":4.25, "y":2}, {"label":"K", "x":5.25, "y":2}, {"label":"J", "x":6.25, "y":2}, {"label":"H", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"F", "x":9.25, "y":2}, {"label":"D", "x":10.25, "y":2}, {"label":"S", "x":11.25, "y":2}, {"label":"A", "x":12.25, "y":2}, {"label":"Caps Lock", "x":13.25, "y":2, "w":1.75}, {"label":"Fn", "x":0, "y":3}, {"label":"Shift", "x":1, "y":3, "w":1.75}, {"label":"?", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"<", "x":4.75, "y":3}, {"label":"M", "x":5.75, "y":3}, {"label":"N", "x":6.75, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"V", "x":8.75, "y":3}, {"label":"C", "x":9.75, "y":3}, {"label":"X", "x":10.75, "y":3}, {"label":"Z", "x":11.75, "y":3}, {"label":"|", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Menu", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":6.25}, {"label":"Alt", "x":11.25, "y":4, "w":1.25}, {"label":"Win", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 10], "x": 14, "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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.25, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 13.25, "y": 2, "w": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.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, 3], "x": 3.75, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 6], "x": 5, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [4, 10], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [0, 12], "x": 2, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 10], "x": 4, "y": 0},
 | 
			
		||||
                {"matrix": [0, 9], "x": 5, "y": 0},
 | 
			
		||||
                {"matrix": [0, 8], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [0, 7], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 6], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 5], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 0], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 13], "x": 0, "y": 1, "w": 1.5},
 | 
			
		||||
                {"matrix": [1, 12], "x": 1.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 11], "x": 2.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 10], "x": 3.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 9], "x": 4.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 8], "x": 5.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 7], "x": 6.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 6], "x": 7.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 5], "x": 8.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 9.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 3], "x": 10.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 2], "x": 11.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 1], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 0], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 13], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
                {"matrix": [2, 12], "x": 1.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 2.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 3.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 4.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 5.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 6], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 5], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 2], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 0], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 13], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 11], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 13], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 1], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 0], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
 | 
			
		||||
 | 
			
		||||
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 LAYOUT_full_wtf( \
 | 
			
		||||
    kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9, kA10, kA11, kA12, kA13, kA14, kA15, \
 | 
			
		||||
    kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8, kB9, kB10, kB11, kB12, kB13, kB14, \
 | 
			
		||||
    kC1, kC2, kC3, kC4, kC5, kC6, kC7, kC8, kC9, kC10, kC11, kC12, kC13, kC14, \
 | 
			
		||||
    kD1, kD2, kD3, kD4, kD5, kD6, kD7, kD8, kD9, kD10, kD11, kD12, kD13, kD14, \
 | 
			
		||||
    kE1, kE2, kE3, kE4,           kE7,                       kE12, kE13, kE14 \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9, kA10, kA11, kA12, kA13, kA14 }, \
 | 
			
		||||
    { kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8, kB9, kB10, kB11, kB12, kB13, kB14 }, \
 | 
			
		||||
    { kC1, kC2, kC3, kC4, kC5, kC6, kC7, kC8, kC9, kC10, kC11, kC12, kC13, kC14 }, \
 | 
			
		||||
    { kD1, kD2, kD3, kD4, kD5, kD6, kD7, kD8, kD9, kD10, kD11, kD12, kD13, kD14 }, \
 | 
			
		||||
    { kE1, kE2, kE3, kE4, KC_NO, KC_NO, kE7, KC_NO, KC_NO, KC_NO, kA15, kE12, kE13, kE14 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    kA15, kA14, kA13, kA12, kA11, kA10, kA9, kA8, kA7, kA6, kA5, kA4, kA3, kA1, \
 | 
			
		||||
    kB14, kB13, kB12, kB11, kB10, kB9,  kB8, kB7, kB6, kB5, kB4, kB3, kB2, kB1, \
 | 
			
		||||
    kC14, kC13, kC12, kC11, kC10, kC9,  kC8, kC7, kC6, kC5, kC4, kC3, kC1, \
 | 
			
		||||
    kD14, kD12, kD11, kD10, kD9,  kD8,  kD7, kD6, kD5, kD4, kD3, kD1, \
 | 
			
		||||
    kE14, kE13, kE12,             kE7,                      kE4, kE3, kE2, kE1 \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { kA1, KC_NO, kA3, kA4, kA5, kA6, kA7, kA8, kA9, kA10, kA11, kA12, kA13, kA14 }, \
 | 
			
		||||
    { kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8, kB9, kB10, kB11, kB12, kB13, kB14 }, \
 | 
			
		||||
    { kC1, KC_NO, kC3, kC4, kC5, kC6, kC7, kC8, kC9, kC10, kC11, kC12, kC13, kC14 }, \
 | 
			
		||||
    { kD1, KC_NO, kD3, kD4, kD5, kD6, kD7, kD8, kD9, kD10, kD11, kD12, KC_NO, kD14 }, \
 | 
			
		||||
    { kE1, kE2, kE3, kE4, KC_NO, KC_NO, kE7, KC_NO, KC_NO, KC_NO, kA15, kE12, kE13, kE14 } \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,61 +0,0 @@
 | 
			
		||||
/* Copyright 2020 Koichi Katano
 | 
			
		||||
 *
 | 
			
		||||
 * 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 LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k113, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,       k312, k313, \
 | 
			
		||||
    k400, k401, k402,                   k406,                         k410, k411, k412, k413  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  k013,  k014 }, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  k113,  KC_NO}, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  k312,  k313,  KC_NO}, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, k406,  KC_NO, KC_NO, KC_NO, k410,  k411,  k412,  k413,  KC_NO}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012,       k014, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k113, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,             k312, \
 | 
			
		||||
    k400, k401, k402,                   k406,                         k410, k411, k412, k413  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  KC_NO, k014 }, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  k113,  KC_NO}, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  k312,  KC_NO, KC_NO}, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, k406,  KC_NO, KC_NO, KC_NO, k410,  k411,  k412,  k413,  KC_NO}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_tsangan_hhkb( \
 | 
			
		||||
    k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, \
 | 
			
		||||
    k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112,       k113, \
 | 
			
		||||
    k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,             k213, \
 | 
			
		||||
    k300,       k302, k303, k304, k305, k306, k307, k308, k309, k310, k311,       k312, k313, \
 | 
			
		||||
    k400, k401, k402,                   k406,                               k411, k412, k413  \
 | 
			
		||||
) { \
 | 
			
		||||
    { k000,  k001,  k002,  k003,  k004,  k005,  k006,  k007,  k008,  k009,  k010,  k011,  k012,  k013,  k014 }, \
 | 
			
		||||
    { k100,  k101,  k102,  k103,  k104,  k105,  k106,  k107,  k108,  k109,  k110,  k111,  k112,  k113,  KC_NO}, \
 | 
			
		||||
    { k200,  k201,  k202,  k203,  k204,  k205,  k206,  k207,  k208,  k209,  k210,  k211,  KC_NO, k213,  KC_NO}, \
 | 
			
		||||
    { k300,  KC_NO, k302,  k303,  k304,  k305,  k306,  k307,  k308,  k309,  k310,  k311,  k312,  k313,  KC_NO}, \
 | 
			
		||||
    { k400,  k401,  k402,  KC_NO, KC_NO, KC_NO, k406,  KC_NO, KC_NO, KC_NO, KC_NO, k411,  k412,  k413,  KC_NO}  \
 | 
			
		||||
}
 | 
			
		||||
@@ -19,212 +19,212 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":1.75 },
 | 
			
		||||
                { "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w":1.25 },
 | 
			
		||||
                { "x":11.25, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":12.5, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 14], "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":13.5, "y":1, "w":1.5 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":2.75 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                { "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, "w":1.25 },
 | 
			
		||||
                { "x":11.25, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":12.5, "y":4, "w":1.25 },
 | 
			
		||||
                { "x":13.75, "y":4, "w":1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_tsangan_hhkb": {
 | 
			
		||||
            "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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 },
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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 },
 | 
			
		||||
                { "x":12.25, "y":3, "w":1.75 },
 | 
			
		||||
                { "x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                { "x":0, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":1.5, "y":4 },
 | 
			
		||||
                { "x":2.5, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":4, "y":4, "w":7 },
 | 
			
		||||
                { "x":11, "y":4, "w":1.5 },
 | 
			
		||||
                { "x":12.5, "y":4 },
 | 
			
		||||
                { "x":13.5, "y":4, "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, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -28,69 +28,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_arrow": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"K00 (B0,D0)", "x":0, "y":0},
 | 
			
		||||
                {"label":"K01 (B0,D1)", "x":1, "y":0},
 | 
			
		||||
                {"label":"K02 (B0,D2)", "x":2, "y":0},
 | 
			
		||||
                {"label":"K03 (B0,D3)", "x":3, "y":0},
 | 
			
		||||
                {"label":"K04 (B0,D5)", "x":4, "y":0},
 | 
			
		||||
                {"label":"K05 (B0,D4)", "x":5, "y":0},
 | 
			
		||||
                {"label":"K06 (B0,D6)", "x":6, "y":0},
 | 
			
		||||
                {"label":"K07 (B0,D7)", "x":7, "y":0},
 | 
			
		||||
                {"label":"K08 (B0,B4)", "x":8, "y":0},
 | 
			
		||||
                {"label":"K09 (B0,B5)", "x":9, "y":0},
 | 
			
		||||
                {"label":"K0A (B0,B6)", "x":10, "y":0},
 | 
			
		||||
                {"label":"K0B (B0,C6)", "x":11, "y":0},
 | 
			
		||||
                {"label":"K0C (B0,C7)", "x":12, "y":0},
 | 
			
		||||
                {"label":"K0D (B0,F7)", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5},
 | 
			
		||||
                {"label":"K11 (B1,D1)", "x":1.5, "y":1},
 | 
			
		||||
                {"label":"K12 (B1,D2)", "x":2.5, "y":1},
 | 
			
		||||
                {"label":"K13 (B1,D3)", "x":3.5, "y":1},
 | 
			
		||||
                {"label":"K14 (B1,D5)", "x":4.5, "y":1},
 | 
			
		||||
                {"label":"K15 (B1,D4)", "x":5.5, "y":1},
 | 
			
		||||
                {"label":"K16 (B1,D6)", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"K17 (B1,D7)", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"K18 (B1,B4)", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"K19 (B1,B5)", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"K1A (B1,B6)", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"K1B (B1,C6)", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"K1C (B1,C7)", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"K1D (B1,F7)", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75},
 | 
			
		||||
                {"label":"K22 (B2,D2)", "x":1.75, "y":2},
 | 
			
		||||
                {"label":"K23 (B2,D3)", "x":2.75, "y":2},
 | 
			
		||||
                {"label":"K24 (B2,D5)", "x":3.75, "y":2},
 | 
			
		||||
                {"label":"K25 (B2,D4)", "x":4.75, "y":2},
 | 
			
		||||
                {"label":"K26 (B2,D6)", "x":5.75, "y":2},
 | 
			
		||||
                {"label":"K27 (B2,D7)", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"K28 (B2,B4)", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K29 (B2,B5)", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"K2A (B2,B6)", "x":9.75, "y":2},
 | 
			
		||||
                {"label":"K2B (B2,C6)", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"K2C (B2,C7)", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"K2D (B2,F7)", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"label":"K31 (B3,D1)", "x":0, "y":3, "w":2.25},
 | 
			
		||||
                {"label":"K32 (B3,D2)", "x":2.25, "y":3},
 | 
			
		||||
                {"label":"K33 (B3,D3)", "x":3.25, "y":3},
 | 
			
		||||
                {"label":"K34 (B3,D5)", "x":4.25, "y":3},
 | 
			
		||||
                {"label":"K35 (B3,D4)", "x":5.25, "y":3},
 | 
			
		||||
                {"label":"K36 (B3,D6)", "x":6.25, "y":3},
 | 
			
		||||
                {"label":"K37 (B3,D7)", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"K38 (B3,B4)", "x":8.25, "y":3},
 | 
			
		||||
                {"label":"K39 (B3,B5)", "x":9.25, "y":3},
 | 
			
		||||
                {"label":"K3A (B3,B6)", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"K3B (B3,C6)", "x":11.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"K3C (B3,C7)", "x":13, "y":3},
 | 
			
		||||
                {"label":"K3D (B3,F7)", "x":14, "y":3},
 | 
			
		||||
                {"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"K46 (E6,D6)", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"K49 (E6,B5)", "x":10, "y":4},
 | 
			
		||||
                {"label":"K4A (E6,B6)", "x":11, "y":4},
 | 
			
		||||
                {"label":"K4B (E6,C6)", "x":12, "y":4},
 | 
			
		||||
                {"label":"K4C (E6,C7)", "x":13, "y":4},
 | 
			
		||||
                {"label":"K4D (E6,F7)", "x":14, "y":4}
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
                {"matrix": [2, 2], "x": 1.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 2.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 3.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 5], "x": 4.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 6], "x": 5.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 1], "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#include "rev1.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
  { 0,      1,      2,      3,      4,      5,      6,      7,      8,      9,      10,     11,     12,     13 },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
/* Copyright 2020 MechMerlin
 | 
			
		||||
 *
 | 
			
		||||
 * 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 LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 | 
			
		||||
    K20,    K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,          \
 | 
			
		||||
    K31,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,     K3C, K3D,   \
 | 
			
		||||
    K40,  K41,  K42,              K46,                K49, K4A, K4B, K4C, K4D    \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   KC_NO, K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { KC_NO, K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   K41,   K42,   KC_NO, KC_NO, KC_NO, K46,   KC_NO, KC_NO, K49,   K4A,   K4B,   K4C,   K4D   }, \
 | 
			
		||||
}
 | 
			
		||||
@@ -25,73 +25,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#include "rev2.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
/* Copyright 2021 bdtc123
 | 
			
		||||
 *
 | 
			
		||||
 * 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 LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D,          \
 | 
			
		||||
    K30,       K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B,     K3C, K3D,   \
 | 
			
		||||
    K40,  K41,  K42,              K45,                K49, K4A, K4B, K4C, K4D    \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   KC_NO, K2D   }, \
 | 
			
		||||
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   KC_NO, K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   K41,   K42,   KC_NO, KC_NO, K45,   KC_NO, KC_NO, KC_NO, K49,   K4A,   K4B,   K4C,   K4D   }, \
 | 
			
		||||
}
 | 
			
		||||
@@ -25,74 +25,74 @@
 | 
			
		||||
    "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 1.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#include "rev2.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
/* Copyright 2021 bdtc123
 | 
			
		||||
 *
 | 
			
		||||
 * 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 LAYOUT_60_iso_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,           \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,   K1D,   \
 | 
			
		||||
    K30,  K43, K31, K32, K33, K34, K35, K36, K37, K38, K39,  K3B,    K3C, K3D,   \
 | 
			
		||||
    K40,  K41,  K42,              K45,                K49, K4A, K4B, K4C, K4D    \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C, KC_NO   }, \
 | 
			
		||||
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39, KC_NO,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   K41,   K42,   K43,   KC_NO, K45, KC_NO,   KC_NO, KC_NO, K49,   K4A,   K4B,   K4C,   K4D   }, \
 | 
			
		||||
}
 | 
			
		||||
@@ -22,66 +22,70 @@
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_60_latin_hhkb": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
        { "label": "Esc", "x": 0, "y": 0 },
 | 
			
		||||
        { "label": "!", "x": 1, "y": 0 },
 | 
			
		||||
        { "label": "@", "x": 2, "y": 0 },
 | 
			
		||||
        { "label": "#", "x": 3, "y": 0 },
 | 
			
		||||
        { "label": "$", "x": 4, "y": 0 },
 | 
			
		||||
        { "label": "%", "x": 5, "y": 0 },
 | 
			
		||||
        { "label": "^", "x": 6, "y": 0 },
 | 
			
		||||
        { "label": "&", "x": 7, "y": 0 },
 | 
			
		||||
        { "label": "*", "x": 8, "y": 0 },
 | 
			
		||||
        { "label": "(", "x": 9, "y": 0 },
 | 
			
		||||
        { "label": ")", "x": 10, "y": 0 },
 | 
			
		||||
        { "label": "_", "x": 11, "y": 0 },
 | 
			
		||||
        { "label": "+", "x": 12, "y": 0 },
 | 
			
		||||
        { "label": "|", "x": 13, "y": 0 , "w": 2},
 | 
			
		||||
        { "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 },
 | 
			
		||||
        { "label": "Y", "x": 6.5, "y": 1 },
 | 
			
		||||
        { "label": "U", "x": 7.5, "y": 1 },
 | 
			
		||||
        { "label": "I", "x": 8.5, "y": 1 },
 | 
			
		||||
        { "label": "O", "x": 9.5, "y": 1 },
 | 
			
		||||
        { "label": "P", "x": 10.5, "y": 1 },
 | 
			
		||||
        { "label": "{", "x": 11.5, "y": 1 },
 | 
			
		||||
        { "label": "}", "x": 12.5, "y": 1 },
 | 
			
		||||
        { "label": "Delete", "x": 13.5, "y": 1, "w": 1.5 },
 | 
			
		||||
        { "label": "Control", "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 },
 | 
			
		||||
        { "label": "H", "x": 6.75, "y": 2 },
 | 
			
		||||
        { "label": "J", "x": 7.75, "y": 2 },
 | 
			
		||||
        { "label": "K", "x": 8.75, "y": 2 },
 | 
			
		||||
        { "label": "L", "x": 9.75, "y": 2 },
 | 
			
		||||
        { "label": ":", "x": 10.75, "y": 2 },
 | 
			
		||||
        { "label": "\"", "x": 11.75, "y": 2 },
 | 
			
		||||
        { "label": "Return", "x": 12.75, "y": 2, "w": 2.25 },
 | 
			
		||||
        { "label": "Shift", "x": 0, "y": 3, "w": 2 },
 | 
			
		||||
        { "label": "Z", "x": 2, "y": 3 },
 | 
			
		||||
        { "label": "X", "x": 3, "y": 3 },
 | 
			
		||||
        { "label": "C", "x": 4, "y": 3 },
 | 
			
		||||
        { "label": "V", "x": 5, "y": 3 },
 | 
			
		||||
        { "label": "B", "x": 6, "y": 3 },
 | 
			
		||||
        { "label": "N", "x": 7, "y": 3 },
 | 
			
		||||
        { "label": "M", "x": 8, "y": 3 },
 | 
			
		||||
        { "label": "<", "x": 9, "y": 3 },
 | 
			
		||||
        { "label": ">", "x": 10, "y": 3 },
 | 
			
		||||
        { "label": "?", "x": 11, "y": 3 },
 | 
			
		||||
        { "label": "Shift", "x": 12, "y": 3, "w": 1 },
 | 
			
		||||
		{ "label": "Shift", "x": 13, "y": 3, "w": 1 },
 | 
			
		||||
	    { "label": "Fn", "x": 14, "y": 3, "w": 1 },
 | 
			
		||||
        { "label": "L", "x": 1.25, "y": 4 , "w": 1.25},
 | 
			
		||||
        { "label": "L", "x": 2.5, "y": 4, "w": 1.25 },
 | 
			
		||||
        { "x": 3.75, "y": 4, "w": 6.25 },
 | 
			
		||||
        { "label": "L", "x": 10, "y": 4, "w": 1.25 },
 | 
			
		||||
        { "label": "L", "x": 11.25, "y": 4 }
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
        {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
        {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
        {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
        {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
        {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
        {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
        {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 12, "y": 3, "w": 1},
 | 
			
		||||
        {"matrix": [3, 12], "x": 13, "y": 3, "w": 1},
 | 
			
		||||
        {"matrix": [3, 13], "x": 14, "y": 3, "w": 1},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [4, 0], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 1], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 2], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 3], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 4], "x": 11.25, "y": 4}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
  * You should have received a copy of the GNU General Public License
 | 
			
		||||
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
  */
 | 
			
		||||
#include "latin60rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,34 +0,0 @@
 | 
			
		||||
 /* Copyright 2021 latincompass
 | 
			
		||||
  * 
 | 
			
		||||
  * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_latin_hhkb( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C, \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42, K4A, K4B       \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2C }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, K4A, K4B, XXX, XXX, XXX, XXX,  XXX, XXX, XXX, XXX, XXX  }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (C) 2020 Longnald <support@longnald.com>
 | 
			
		||||
 * Copyright (C) 2020 Seaton Jiang <seaton@vtrois.com>
 | 
			
		||||
 *
 | 
			
		||||
 * 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 3 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 <https://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0E, \
 | 
			
		||||
    K10,      K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
 | 
			
		||||
    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,      \
 | 
			
		||||
         K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
 | 
			
		||||
    K40, K41,      K43,           K46,                K4A, K4B, K4C, K4D, K4E  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   KC_NO, K0E   }, \
 | 
			
		||||
    { K10,   KC_NO, K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E   }, \
 | 
			
		||||
    { K20,   KC_NO, K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   KC_NO }, \
 | 
			
		||||
    { KC_NO, K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E   }, \
 | 
			
		||||
    { K40,   K41,   KC_NO, K43,   KC_NO, KC_NO, K46,   KC_NO, KC_NO, KC_NO, K4A,   K4B,   K4C,   K4D,   K4E   }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -21,70 +21,74 @@
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_64_ansi": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
        { "label": "K00 (F4,F7)", "x": 0, "y": 0 },
 | 
			
		||||
        { "label": "K01 (F4,F6)", "x": 1, "y": 0 },
 | 
			
		||||
        { "label": "K02 (F4,F1)", "x": 2, "y": 0 },
 | 
			
		||||
        { "label": "K03 (F4,F5)", "x": 3, "y": 0 },
 | 
			
		||||
        { "label": "K04 (F4,B1)", "x": 4, "y": 0 },
 | 
			
		||||
        { "label": "K05 (F4,E6)", "x": 5, "y": 0 },
 | 
			
		||||
        { "label": "K06 (F4,D6)", "x": 6, "y": 0 },
 | 
			
		||||
        { "label": "K07 (F4,B7)", "x": 7, "y": 0 },
 | 
			
		||||
        { "label": "K08 (F4,D1)", "x": 8, "y": 0 },
 | 
			
		||||
        { "label": "K09 (F4,D2)", "x": 9, "y": 0 },
 | 
			
		||||
        { "label": "K0A (F4,D0)", "x": 10, "y": 0 },
 | 
			
		||||
        { "label": "K0B (F4,B4)", "x": 11, "y": 0 },
 | 
			
		||||
        { "label": "K0C (F4,B6)", "x": 12, "y": 0 },
 | 
			
		||||
        { "label": "K0E (F4,C7)", "x": 13, "y": 0, "w": 2 },
 | 
			
		||||
        { "label": "K10 (F0,F7)", "x": 0, "y": 1, "w": 1.5 },
 | 
			
		||||
        { "label": "K12 (F0,F1)", "x": 1.5, "y": 1 },
 | 
			
		||||
        { "label": "K13 (F0,F5)", "x": 2.5, "y": 1 },
 | 
			
		||||
        { "label": "K14 (F0,B1)", "x": 3.5, "y": 1 },
 | 
			
		||||
        { "label": "K15 (F0,E6)", "x": 4.5, "y": 1 },
 | 
			
		||||
        { "label": "K16 (F0,D6)", "x": 5.5, "y": 1 },
 | 
			
		||||
        { "label": "K17 (F0,B7)", "x": 6.5, "y": 1 },
 | 
			
		||||
        { "label": "K18 (F0,D1)", "x": 7.5, "y": 1 },
 | 
			
		||||
        { "label": "K19 (F0,D2)", "x": 8.5, "y": 1 },
 | 
			
		||||
        { "label": "K1A (F0,D0)", "x": 9.5, "y": 1 },
 | 
			
		||||
        { "label": "K1B (F0,B4)", "x": 10.5, "y": 1 },
 | 
			
		||||
        { "label": "K1C (F0,B6)", "x": 11.5, "y": 1 },
 | 
			
		||||
        { "label": "K1D (F0,C6)", "x": 12.5, "y": 1 },
 | 
			
		||||
        { "label": "K1E (F0,C7)", "x": 13.5, "y": 1, "w": 1.5 },
 | 
			
		||||
        { "label": "K20 (B2,F7)", "x": 0, "y": 2, "w": 1.75 },
 | 
			
		||||
        { "label": "K22 (B2,F1)", "x": 1.75, "y": 2 },
 | 
			
		||||
        { "label": "K23 (B2,F5)", "x": 2.75, "y": 2 },
 | 
			
		||||
        { "label": "K24 (B2,B1)", "x": 3.75, "y": 2 },
 | 
			
		||||
        { "label": "K25 (B2,E6)", "x": 4.75, "y": 2 },
 | 
			
		||||
        { "label": "K26 (B2,D6)", "x": 5.75, "y": 2 },
 | 
			
		||||
        { "label": "K27 (B2,B7)", "x": 6.75, "y": 2 },
 | 
			
		||||
        { "label": "K28 (B2,D1)", "x": 7.75, "y": 2 },
 | 
			
		||||
        { "label": "K29 (B2,D2)", "x": 8.75, "y": 2 },
 | 
			
		||||
        { "label": "K2A (B2,D0)", "x": 9.75, "y": 2 },
 | 
			
		||||
        { "label": "K2B (B2,B4)", "x": 10.75, "y": 2 },
 | 
			
		||||
        { "label": "K2C (B2,B6)", "x": 11.75, "y": 2 },
 | 
			
		||||
        { "label": "K2D (B2,C6)", "x": 12.75, "y": 2, "w": 2.25 },
 | 
			
		||||
        { "label": "K31 (B3,F6)", "x": 0, "y": 3, "w": 2 },
 | 
			
		||||
        { "label": "K32 (B3,F1)", "x": 2, "y": 3 },
 | 
			
		||||
        { "label": "K33 (B3,F5)", "x": 3, "y": 3 },
 | 
			
		||||
        { "label": "K34 (B3,B1)", "x": 4, "y": 3 },
 | 
			
		||||
        { "label": "K35 (B3,E6)", "x": 5, "y": 3 },
 | 
			
		||||
        { "label": "K36 (B3,D6)", "x": 6, "y": 3 },
 | 
			
		||||
        { "label": "K37 (B3,B7)", "x": 7, "y": 3 },
 | 
			
		||||
        { "label": "K38 (B3,D1)", "x": 8, "y": 3 },
 | 
			
		||||
        { "label": "K39 (B3,D2)", "x": 9, "y": 3 },
 | 
			
		||||
        { "label": "K3A (B3,D0)", "x": 10, "y": 3 },
 | 
			
		||||
        { "label": "K3B (B3,B4)", "x": 11, "y": 3 },
 | 
			
		||||
        { "label": "K3C (B3,B6)", "x": 12, "y": 3 },
 | 
			
		||||
        { "label": "K3D (B3,C6)", "x": 13, "y": 3 },
 | 
			
		||||
        { "label": "K3E (B3,C7)", "x": 14, "y": 3 },
 | 
			
		||||
        { "label": "K40 (D5,F7)", "x": 0, "y": 4, "w": 1.25 },
 | 
			
		||||
        { "label": "K41 (D5,F6)", "x": 1.25, "y": 4, "w": 1.25 },
 | 
			
		||||
        { "label": "K43 (D5,F5)", "x": 2.5, "y": 4, "w": 1.25 },
 | 
			
		||||
        { "label": "K46 (D5,D6)", "x": 3.75, "y": 4, "w": 6.25 },
 | 
			
		||||
        { "label": "K4A (D5,D0)", "x": 10, "y": 4 },
 | 
			
		||||
        { "label": "K4B (D5,B4)", "x": 11, "y": 4 },
 | 
			
		||||
        { "label": "K4C (D5,B6)", "x": 12, "y": 4 },
 | 
			
		||||
        { "label": "K4D (D5,C6)", "x": 13, "y": 4 },
 | 
			
		||||
        { "label": "K4E (D5,C7)", "x": 14, "y": 4 }
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
 | 
			
		||||
        {"matrix": [1, 2], "x": 1.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 3], "x": 2.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 4], "x": 3.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 5], "x": 4.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 6], "x": 5.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 7], "x": 6.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 8], "x": 7.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 9], "x": 8.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 10], "x": 9.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 11], "x": 10.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 12], "x": 11.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
        {"matrix": [2, 2], "x": 1.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 3], "x": 2.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 4], "x": 3.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 5], "x": 4.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 6], "x": 5.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 12], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 1], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 13], "x": 13, "y": 3},
 | 
			
		||||
        {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11, "y": 4},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12, "y": 4},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13, "y": 4},
 | 
			
		||||
        {"matrix": [4, 14], "x": 14, "y": 4}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -28,142 +28,142 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"x": 14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w": 1.25},
 | 
			
		||||
                {"x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"x": 13.75, "y": 4, "w": 1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"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, "w": 1.25},
 | 
			
		||||
                {"x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"x": 13.75, "y": 4, "w": 1.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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_iso": {
 | 
			
		||||
@@ -181,8 +181,7 @@
 | 
			
		||||
                {"matrix": [0, 10], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 11], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [0, 12], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [0, 14], "x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1.5, "y": 1},
 | 
			
		||||
@@ -225,8 +224,7 @@
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
 
 | 
			
		||||
@@ -1,65 +0,0 @@
 | 
			
		||||
/* Copyright 2022 Mechlovin'
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐      ┌───────┐
 | 
			
		||||
 *              │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │      │0D     │ 2u Backspace
 | 
			
		||||
 *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤      └─┬─────┤
 | 
			
		||||
 *              │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │        │     │  
 | 
			
		||||
 *              ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤     ┌──┴┐1D  │ ISO Enter
 | 
			
		||||
 *              │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │     │2D │    │
 | 
			
		||||
   ┌────────┐   ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤   ┌─┴───┴────┤
 | 
			
		||||
   │30  │31 │   │30      │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C    │3D │   │3C        │ 2.75u RShift
 | 
			
		||||
 * └────────┘   ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤   └──────────┘
 | 
			
		||||
 *              │40  │41  │42  │46                      │4A  │4B  │4C  │4D  │ Standard
 | 
			
		||||
 *              └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 *              ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
 | 
			
		||||
 *              │40   │41 │42   │46                         │4B   │4C │4D   │ Tsangan/WKL
 | 
			
		||||
 *              └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,      \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D,           \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,      \
 | 
			
		||||
    K40, K41, K42,           K46,                K4A, K4B, K4C, K4D            \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D,      \
 | 
			
		||||
    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      \
 | 
			
		||||
    K40, K41, K42,           K46,                K4A, K4B, K4C, K4D       \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D }, \
 | 
			
		||||
}
 | 
			
		||||
@@ -16,73 +16,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
/* Copyright 2020 MelGeek <melgeek001365@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39,      K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, XXX, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "mj63.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "mj63.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 
 | 
			
		||||
@@ -16,75 +16,76 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "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":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":3, "w":2},
 | 
			
		||||
                {"x":2, "y":3},
 | 
			
		||||
                {"x":3, "y":3},
 | 
			
		||||
                {"x":4, "y":3},
 | 
			
		||||
                {"x":5, "y":3},
 | 
			
		||||
                {"x":6, "y":3},
 | 
			
		||||
                {"x":7, "y":3},
 | 
			
		||||
                {"x":8, "y":3},
 | 
			
		||||
                {"x":9, "y":3},
 | 
			
		||||
                {"x":10, "y":3},
 | 
			
		||||
                {"x":11, "y":3},
 | 
			
		||||
                {"x":12, "y":3},
 | 
			
		||||
                {"x":13, "y":3},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "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}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,36 +0,0 @@
 | 
			
		||||
 | 
			
		||||
/* Copyright 2020 MelGeek <melgeek001365@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
			
		||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
			
		||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      \
 | 
			
		||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "mj64.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "mj64.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "mj64.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,73 +24,73 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_arrow": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.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},
 | 
			
		||||
                {"label":"N", "x":7.25, "y":3},
 | 
			
		||||
                {"label":"M", "x":8.25, "y":3},
 | 
			
		||||
                {"label":",<", "x":9.25, "y":3},
 | 
			
		||||
                {"label":".>", "x":10.25, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":11.25, "y":3, "w":1.75},
 | 
			
		||||
                {"label":"\u2191", "x":13, "y":3},
 | 
			
		||||
                {"label":"/?", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4},
 | 
			
		||||
                {"label":"Fn", "x":11, "y":4},
 | 
			
		||||
                {"label":"\u2190", "x":12, "y":4},
 | 
			
		||||
                {"label":"\u2193", "x":13, "y":4},
 | 
			
		||||
                {"label":"\u2192", "x":14, "y":4}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "m63_rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
/* Copyright 2021 Mss Studio
 | 
			
		||||
 * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D     │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
 | 
			
		||||
 * │30      │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A    │3C │3D │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
 | 
			
		||||
 * │40  │41  │42  │45                      │49 │4A │4B │4C │4D │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_arrow( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0D,     \
 | 
			
		||||
     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,   K1D,    \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,      \
 | 
			
		||||
       K30,   K31, K32, K33, K34, K35, K36, K37, K38, K39,    K3A,     K3C, K3D, \
 | 
			
		||||
    K40,  K41,  K42,                K45,                K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -24,74 +24,74 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"label":"7&", "x":7, "y":0},
 | 
			
		||||
                {"label":"8*", "x":8, "y":0},
 | 
			
		||||
                {"label":"9(", "x":9, "y":0},
 | 
			
		||||
                {"label":"0)", "x":10, "y":0},
 | 
			
		||||
                {"label":"-_", "x":11, "y":0},
 | 
			
		||||
                {"label":"=+", "x":12, "y":0},
 | 
			
		||||
                {"label":"Backspace", "x":13, "y":0, "w":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"label":"Y", "x":6.5, "y":1},
 | 
			
		||||
                {"label":"U", "x":7.5, "y":1},
 | 
			
		||||
                {"label":"I", "x":8.5, "y":1},
 | 
			
		||||
                {"label":"O", "x":9.5, "y":1},
 | 
			
		||||
                {"label":"P", "x":10.5, "y":1},
 | 
			
		||||
                {"label":"[{", "x":11.5, "y":1},
 | 
			
		||||
                {"label":"]}", "x":12.5, "y":1},
 | 
			
		||||
                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.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},
 | 
			
		||||
                {"label":"H", "x":6.75, "y":2},
 | 
			
		||||
                {"label":"J", "x":7.75, "y":2},
 | 
			
		||||
                {"label":"K", "x":8.75, "y":2},
 | 
			
		||||
                {"label":"L", "x":9.75, "y":2},
 | 
			
		||||
                {"label":";:", "x":10.75, "y":2},
 | 
			
		||||
                {"label":"'\"", "x":11.75, "y":2},
 | 
			
		||||
                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"label":"Shift", "x":0, "y":3, "w":2},
 | 
			
		||||
                {"label":"Z", "x":2, "y":3},
 | 
			
		||||
                {"label":"X", "x":3, "y":3},
 | 
			
		||||
                {"label":"C", "x":4, "y":3},
 | 
			
		||||
                {"label":"V", "x":5, "y":3},
 | 
			
		||||
                {"label":"B", "x":6, "y":3},
 | 
			
		||||
                {"label":"N", "x":7, "y":3},
 | 
			
		||||
                {"label":"M", "x":8, "y":3},
 | 
			
		||||
                {"label":",<", "x":9, "y":3},
 | 
			
		||||
                {"label":".>", "x":10, "y":3},
 | 
			
		||||
                {"label":"/?", "x":11, "y":3},
 | 
			
		||||
                {"label":"Shift", "x":12, "y":3},
 | 
			
		||||
                {"label":"\u2191", "x":13, "y":3},
 | 
			
		||||
                {"label":"Delete", "x":14, "y":3},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Win", "x":1.25, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
 | 
			
		||||
                {"label":"Space", "x":3.75, "y":4, "w":6.25},
 | 
			
		||||
                {"label":"Alt", "x":10, "y":4},
 | 
			
		||||
                {"label":"Fn", "x":11, "y":4},
 | 
			
		||||
                {"label":"\u2190", "x":12, "y":4},
 | 
			
		||||
                {"label":"\u2193", "x":13, "y":4},
 | 
			
		||||
                {"label":"\u2192", "x":14, "y":4}
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "m64_rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
/* Copyright 2021 Mss Studio
 | 
			
		||||
 * Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
/* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D     │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D   │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │
 | 
			
		||||
 * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤
 | 
			
		||||
 * │30     │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │
 | 
			
		||||
 * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤
 | 
			
		||||
 * │40  │41  │42  │45                      │49 │4A │4B │4C │4D │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_64_ansi( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0D,   \
 | 
			
		||||
     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,   K1D,  \
 | 
			
		||||
      K20,   K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,    K2D,    \
 | 
			
		||||
       K30,   K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
			
		||||
    K40,  K41,  K42,               K45,               K49, K4A, K4B, K4C, K4D  \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
			
		||||
    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
			
		||||
    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
 | 
			
		||||
    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
			
		||||
    { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D }  \
 | 
			
		||||
}
 | 
			
		||||
@@ -24,7 +24,76 @@
 | 
			
		||||
    "community_layouts": ["64_ansi"],
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_64_ansi": {
 | 
			
		||||
            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "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}]
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [3, 1], "x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 3], "x": 4, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [3, 7], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"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, 5], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 9], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [4, 10], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [4, 11], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [4, 12], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
  * You should have received a copy of the GNU General Public License 
 | 
			
		||||
  * along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 | 
			
		||||
  */ 
 | 
			
		||||
#include "mt64rgb.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,33 +0,0 @@
 | 
			
		||||
 /* Copyright 2020 MT
 | 
			
		||||
  * 
 | 
			
		||||
  * 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 LAYOUT_64_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, K0B, K0C, K0D, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,      \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
 | 
			
		||||
    k40, k41, k42,         k45,                             k48, k4A, k4B, k4C, k4D \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, K0B, K0C, K0D}, \
 | 
			
		||||
    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D}, \
 | 
			
		||||
    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C,  KC_NO}, \
 | 
			
		||||
    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D}, \
 | 
			
		||||
    {k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO,KC_NO, k48,  k4A, k4B, k4C, k4D} \
 | 
			
		||||
}
 | 
			
		||||
@@ -26,288 +26,290 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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}, 
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75}, 
 | 
			
		||||
				{"x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w":1.25}, 
 | 
			
		||||
				{"x":11.25, "y":4, "w":1.25}, 
 | 
			
		||||
				{"x":12.5, "y":4, "w":1.25}, 
 | 
			
		||||
				{"x":13.75, "y":4, "w":1.25}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift_encoder": {
 | 
			
		||||
            "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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}, 
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75}, 
 | 
			
		||||
				{"x":14, "y":3}, 
 | 
			
		||||
				{"x":15.25, "y":3}, 
 | 
			
		||||
				{"x":16.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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w":1.25}, 
 | 
			
		||||
				{"x":11.25, "y":4, "w":1.25}, 
 | 
			
		||||
				{"x":12.5, "y":4, "w":1.25}, 
 | 
			
		||||
				{"x":13.75, "y":4, "w":1.25}
 | 
			
		||||
                {"matrix": [5, 0], "x": 15.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.25, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift_tsangan": {
 | 
			
		||||
            "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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}, 
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75}, 
 | 
			
		||||
				{"x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
				{"x":0, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":1.5, "y":4}, 
 | 
			
		||||
				{"x":2.5, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":4, "y":4, "w":7}, 
 | 
			
		||||
				{"x":11, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":12.5, "y":4}, 
 | 
			
		||||
				{"x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder": {
 | 
			
		||||
            "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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}, 
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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}, 
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75}, 
 | 
			
		||||
				{"x":14, "y":3}, 
 | 
			
		||||
				{"x":15.25, "y":3}, 
 | 
			
		||||
				{"x":16.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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
				{"x":0, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":1.5, "y":4}, 
 | 
			
		||||
				{"x":2.5, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":4, "y":4, "w":7}, 
 | 
			
		||||
				{"x":11, "y":4, "w":1.5}, 
 | 
			
		||||
				{"x":12.5, "y":4}, 
 | 
			
		||||
				{"x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [5, 0], "x": 15.25, "y": 3},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.25, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -18,71 +18,3 @@
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#include "encoder_action.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 LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D,  \
 | 
			
		||||
    K40,  K42,  K43,              K47,                K4A,  K4B,  K4C,  K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO,  KC_NO, K4A,   K4B,   K4C,   K4D   }, \
 | 
			
		||||
	{ KC_NO,  KC_NO } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift_encoder( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D, E00A,  E00B,  \
 | 
			
		||||
    K40,  K42,  K43,              K47,                K4A,  K4B,  K4C,  K4D   \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO,  KC_NO, K4A,   K4B,   K4C,   K4D   }, \
 | 
			
		||||
	{ E00A,  E00B } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D,   \
 | 
			
		||||
    K40,  K42,  K43,                K47,                    K4B,  K4C,  K4D      \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO,  KC_NO, KC_NO, K4B,   K4C,   K4D   }, \
 | 
			
		||||
	{ KC_NO,  KC_NO } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D, E00A,  E00B,   \
 | 
			
		||||
    K40,  K42,  K43,                K47,                    K4B,  K4C,  K4D      \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO,  KC_NO, KC_NO, K4B,   K4C,   K4D   }, \
 | 
			
		||||
	{ E00A,  E00B } \
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -18,143 +18,143 @@
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
				{"x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "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, "w":1.25},
 | 
			
		||||
				{"x":11.25, "y":4, "w":1.25},
 | 
			
		||||
				{"x":12.5, "y":4, "w":1.25},
 | 
			
		||||
				{"x":13.75, "y":4, "w":1.25}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
                {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_60_ansi_split_bs_rshift_tsangan": {
 | 
			
		||||
            "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [1, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [2, 13], "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},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 12], "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},
 | 
			
		||||
				{"x":12.25, "y":3, "w":1.75},
 | 
			
		||||
				{"x":14, "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},
 | 
			
		||||
                {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
                {"matrix": [3, 13], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
				{"x":0, "y":4, "w":1.5},
 | 
			
		||||
				{"x":1.5, "y":4},
 | 
			
		||||
				{"x":2.5, "y":4, "w":1.5},
 | 
			
		||||
				{"x":4, "y":4, "w":7},
 | 
			
		||||
				{"x":11, "y":4, "w":1.5},
 | 
			
		||||
				{"x":12.5, "y":4},
 | 
			
		||||
				{"x":13.5, "y":4, "w":1.5}
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 2], "x": 1.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
                {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
                {"matrix": [4, 12], "x": 12.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
/* Copyright 2020 DeskDaily
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
/* This is a shortcut to help you visually see your layout.
 | 
			
		||||
 *
 | 
			
		||||
 * The first section contains all of the arguments representing the physical
 | 
			
		||||
 * layout of the board and position of the keys.
 | 
			
		||||
 *
 | 
			
		||||
 * The second converts the arguments into a two-dimensional array which
 | 
			
		||||
 * represents the switch matrix.
 | 
			
		||||
 */
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D,   \
 | 
			
		||||
    K40,  K42,  K43,              K47,                K4A,  K4B,  K4C,  K4D      \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO, KC_NO, K4A,   K4B,   K4C,   K4D   } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bs_rshift_tsangan( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,   \
 | 
			
		||||
    K10,   K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D,      \
 | 
			
		||||
    K20,    K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,          \
 | 
			
		||||
    K30,       K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,     K3D,   \
 | 
			
		||||
    K40,  K42,  K43,                K47,                    K4B,  K4C,  K4D      \
 | 
			
		||||
) { \
 | 
			
		||||
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D   }, \
 | 
			
		||||
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D   }, \
 | 
			
		||||
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D   }, \
 | 
			
		||||
    { K30,   KC_NO, K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D   }, \
 | 
			
		||||
    { K40,   KC_NO, K42,   K43,   KC_NO, KC_NO, KC_NO, K47,   KC_NO, KC_NO, KC_NO, K4B,   K4C,   K4D   } \
 | 
			
		||||
}
 | 
			
		||||
@@ -25,19 +25,353 @@
 | 
			
		||||
  "community_layouts": ["60_ansi", "60_iso", "60_hhkb"],
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_60_ansi": {
 | 
			
		||||
      "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":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}, {"x":12.25, "y":3, "w":2.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_ansi_split_bksp_rshift": {
 | 
			
		||||
      "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}, {"x":12.25, "y":3, "w":1.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
        {"matrix": [0, 14], "x": 14, "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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
        {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_iso": {
 | 
			
		||||
      "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}, {"x":12.25, "y":3, "w":2.75}, {"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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 12], "x": 12.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
        {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_iso_split_rshift": {
 | 
			
		||||
      "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75},
 | 
			
		||||
        {"matrix": [2, 2], "x": 1.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 3], "x": 2.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 4], "x": 3.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 5], "x": 4.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 6], "x": 5.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 12], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
 | 
			
		||||
        {"matrix": [3, 1], "x": 1.25, "y": 3},
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
        {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
        {"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, 6], "x": 3.75, "y": 4, "w": 6.25},
 | 
			
		||||
        {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
 | 
			
		||||
        {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_60_hhkb": {
 | 
			
		||||
      "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}, {"label":"7", "x":7, "y":0}, {"label":"8", "x":8, "y":0}, {"label":"9", "x":9, "y":0}, {"label":"0", "x":10, "y":0}, {"label":"-", "x":11, "y":0}, {"label":"=", "x":12, "y":0}, {"label":"\\", "x":13, "y":0}, {"label":"`", "x":14, "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}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"[", "x":11.5, "y":1}, {"label":"]", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "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}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":";", "x":10.75, "y":2}, {"label":"'", "x":11.75, "y":2}, {"label":"Enter", "x":12.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}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":",", "x":9.25, "y":3}, {"label":".", "x":10.25, "y":3}, {"label":"/", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [0, 13], "x": 13, "y": 0},
 | 
			
		||||
        {"matrix": [0, 14], "x": 14, "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},
 | 
			
		||||
        {"matrix": [1, 12], "x": 12.5, "y": 1},
 | 
			
		||||
        {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [2, 6], "x": 6.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 7], "x": 7.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 8], "x": 8.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 9], "x": 9.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 10], "x": 10.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 11], "x": 11.75, "y": 2},
 | 
			
		||||
        {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
        {"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},
 | 
			
		||||
        {"matrix": [3, 7], "x": 7.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 8], "x": 8.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 9], "x": 9.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 10], "x": 10.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 11], "x": 11.25, "y": 3},
 | 
			
		||||
        {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
 | 
			
		||||
        {"matrix": [3, 14], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [4, 1], "x": 1.5, "y": 4},
 | 
			
		||||
        {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
 | 
			
		||||
        {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
 | 
			
		||||
        {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
 | 
			
		||||
        {"matrix": [4, 12], "x": 12.5, "y": 4}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,75 +0,0 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,      k0E, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
 | 
			
		||||
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_ansi_split_bksp_rshift( \
 | 
			
		||||
    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, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
 | 
			
		||||
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,      k0E, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_iso_split_rshift( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,      k0E, \
 | 
			
		||||
    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
 | 
			
		||||
    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
 | 
			
		||||
    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E }, \
 | 
			
		||||
    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
 | 
			
		||||
    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
 | 
			
		||||
    { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_60_hhkb( \
 | 
			
		||||
    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, \
 | 
			
		||||
    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
 | 
			
		||||
    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3D, k3E, \
 | 
			
		||||
         k41, k42,                k46,                k4B, k4C \
 | 
			
		||||
) { \
 | 
			
		||||
    { 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, XXX }, \
 | 
			
		||||
    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX }, \
 | 
			
		||||
    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
 | 
			
		||||
    { XXX, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, XXX, XXX } \
 | 
			
		||||
}
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user