~ruther/qmk_firmware

b494bc4459594525a174df0eec1be7372ef9bf42 — Drashna Jael're 3 years ago dfa5390 + 558ab18
Merge remote-tracking branch 'origin/master' into develop
54 files changed, 3260 insertions(+), 1295 deletions(-)

A keyboards/planck/keymaps/komidore64/config.h
A keyboards/planck/keymaps/komidore64/keymap.c
A keyboards/planck/keymaps/komidore64/readme.md
A keyboards/splitkb/aurora/corne/config.h
A keyboards/splitkb/aurora/corne/corne.c
A keyboards/splitkb/aurora/corne/glcdfont.c
A keyboards/splitkb/aurora/corne/info.json
A keyboards/splitkb/aurora/corne/keymaps/debug/config.h
A keyboards/splitkb/aurora/corne/keymaps/debug/keymap.c
A keyboards/splitkb/aurora/corne/keymaps/debug/readme.md
A keyboards/splitkb/aurora/corne/keymaps/debug/rules.mk
A keyboards/splitkb/aurora/corne/keymaps/default/keymap.json
A keyboards/splitkb/aurora/corne/keymaps/default/readme.md
A keyboards/splitkb/aurora/corne/readme.md
A keyboards/splitkb/aurora/corne/rev1/config.h
A keyboards/splitkb/aurora/corne/rev1/info.json
A keyboards/splitkb/aurora/corne/rev1/rev1.c
A keyboards/splitkb/aurora/corne/rev1/rules.mk
A keyboards/splitkb/aurora/corne/rules.mk
M keyboards/wuque/promise87/ansi/ansi.h
M keyboards/wuque/promise87/ansi/info.json
M keyboards/wuque/promise87/ansi/keymaps/default/keymap.c
D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md
D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md
D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md
D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md
D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md
R keyboards/wuque/promise87/ansi/keymaps/{default_tkl_f13_ansi => default_tkl_f13_ansi_tsangan}/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan/readme.md
R keyboards/wuque/promise87/ansi/keymaps/{default_tkl_f13_ansi_split_bs => default_tkl_f13_ansi_tsangan_split_bs}/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs/readme.md
R keyboards/wuque/promise87/ansi/keymaps/{default_tkl_f13_ansi_split_bs_rshift => default_tkl_f13_ansi_tsangan_split_bs_rshift}/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs_rshift/readme.md
R keyboards/wuque/promise87/ansi/keymaps/{default_tkl_f13_ansi_split_lshift => default_tkl_f13_ansi_tsangan_split_lshift}/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_lshift/readme.md
R keyboards/wuque/promise87/ansi/keymaps/{default_tkl_f13_ansi_split_rshift => default_tkl_f13_ansi_tsangan_split_rshift}/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_rshift/readme.md
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/readme.md
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/keymap.c
A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/readme.md
M keyboards/wuque/promise87/ansi/keymaps/via/keymap.c
M keyboards/wuque/promise87/ansi/keymaps/via/rules.mk
M keyboards/wuque/promise87/ansi/readme.md
M keyboards/wuque/promise87/ansi/rules.mk
M keyboards/wuque/promise87/wkl/info.json
M keyboards/wuque/promise87/wkl/keymaps/default/keymap.c
A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/keymap.c
A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/readme.md
A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/keymap.c
A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/readme.md
M keyboards/wuque/promise87/wkl/keymaps/via/keymap.c
M keyboards/wuque/promise87/wkl/readme.md
M keyboards/wuque/promise87/wkl/wkl.h
A keyboards/planck/keymaps/komidore64/config.h => keyboards/planck/keymaps/komidore64/config.h +28 -0
@@ 0,0 1,28 @@
/*
 * Copyright 2022 M. Adam Price
 *
 * 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/>.
 */

#include "config_common.h"

// QMK configuration /////////
#define TAPPING_TERM 400
#define PERMISSIVE_HOLD
//////////////////////////////

// k64 keymap configuration //
#define KEYMAP_REVISION "11"
#define VER_NEWLINE_WAIT 200 // in milliseconds
//////////////////////////////

A keyboards/planck/keymaps/komidore64/keymap.c => keyboards/planck/keymaps/komidore64/keymap.c +66 -0
@@ 0,0 1,66 @@
/*
 * Copyright 2022 M. Adam Price
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

#include "version.h"

enum custom_keycodes {
    VER_STR = SAFE_RANGE,
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case VER_STR:
            if (record->event.pressed) {
                SEND_STRING("# qmk " QMK_VERSION "\n");
                wait_ms(VER_NEWLINE_WAIT);
                SEND_STRING("# " QMK_KEYBOARD "/" QMK_KEYMAP " version " KEYMAP_REVISION "\n");
                wait_ms(VER_NEWLINE_WAIT);
                SEND_STRING("# built on: " QMK_BUILDDATE "\n");
            }
            break;
    }
    return true;
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_planck_1x2uC(
            KC_TAB,         KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
            LCTL_T(KC_ESC), KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
            KC_LSFT,        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, RSFT_T(KC_ENT),
            XXXXXXX,        KC_ALGR, KC_LGUI, KC_LALT, MO(1),   KC_SPC,           MO(2),   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
    ),
    [1] = LAYOUT_planck_1x2uC(
            KC_GRV,         KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
            _______,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
            _______,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
            KC_INS,         _______, _______, _______, _______, _______,          MO(3),   KC_HOME, KC_PGDN, KC_PGUP, KC_END
    ),
    [2] = LAYOUT_planck_1x2uC(
            KC_TILD,        KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_DEL,
            _______,        KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
            _______,        KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
            KC_INS,         _______, _______, _______, MO(3),   _______,          _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
    ),
    [3] = LAYOUT_planck_1x2uC(
            QK_BOOT,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_DEL,
            XXXXXXX,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX,
            KC_CAPS,        XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, VER_STR,
            _______,        XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,          _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
    )
};

A keyboards/planck/keymaps/komidore64/readme.md => keyboards/planck/keymaps/komidore64/readme.md +10 -0
@@ 0,0 1,10 @@
# komidore64 OLKB Plank rev6

The fanciest change in this keymap compared to the default is I've added a
version string output command.

```
# qmk 0.7.151-13-ga942ac
# planck/rev6/komidore64 version 11
# built on: 2020-02-12-12:21:46
```

A keyboards/splitkb/aurora/corne/config.h => keyboards/splitkb/aurora/corne/config.h +22 -0
@@ 0,0 1,22 @@
/* Copyright 2022 splitkb.com <support@splitkb.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

// Not yet available in `info.json`
#ifdef OLED_ENABLE
#   define OLED_FONT_H "keyboards/splitkb/aurora/corne/glcdfont.c"
#endif

A keyboards/splitkb/aurora/corne/corne.c => keyboards/splitkb/aurora/corne/corne.c +308 -0
@@ 0,0 1,308 @@
/* Copyright 2022 splitkb.com <support@splitkb.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/>.
 */

#include "quantum.h"

// The first four layers gets a name for readability, which is then used in the OLED below.
enum layers {
  _DEFAULT,
  _LOWER,
  _RAISE,
  _ADJUST
};

#ifdef OLED_ENABLE
// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne,
// and has been copied directly from `crkbd/soundmonster/keymap.c`

oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
    return OLED_ROTATION_270;
}

static void render_space(void) {
    oled_write_P(PSTR("     "), false);
}

static void render_mod_status_gui_alt(uint8_t modifiers) {
    static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0};
    static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0};
    static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0};
    static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0};

    static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0};
    static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0};
    static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0};
    static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0};

    // fillers between the modifier icons bleed into the icon frames
    static const char PROGMEM off_off_1[] = {0xc5, 0};
    static const char PROGMEM off_off_2[] = {0xc6, 0};
    static const char PROGMEM on_off_1[] = {0xc7, 0};
    static const char PROGMEM on_off_2[] = {0xc8, 0};
    static const char PROGMEM off_on_1[] = {0xc9, 0};
    static const char PROGMEM off_on_2[] = {0xca, 0};
    static const char PROGMEM on_on_1[] = {0xcb, 0};
    static const char PROGMEM on_on_2[] = {0xcc, 0};

    if(modifiers & MOD_MASK_GUI) {
        oled_write_P(gui_on_1, false);
    } else {
        oled_write_P(gui_off_1, false);
    }

    if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) {
        oled_write_P(on_on_1, false);
    } else if(modifiers & MOD_MASK_GUI) {
        oled_write_P(on_off_1, false);
    } else if(modifiers & MOD_MASK_ALT) {
        oled_write_P(off_on_1, false);
    } else {
        oled_write_P(off_off_1, false);
    }

    if(modifiers & MOD_MASK_ALT) {
        oled_write_P(alt_on_1, false);
    } else {
        oled_write_P(alt_off_1, false);
    }

    if(modifiers & MOD_MASK_GUI) {
        oled_write_P(gui_on_2, false);
    } else {
        oled_write_P(gui_off_2, false);
    }

    if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) {
        oled_write_P(on_on_2, false);
    } else if(modifiers & MOD_MASK_GUI) {
        oled_write_P(on_off_2, false);
    } else if(modifiers & MOD_MASK_ALT) {
        oled_write_P(off_on_2, false);
    } else {
        oled_write_P(off_off_2, false);
    }

    if(modifiers & MOD_MASK_ALT) {
        oled_write_P(alt_on_2, false);
    } else {
        oled_write_P(alt_off_2, false);
    }
}

static void render_mod_status_ctrl_shift(uint8_t modifiers) {
    static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0};
    static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0};
    static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0};
    static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0};

    static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0};
    static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0};
    static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0};
    static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0};

    // fillers between the modifier icons bleed into the icon frames
    static const char PROGMEM off_off_1[] = {0xc5, 0};
    static const char PROGMEM off_off_2[] = {0xc6, 0};
    static const char PROGMEM on_off_1[] = {0xc7, 0};
    static const char PROGMEM on_off_2[] = {0xc8, 0};
    static const char PROGMEM off_on_1[] = {0xc9, 0};
    static const char PROGMEM off_on_2[] = {0xca, 0};
    static const char PROGMEM on_on_1[] = {0xcb, 0};
    static const char PROGMEM on_on_2[] = {0xcc, 0};

    if(modifiers & MOD_MASK_CTRL) {
        oled_write_P(ctrl_on_1, false);
    } else {
        oled_write_P(ctrl_off_1, false);
    }

    if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) {
        oled_write_P(on_on_1, false);
    } else if(modifiers & MOD_MASK_CTRL) {
        oled_write_P(on_off_1, false);
    } else if(modifiers & MOD_MASK_SHIFT) {
        oled_write_P(off_on_1, false);
    } else {
        oled_write_P(off_off_1, false);
    }

    if(modifiers & MOD_MASK_SHIFT) {
        oled_write_P(shift_on_1, false);
    } else {
        oled_write_P(shift_off_1, false);
    }

    if(modifiers & MOD_MASK_CTRL) {
        oled_write_P(ctrl_on_2, false);
    } else {
        oled_write_P(ctrl_off_2, false);
    }

    if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) {
        oled_write_P(on_on_2, false);
    } else if(modifiers & MOD_MASK_CTRL) {
        oled_write_P(on_off_2, false);
    } else if(modifiers & MOD_MASK_SHIFT) {
        oled_write_P(off_on_2, false);
    } else {
        oled_write_P(off_off_2, false);
    }

    if(modifiers & MOD_MASK_SHIFT) {
        oled_write_P(shift_on_2, false);
    } else {
        oled_write_P(shift_off_2, false);
    }
}

static void render_logo(void) {
    static const char PROGMEM aurora_logo[] = {
        0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0xc0, 0xf8, 0xe0, 0xc0, 0xfc, 0x00, 0x7e, 0x18, 0x00, 0x80, 
        0x00, 0x02, 0x80, 0xf0, 0x00, 0xc0, 0x80, 0xf8, 0xc0, 0xe0, 0x70, 0x60, 0x3c, 0x38, 0x3c, 0x1c, 
        0x00, 0x3f, 0x0c, 0x0f, 0x1f, 0x03, 0x07, 0x01, 0xc3, 0x00, 0xe0, 0x80, 0x00, 0xe0, 0x80, 0xf8, 
        0x80, 0xc0, 0xf7, 0xc7, 0x6f, 0x7b, 0x39, 0x30, 0x00, 0x80, 0x00, 0xc0, 0x00, 0xc0, 0xc2, 0xe0, 
        0x00, 0x40, 0x38, 0x30, 0x38, 0x1e, 0x18, 0x1e, 0x0f, 0x0c, 0x07, 0x07, 0x07, 0x03, 0x03, 0x21, 
        0x21, 0x31, 0x30, 0x18, 0x18, 0x1c, 0x08, 0x0c, 0x0e, 0x07, 0x06, 0x07, 0x03, 0xc3, 0x03, 0x01, 
        0x4c, 0xcc, 0xc2, 0xc2, 0x41, 0x49, 0x09, 0x2b, 0x2a, 0x6a, 0x6e, 0x24, 0x24, 0x04, 0x92, 0x92, 
        0xb1, 0xf1, 0xf1, 0xf2, 0xe6, 0xa4, 0xa4, 0x04, 0x04, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28
    };
    oled_write_raw_P(aurora_logo, sizeof(aurora_logo));
    oled_set_cursor(0, 4);
}

static void render_logo_text(void) {
    oled_write_P(PSTR("corne"), false);
}

static void render_kb_LED_state(void) {
    // Host Keyboard LED Status
    led_t led_usb_state = host_keyboard_led_state();
    oled_write_P(led_usb_state.num_lock ? PSTR("N ") : PSTR("  "), false);
    oled_write_P(led_usb_state.caps_lock ? PSTR("C ") : PSTR("  "), false);
    oled_write_P(led_usb_state.scroll_lock ? PSTR("S ") : PSTR("  "), false);
}

static void render_layer_state(void) {
    static const char PROGMEM default_layer[] = {
        0x20, 0x94, 0x95, 0x96, 0x20,
        0x20, 0xb4, 0xb5, 0xb6, 0x20,
        0x20, 0xd4, 0xd5, 0xd6, 0x20, 0};
    static const char PROGMEM raise_layer[] = {
        0x20, 0x97, 0x98, 0x99, 0x20,
        0x20, 0xb7, 0xb8, 0xb9, 0x20,
        0x20, 0xd7, 0xd8, 0xd9, 0x20, 0};
    static const char PROGMEM lower_layer[] = {
        0x20, 0x9a, 0x9b, 0x9c, 0x20,
        0x20, 0xba, 0xbb, 0xbc, 0x20,
        0x20, 0xda, 0xdb, 0xdc, 0x20, 0};
    static const char PROGMEM adjust_layer[] = {
        0x20, 0x9d, 0x9e, 0x9f, 0x20,
        0x20, 0xbd, 0xbe, 0xbf, 0x20,
        0x20, 0xdd, 0xde, 0xdf, 0x20, 0};
    if(layer_state_is(_LOWER)) {
        oled_write_P(lower_layer, false);
    } else if(layer_state_is(_RAISE)) {
        oled_write_P(raise_layer, false);
    } else if(layer_state_is(_DEFAULT)) {
        oled_write_P(default_layer, false);
    } else {
        oled_write_P(adjust_layer, false);
    }
}


bool oled_task_kb(void) {
    if (!oled_task_user()) {
        return false;
    }
    if (is_keyboard_master()) {
        // Renders the current keyboard state (layers and mods)
        render_logo();
        render_logo_text();
        render_space();
        render_layer_state();
        render_space();
        render_mod_status_gui_alt(get_mods()|get_oneshot_mods());
        render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods());
        render_kb_LED_state();
    } else {
        // clang-format off
        static const char PROGMEM aurora_art[] = {
            0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x08, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 
            0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, 
            0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x80, 0x00, 0xf0, 0x00, 0x00, 0xc0, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
            0x81, 0x00, 0xc0, 0x00, 0xfe, 0x00, 0xfc, 0x00, 0xff, 0x20, 0xff, 0xf0, 0x0f, 0xf0, 0x00, 0xff, 
            0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xf8, 0x00, 0x00, 0xf8, 
            0xff, 0x10, 0xff, 0x84, 0xff, 0x60, 0xff, 0x36, 0xff, 0x0f, 0xff, 0x3f, 0x00, 0x5f, 0x00, 0x05, 
            0x80, 0x00, 0x80, 0x00, 0xc0, 0x38, 0x00, 0xec, 0xf0, 0x00, 0xfb, 0x80, 0xff, 0xf0, 0xff, 0xef, 
            0xff, 0xe8, 0xff, 0x03, 0xff, 0x0c, 0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 0x00, 0xf8, 0x00, 0x80, 
            0xff, 0x20, 0xff, 0xd0, 0xff, 0xe0, 0xfe, 0xf8, 0xff, 0xfc, 0xff, 0xff, 0x0f, 0xff, 0x01, 0x3f, 
            0xff, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x03, 0x00, 0xfe, 0x80, 0xfe, 0x00, 0xc0, 0xff, 0xc4, 0xfb, 
            0xff, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x07, 0xff, 0x03, 0x3f, 0x00, 0x0f, 0xc0, 0x00, 
            0x00, 0x00, 0xb8, 0x00, 0xff, 0x40, 0xbe, 0xf0, 0xff, 0xf1, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 
            0x1f, 0xff, 0x67, 0x00, 0xef, 0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0xe0, 0x00, 0xff, 0xf0, 
            0xff, 0x88, 0xff, 0xc4, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x7f, 0x0f, 0xff, 
            0x00, 0x07, 0xfe, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xc0, 0x3f, 0xf8, 0xe7, 0xff, 
            0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0x3f, 0x01, 0xff, 0x0b, 0x00, 0xff, 0x00, 0x00, 0x05, 
            0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x60, 0x80, 0xfe, 0xe3, 0xfc, 0xff, 0x1e, 0xff, 0xff, 0x23, 
            0xff, 0x09, 0xff, 0x20, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x40, 0x00, 0xc0, 0x00, 0xfc, 
            0xe0, 0xfc, 0xf0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0x0f, 0xff, 0x07, 0x1f, 0x00, 0x01, 0x0f, 0x00, 
            0x0f, 0x00, 0x81, 0x70, 0x0c, 0xf0, 0x80, 0x00, 0x00, 0xe4, 0xf8, 0xe6, 0x70, 0x3f, 0xcf, 0xff, 
            0x1f, 0xff, 0x48, 0xff, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x43, 0x60, 0xf8, 0xf0, 0xfe, 0x38, 0xfe, 
            0x00, 0xfc, 0x03, 0x00, 0xc8, 0x72, 0xcf, 0xfc, 0x00, 0x03, 0x0f, 0x01, 0xe0, 0x1c, 0xe0, 0x03, 
            0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x06, 0xf9, 0x00, 0x03, 0x00, 0x07, 
            0xff, 0x00, 0x10, 0x12, 0xc9, 0xf0, 0xcf, 0xb4, 0x7f, 0x80, 0xe0, 0x1e, 0x01, 0x40, 0x65, 0x5e, 
            0xe0, 0x00, 0x00, 0xf0, 0x0c, 0xf0, 0x00, 0x80, 0x7e, 0x01, 0x80, 0x93, 0xfc, 0xc0, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x89, 0x18, 0x2c, 0x46, 0x00, 0x07, 0x21, 0x10, 0x10, 0x80, 0x09, 0x13, 
            0x31, 0xbf, 0xff, 0x00, 0x08, 0x1a, 0xf7, 0x0f, 0x00, 0x00, 0x44, 0x45, 0x34, 0xbf, 0xb8, 0x00, 
            0x10, 0xf0, 0x08, 0xf4, 0x18, 0x11, 0xfc, 0x18, 0xfb, 0x0e, 0x10, 0xf8, 0x04, 0xf8, 0x10, 0x20, 
            0x18, 0x09, 0xff, 0x0c, 0xea, 0x1f, 0x28, 0x60, 0x30, 0xf8, 0x20, 0xc0, 0x42, 0x33, 0x21, 0x00
        };
        // clang-format on
        oled_write_raw_P(aurora_art, sizeof(aurora_art));
    }
    return false;
}
#endif

#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
    if (!encoder_update_user(index, clockwise)) {
        return false;
    }
    // 0 is left-half encoder,
    // 1 is right-half encoder
    if (index == 0) {
        // Volume control
        if (clockwise) {
            tap_code(KC_VOLU);
        } else {
            tap_code(KC_VOLD);
        }
    } else if (index == 1) {
        // Page up/Page down
        if (clockwise) {
            tap_code(KC_PGDN);
        } else {
            tap_code(KC_PGUP);
        }
    }
    return true;
}
#endif

A keyboards/splitkb/aurora/corne/glcdfont.c => keyboards/splitkb/aurora/corne/glcdfont.c +234 -0
@@ 0,0 1,234 @@
#include "progmem.h"

// NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c`

// Corne 8x6 font with QMK Firmware Logo
// Online editor: https://helixfonteditor.netlify.com/
// See also: https://github.com/soundmonster/glcdfont_converter

const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8,
0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC,
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00,
0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2,
0x42, 0x42, 0x42, 0xE2, 0x52, 0x22,
0x22, 0x22, 0x42, 0x82, 0x02, 0x02,
0x22, 0x22, 0x02, 0x04, 0xF8, 0x00,
0x00, 0xF8, 0x04, 0x02, 0x02, 0x82,
0x42, 0x22, 0x42, 0x82, 0x02, 0x02,
0x02, 0x82, 0x42, 0x22, 0x12, 0x22,
0x42, 0x82, 0x02, 0x04, 0xF8, 0x00,
0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E,
0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE,
0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00,
0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E,
0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0,
0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0,
0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80,
0x80, 0x80, 0x40, 0x40, 0x20, 0x20,
0x10, 0x10, 0x08, 0x08, 0x10, 0x10,
0x20, 0x20, 0x40, 0x40, 0x80, 0x80,
0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0,
0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0,
0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80,
0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47,
0x42, 0x42, 0x42, 0x47, 0x4A, 0x44,
0x40, 0x40, 0x40, 0x40, 0x41, 0x42,
0x44, 0x44, 0x40, 0x20, 0x1F, 0x00,
0x00, 0x1F, 0x20, 0x40, 0x41, 0x40,
0x40, 0x40, 0x40, 0x40, 0x41, 0x40,
0x41, 0x41, 0x4F, 0x48, 0x48, 0x48,
0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00,
0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78,
0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B,
0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D,
0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00,
0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F,
0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E,
0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C,
0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88,
0x88, 0x88, 0x55, 0x55, 0x23, 0x23,
0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47,
0x23, 0x23, 0x55, 0x55, 0x88, 0x88,
0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2,
0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4,
0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88,
0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6,
0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6,
0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88,
0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F,
0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F,
0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F,
0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C,
0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00,
0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04,
0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20,
0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04,
0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20,
0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC,
0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F,
0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE,
0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00,
0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77,
0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
0x04, 0x04, 0x08, 0x08, 0x04, 0x04,
0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x03, 0x03,
0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07,
0x03, 0x03, 0x01, 0x01, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x03, 0x02,
0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06,
0x03, 0x02, 0x01, 0x01, 0x00, 0x00
};

A keyboards/splitkb/aurora/corne/info.json => keyboards/splitkb/aurora/corne/info.json +16 -0
@@ 0,0 1,16 @@
{
    "manufacturer": "splitkb.com",
    "url": "https://splitkb.com/products/aurora-corne-pcb-kit",
    "maintainer": "splitkb",
    "usb": {
        "vid": "0x8D1D",
        "device_version": "1.0.0"
    },
    "development_board": "elite_c",
    "split": {
        "enabled": true
    },
    "build": {
        "lto": true
    }
}

A keyboards/splitkb/aurora/corne/keymaps/debug/config.h => keyboards/splitkb/aurora/corne/keymaps/debug/config.h +21 -0
@@ 0,0 1,21 @@
/* Copyright 2022 splitkb.com <support@splitkb.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

#ifdef RGBLIGHT_ENABLE
#   define RGBLIGHT_EFFECT_BREATHING
#endif

A keyboards/splitkb/aurora/corne/keymaps/debug/keymap.c => keyboards/splitkb/aurora/corne/keymaps/debug/keymap.c +73 -0
@@ 0,0 1,73 @@
/* Copyright 2022 splitkb.com <support@splitkb.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/>.
 */

#include QMK_KEYBOARD_H

enum layers {
    _DEFAULT = 0,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_DEFAULT] = LAYOUT_split_3x6_3(
        KC_A, KC_B, KC_C, KC_D, KC_E, KC_F,                    S(KC_F), S(KC_E), S(KC_D), S(KC_C), S(KC_B), S(KC_A),
        KC_G, KC_H, KC_I, KC_J, KC_K, KC_L,                    S(KC_L), S(KC_K), S(KC_J), S(KC_I), S(KC_H), S(KC_G),
        KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R,                    S(KC_R), S(KC_Q), S(KC_P), S(KC_O), S(KC_N), S(KC_M),
                                KC_S, KC_T, KC_U,     S(KC_U), S(KC_T), S(KC_S)
    )
};

#ifdef RGBLIGHT_ENABLE
void keyboard_post_init_user(void) {
  rgblight_enable_noeeprom(); // enables RGB, without saving settings
  rgblight_sethsv_noeeprom(HSV_RED); // sets the color to red without saving
  rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving
}
#endif

#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
    // 0 is left-half encoder,
    // 1 is right-half encoder
    if (index == 0) {
        tap_code(KC_0);
    } else if (index == 1) {
        tap_code(KC_1);
    }

    if (clockwise) {
        tap_code16(KC_PLUS);
    } else {
        tap_code(KC_MINUS);
    }

    return false;
}
#endif

#ifdef OLED_ENABLE
bool oled_task_user(void) {
    // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall
    // This example string should fill that neatly
    const char *text = PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?");

    if (is_keyboard_master()) {
        oled_write_P(text, false);
    } else {
        oled_write_P(text, false);
    }
    return false;
}
#endif

A keyboards/splitkb/aurora/corne/keymaps/debug/readme.md => keyboards/splitkb/aurora/corne/keymaps/debug/readme.md +24 -0
@@ 0,0 1,24 @@
# Aurora Corne's Debug Keymap

To make debugging your build as easy as possible, we have provided a special debugging keymap. It is not intended to actually type on, it is just here to make sure that your hardware is working correctly.

## Keys

![Keys](https://i.imgur.com/y5zWjsZh.png)

The left side uses lowercase letters, the right side uses uppercase ones.

## Encoders

Encoders output a number of 0 or 1, depending on the installed position.
These correspond to the index used for custom encoder code.

The number is followed by either a `+` or a `-`, depending on the direction turned.

## LEDs

Both underglow and per-key RGB should be fading between red and off.

## OLEDs

Both the primary and secondary side should be filled with characters.

A keyboards/splitkb/aurora/corne/keymaps/debug/rules.mk => keyboards/splitkb/aurora/corne/keymaps/debug/rules.mk +23 -0
@@ 0,0 1,23 @@
# Copyright 2022 splitkb.com <support@splitkb.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/>.

# NOTE: These are already enabled by default at the revision level
#ENCODER_ENABLE = yes
#OLED_ENABLE = yes

# RGB Matrix is enabled at the revision level,
# while we use the regular RGB underglow for testing
RGB_MATRIX_ENABLE = no
RGBLIGHT_ENABLE = yes

A keyboards/splitkb/aurora/corne/keymaps/default/keymap.json => keyboards/splitkb/aurora/corne/keymaps/default/keymap.json +49 -0
@@ 0,0 1,49 @@
{
    "keyboard": "splitkb/aurora/corne",
    "keymap": "default",
    "version": 1,
    "layout": "LAYOUT_split_3x6_3",
    "layers": [
        [
            "KC_TAB"  , "KC_Q"    , "KC_W"    , "KC_E"    , "KC_R"    , "KC_T"    , "KC_Y"    , "KC_U"    , "KC_I"    , "KC_O"    , "KC_P"    , "KC_BSPC" ,
            "KC_LCTL" , "KC_A"    , "KC_S"    , "KC_D"    , "KC_F"    , "KC_G"    , "KC_H"    , "KC_J"    , "KC_K"    , "KC_L"    , "KC_SCLN" , "KC_QUOT" ,
            "KC_LSFT" , "KC_Z"    , "KC_X"    , "KC_C"    , "KC_V"    , "KC_B"    , "KC_N"    , "KC_M"    , "KC_COMM" , "KC_DOT"  , "KC_SLSH" , "KC_ESC"  ,
                                                "KC_LGUI" , "MO(1)"   , "KC_SPC"  , "KC_ENT"  , "MO(2)"   , "KC_RALT"
        ],
        [
            "KC_TAB"  , "KC_1"    , "KC_2"    , "KC_3"    , "KC_4"    , "KC_5"    , "KC_6"    , "KC_7"    , "KC_8"    , "KC_9"    , "KC_0"    , "KC_BSPC" ,
            "KC_LCTL" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_LEFT" , "KC_DOWN" , "KC_UP"   , "KC_RIGHT", "XXXXXXX" , "XXXXXXX" ,
            "KC_LSFT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" ,
                                                "KC_LGUI" , "_______" , "KC_SPC"  , "KC_ENT"  , "MO(3)"   , "KC_RALT"
        ],
        [
            "KC_TAB"  , "KC_EXLM" , "KC_AT"   , "KC_HASH" , "KC_DLR"  , "KC_PERC" , "KC_CIRC" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN" , "KC_RPRN" , "KC_BSPC" ,
            "KC_LCTL" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_MINS" , "KC_EQL"  , "KC_LBRC" , "KC_RBRC" , "KC_BSLS" , "KC_GRV"  ,
            "KC_LSFT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "KC_UNDS" , "KC_PLUS" , "KC_LCBR" , "KC_RCBR" , "KC_PIPE" , "KC_TILD" ,
                                                "KC_LGUI" , "MO(3)"   , "KC_SPC"  , "KC_ENT"  , "_______" , "KC_RALT"
        ],
        [
            "QK_BOOT" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" ,
            "RGB_TOG" , "RGB_HUI" , "RGB_SAI" , "RGB_VAI" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" ,
            "RGB_MOD" , "RGB_HUD" , "RGB_SAD" , "RGB_VAD" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" , "XXXXXXX" ,
                                                "KC_LGUI" , "_______" , "KC_SPC"  , "KC_ENT"  , "_______" , "KC_RALT"
        ]

    ],
    "config": {
        "features": {
            "oled": true,
            "rgb_matrix": true,
            "rgblight": false
        },
        "encoder": {
            "enabled": true
        },
        "rgblight": {
            "hue_steps": 8,
            "saturation_steps": 8,
            "brightness_steps": 8,
            "sleep": true
        }
    }
}

A keyboards/splitkb/aurora/corne/keymaps/default/readme.md => keyboards/splitkb/aurora/corne/keymaps/default/readme.md +88 -0
@@ 0,0 1,88 @@
# Aurora Corne's Default Keymap
_This keymap is a copy of the [Corne default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/default), with modified OLED code._

A simple default keymap for the Aurora Corne
============================================

Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box.

What do all these layers do?
----------------------------

### Layer 0: Base layer

![Layer 0](https://i.imgur.com/Ri5cTHqh.png)

This is where your basic letters live.

The homing thumb fingers are used to access the different layers.

* The homing left thumb finger gives access to the Numbers (or lower) layer
* The homing right thumb finger gives access to the Symbols (or raise) layer
* Pressing both homing thumb fingers gives access to the Adjust layer

### Layer 1: Lower

![Layer 1](https://i.imgur.com/9h6ZRQLh.png)

The Lower layer gives access to your number keys on the top row. It also exposes the arrow keys in the usual Vim-style layout.

### Layer 2: Raise

![Layer 2](https://i.imgur.com/U1pf7pJh.png)

The Raise layer gives access to the symbols. In addition to shifted number keys on the top row, the right hand also exposes the remaining symbol keys, both as shifted and non-shifted variants.

### Layer 3: Adjust

![Layer 3](https://i.imgur.com/A6z1DCbh.png)

The Adjust layer exposes RGB adjustment keys on the left hand.

Where is the keymap.c?
----------------------

The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system.

This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface.

How do I edit and update the keymap?
------------------------------------

The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard.

To edit it, you may:
* Edit it directly from a text editor.
* Edit it from the QMK Configurator.

If you decide to use the latter workflow, here are the steps to follow:

* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/aurora/corne/rev1/LAYOUT_split_3x5_2), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it).
* Browse to the location of your keymap (for example, `<your qmk repo>/keyboards/splitkb/aurora/corne/keymaps/default/keymap.json`)
* Perform any modification to the keymap in the web UI
* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it)
* Replace your original keymap with the one you just downloaded

_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._

I want to do more than the JSON format supports!
-------------------------------------------------

While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour.

To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation.

First, from the root of your qmk repo, move to your keymap folder

```bash
cd ./keymaps/splitkb/aurora/corne/my_personal_keymap
```

Next, convert your `keymap.json` to a `keymap.c`

```bash
qmk json2c -o keymap.c keymap.json
```

You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both!  
**If a JSON file is present, the C file is ignored.**

A keyboards/splitkb/aurora/corne/readme.md => keyboards/splitkb/aurora/corne/readme.md +48 -0
@@ 0,0 1,48 @@
![Aurora Corne](https://i.imgur.com/t4EQ77Lh.jpg)

# Aurora Corne
The Aurora Corne is a redesign by splitkb.com of the popular Corne keyboard (also known as the crkbd or the Helidox) by Foostan.

Keyboard Maintainer: [splitkb.com](https://github.com/splitkb)  
Hardware Supported: Pro Micro 5V/16MHz and compatible.  
Hardware Availability: [splitkb.com](https://splitkb.com).

Make example for this keyboard (after setting up your build environment):

    make splitkb/aurora/corne/rev1:default

Example of flashing this keyboard:

    make splitkb/aurora/corne/rev1:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader
You can enter the bootloader in 3 ways:

* **Physical reset button**: Briefly press the button on the side of the PCB, next to the TRRS socket.
* **Bootmagic reset**: Hold down the bootmagic key and plug in the keyboard. For the left half, this is the top-left button. For the right half, this is the top-right button.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available.

# Assembly
A build guide for the entire Aurora series will become available soon at [docs.splitkb.com](https://docs.splitkb.com).

# Features
The Aurora Corne supports the following features:

- Support for MX or Kailh Choc (v1 sold at splitkb.com, not v2) switches;
- Top mounted controllers for a lower profile;
- Up to two 128×32 pixel OLED displays;
- Up to one EC11 rotary encoders per half in one of two possible positions;
- Per-key RGB backlight by individual RGB LEDs;
- Underglow by individual RGB LEDs;
- Support for a power switch for wireless controllers;
- Support for the splitkb.com tenting puck.

# What is the Aurora Series?

The Aurora series were designed as a homage to open source keyboard kits that have carved their space into the community. Kits that provided something new and unique, kits that resonated with the community and that have both received and have given a lot of love in return.

With the Aurora series, we aim to make these kits available to the community in a way that both honors the original, while also offering the best possible feature set and a consistent, well-documented build experience.

For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own.

A keyboards/splitkb/aurora/corne/rev1/config.h => keyboards/splitkb/aurora/corne/rev1/config.h +45 -0
@@ 0,0 1,45 @@
/* Copyright 2022 splitkb.com <support@splitkb.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

// `SPLIT_HAND_PIN` can currently be defined in `info.json`,
// but can't yet be given a value
#define SPLIT_HAND_PIN F4

// Not yet available in `info.json`
#ifdef OLED_ENABLE
#    define OLED_DISPLAY_128X32
#    define SPLIT_OLED_ENABLE
#endif

// Not yet available in `info.json`
#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define SPLIT_TRANSPORT_MIRROR
#endif

// Not yet available in `info.json`
#ifdef BOOTMAGIC_ENABLE
     // Top left key on left half
#    define BOOTMAGIC_LITE_ROW 0
#    define BOOTMAGIC_LITE_COLUMN 5
     // Top right key on right half
#    define BOOTMAGIC_LITE_ROW_RIGHT    4
#    define BOOTMAGIC_LITE_COLUMN_RIGHT 5
#endif

A keyboards/splitkb/aurora/corne/rev1/info.json => keyboards/splitkb/aurora/corne/rev1/info.json +167 -0
@@ 0,0 1,167 @@
{
    "keyboard_name": "Aurora Corne rev1",
    "usb": {
        "pid": "0x343A"
    },
    "features": {
        "mousekey": true,
        "bootmagic": true,
        "extrakey": true,
        "oled": true,
        "rgb_matrix": true
    },
    "community_layouts": [
        "split_3x6_3"
    ],
    "layouts": {
        "LAYOUT_split_3x6_3": {
            "layout": [
                {"label": "L06", "matrix": [0, 0], "x":  0, "y": 0.3},
                {"label": "L05", "matrix": [0, 1], "x":  1, "y": 0.3},
                {"label": "L04", "matrix": [0, 2], "x":  2, "y": 0.1},
                {"label": "L03", "matrix": [0, 3], "x":  3, "y": 0},
                {"label": "L02", "matrix": [0, 4], "x":  4, "y": 0.1},
                {"label": "L01", "matrix": [0, 5], "x":  5, "y": 0.2},
                {"label": "R01", "matrix": [4, 5], "x":  9, "y": 0.2},
                {"label": "R02", "matrix": [4, 4], "x": 10, "y": 0.1},
                {"label": "R03", "matrix": [4, 3], "x": 11, "y": 0},
                {"label": "R04", "matrix": [4, 2], "x": 12, "y": 0.1},
                {"label": "R05", "matrix": [4, 1], "x": 13, "y": 0.3},
                {"label": "R06", "matrix": [4, 0], "x": 14, "y": 0.3},

                {"label": "L12", "matrix": [1, 0], "x":  0, "y": 1.3},
                {"label": "L11", "matrix": [1, 1], "x":  1, "y": 1.3},
                {"label": "L10", "matrix": [1, 2], "x":  2, "y": 1.1},
                {"label": "L09", "matrix": [1, 3], "x":  3, "y": 1},
                {"label": "L08", "matrix": [1, 4], "x":  4, "y": 1.1},
                {"label": "L07", "matrix": [1, 5], "x":  5, "y": 1.2},
                {"label": "R07", "matrix": [5, 5], "x":  9, "y": 1.2},
                {"label": "R08", "matrix": [5, 4], "x": 10, "y": 1.1},
                {"label": "R09", "matrix": [5, 3], "x": 11, "y": 1},
                {"label": "R10", "matrix": [5, 2], "x": 12, "y": 1.1},
                {"label": "R11", "matrix": [5, 1], "x": 13, "y": 1.3},
                {"label": "R12", "matrix": [5, 0], "x": 14, "y": 1.3},

                {"label": "L18", "matrix": [2, 0], "x":  0, "y": 2.3},
                {"label": "L17", "matrix": [2, 1], "x":  1, "y": 2.3},
                {"label": "L16", "matrix": [2, 2], "x":  2, "y": 2.1},
                {"label": "L15", "matrix": [2, 3], "x":  3, "y": 2},
                {"label": "L14", "matrix": [2, 4], "x":  4, "y": 2.1},
                {"label": "L13", "matrix": [2, 5], "x":  5, "y": 2.2},
                {"label": "R13", "matrix": [6, 5], "x":  9, "y": 2.2},
                {"label": "R14", "matrix": [6, 4], "x": 10, "y": 2.1},
                {"label": "R15", "matrix": [6, 3], "x": 11, "y": 2},
                {"label": "R16", "matrix": [6, 2], "x": 12, "y": 2.1},
                {"label": "R17", "matrix": [6, 1], "x": 13, "y": 2.3},
                {"label": "R18", "matrix": [6, 0], "x": 14, "y": 2.3},

                {"label": "L21", "matrix": [3, 3], "x":  4, "y": 3.7},
                {"label": "L20", "matrix": [3, 4], "x":  5, "y": 3.7},
                {"label": "L19", "matrix": [3, 5], "x":  6, "y": 3.2},
                {"label": "R19", "matrix": [7, 5], "x":  8, "y": 3.2},
                {"label": "R20", "matrix": [7, 4], "x":  9, "y": 3.7},
                {"label": "R21", "matrix": [7, 3], "x": 10, "y": 3.7}
            ]
        }
    },
    "diode_direction": "COL2ROW",
    "matrix_pins": {
        "rows": ["D7", "E6", "B4", "B5"],
        "cols": ["B2", "B6", "B3", "B1", "F7", "F6"]
    },
    "encoder": {
        "enabled": true,
        "rotary": [
            {
                "pin_a": "D4",
                "pin_b": "C6"
            }
        ]
    },
    "split": {
        "soft_serial_pin": "D2",
        "main": "pin",
        "matrix_pins": {
            "right": {
                "rows": ["B1", "B3", "B2", "B6"],
                "cols": ["D4", "C6", "D7", "E6", "B4", "B5"]
            }
        },
        "encoder": {
            "right": {
                "rotary": [
                    {
                        "pin_a": "F6",
                        "pin_b": "F7"
                    }
                ]
            }
        }
    },
    "rgblight": {
        "pin": "D3",
        "led_count": 54,
        "split": true,
        "split_count": [27, 27],
        "max_brightness": 128
    },
    "rgb_matrix": {
        "driver": "WS2812",
        "layout": [
            {"flags": 2, "x":  93, "y": 17},                   // L RGB1
            {"flags": 2, "x":  59, "y":  3},                   // L RGB2
            {"flags": 2, "x":  25, "y":  7},                   // L RGB3
            {"flags": 2, "x":  29, "y": 49},                   // L RGB4
            {"flags": 2, "x":  70, "y": 51},                   // L RGB5
            {"flags": 2, "x": 104, "y": 55},                   // L RGB6
            {"flags": 4, "matrix": [3, 2], "x":  95, "y": 63}, // L SW19
            {"flags": 4, "matrix": [3, 1], "x":  80, "y": 58}, // L SW20
            {"flags": 4, "matrix": [3, 0], "x":  60, "y": 55}, // L SW21
            {"flags": 4, "matrix": [2, 5], "x":  85, "y": 39}, // L SW13
            {"flags": 4, "matrix": [2, 4], "x":  68, "y": 37}, // L SW14
            {"flags": 4, "matrix": [2, 3], "x":  50, "y": 35}, // L SW15
            {"flags": 4, "matrix": [2, 2], "x":  33, "y": 37}, // L SW16
            {"flags": 4, "matrix": [2, 1], "x":  16, "y": 42}, // L SW17
            {"flags": 4, "matrix": [1, 5], "x":  85, "y": 21}, // L SW07
            {"flags": 4, "matrix": [1, 4], "x":  68, "y": 19}, // L SW08
            {"flags": 4, "matrix": [1, 3], "x":  50, "y": 13}, // L SW09
            {"flags": 4, "matrix": [1, 2], "x":  33, "y": 20}, // L SW10
            {"flags": 4, "matrix": [1, 1], "x":  16, "y": 24}, // L SW11
            {"flags": 4, "matrix": [0, 5], "x":  85, "y":  4}, // L SW01
            {"flags": 4, "matrix": [0, 4], "x":  68, "y":  2}, // L SW02
            {"flags": 4, "matrix": [0, 3], "x":  50, "y":  0}, // L SW03
            {"flags": 4, "matrix": [0, 2], "x":  33, "y":  3}, // L SW04
            {"flags": 4, "matrix": [0, 1], "x":  16, "y":  7}, // L SW05
            {"flags": 4, "matrix": [0, 0], "x":   0, "y":  7}, // L SW06
            {"flags": 4, "matrix": [1, 0], "x":   0, "y": 24}, // L SW12
            {"flags": 4, "matrix": [2, 0], "x":   0, "y": 41}, // L SW18
            {"flags": 2, "x": 131, "y": 17},                   // R RGB1
            {"flags": 2, "x": 165, "y":  3},                   // R RGB2
            {"flags": 2, "x": 199, "y":  7},                   // R RGB3
            {"flags": 2, "x": 195, "y": 49},                   // R RGB4
            {"flags": 2, "x": 154, "y": 51},                   // R RGB5
            {"flags": 2, "x": 120, "y": 55},                   // R RGB6
            {"flags": 4, "matrix": [7, 2], "x": 129, "y": 63}, // R SW19
            {"flags": 4, "matrix": [7, 1], "x": 144, "y": 58}, // R SW20
            {"flags": 4, "matrix": [7, 0], "x": 164, "y": 55}, // R SW21
            {"flags": 4, "matrix": [6, 5], "x": 139, "y": 39}, // R SW13
            {"flags": 4, "matrix": [6, 4], "x": 156, "y": 37}, // R SW14
            {"flags": 4, "matrix": [6, 3], "x": 174, "y": 35}, // R SW15
            {"flags": 4, "matrix": [6, 2], "x": 191, "y": 37}, // R SW16
            {"flags": 4, "matrix": [6, 1], "x": 208, "y": 42}, // R SW17
            {"flags": 4, "matrix": [5, 5], "x": 139, "y": 21}, // R SW07
            {"flags": 4, "matrix": [5, 4], "x": 156, "y": 19}, // R SW08
            {"flags": 4, "matrix": [5, 3], "x": 174, "y": 13}, // R SW09
            {"flags": 4, "matrix": [5, 2], "x": 191, "y": 20}, // R SW10
            {"flags": 4, "matrix": [5, 1], "x": 208, "y": 24}, // R SW11
            {"flags": 4, "matrix": [4, 5], "x": 139, "y":  4}, // R SW01
            {"flags": 4, "matrix": [4, 4], "x": 156, "y":  2}, // R SW02
            {"flags": 4, "matrix": [4, 3], "x": 174, "y":  0}, // R SW03
            {"flags": 4, "matrix": [4, 2], "x": 191, "y":  3}, // R SW04
            {"flags": 4, "matrix": [4, 1], "x": 208, "y":  7}, // R SW05
            {"flags": 4, "matrix": [4, 0], "x": 224, "y":  7}, // R SW06
            {"flags": 4, "matrix": [5, 0], "x": 224, "y": 24}, // R SW12
            {"flags": 4, "matrix": [6, 0], "x": 224, "y": 41}  // R SW18
        ]
    }
}

A keyboards/splitkb/aurora/corne/rev1/rev1.c => keyboards/splitkb/aurora/corne/rev1/rev1.c +35 -0
@@ 0,0 1,35 @@
/* Copyright 2022 Leah Post <leah@splitkb.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/>.
 */

#include QMK_KEYBOARD_H

#ifdef SWAP_HANDS_ENABLE
// clang-format off
    __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
        {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}},
        {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
        {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
        {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
        {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
        {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
        {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
        {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}
    };
// clang-format on
#    ifdef ENCODER_MAP_ENABLE
        const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1,0};
#    endif
#endif

A keyboards/splitkb/aurora/corne/rev1/rules.mk => keyboards/splitkb/aurora/corne/rev1/rules.mk +17 -0
@@ 0,0 1,17 @@
# Copyright 2022 splitkb.com <support@splitkb.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/>.

# Although no rules are defined,
# presence of this file is required for QMK to compile it.

A keyboards/splitkb/aurora/corne/rules.mk => keyboards/splitkb/aurora/corne/rules.mk +16 -0
@@ 0,0 1,16 @@
# Copyright 2022 splitkb.com <support@splitkb.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/>.

DEFAULT_FOLDER = splitkb/aurora/corne/rev1

M keyboards/wuque/promise87/ansi/ansi.h => keyboards/wuque/promise87/ansi/ansi.h +112 -46
@@ 24,16 24,16 @@
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │        ISO
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤      ┌─────┐
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │      │2d   │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘   ┌──┴┐    │
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │                │3c │    │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐       └───┴────┘
 * │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c    │4d │    │4f │
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐
 * │50   │51 │52   │55         │56 │57         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘└───┴───┴───┘
 */

#define LAYOUT_all( \


@@ 42,18 42,84 @@
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,                        \
    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,       \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D,        K5E, K5F, K5G   \
    K50, K51, K52,           K55, K56, K57,                K5B, K5C, K5D,        K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   KC_NO, KC_NO, KC_NO  }, \
    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, K55,   K56,   K57,   KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_tsangan
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d     ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_tsangan( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                      \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50, K51, K52,                K56,                     K5B, K5C, K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_iso_tsangan
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d     ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │    │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤    ┌───┐
 * │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_iso_tsangan( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2D,                 \
    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50, K51, K52,                K56,                     K5B, K5C, K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi
/* LAYOUT_tkl_f13_ansi_tsangan_split_space
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘


@@ 65,28 131,28 @@
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├─────┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │51 │52   │55         │56 │57         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi( \
#define LAYOUT_tkl_f13_ansi_tsangan_split_space( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                      \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D, K5E, K5F, K5G   \
    K50, K51, K52,           K55, K56, K57,                K5B, K5C, K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, K55,   K56,   K57,   KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_split_bs
/* LAYOUT_tkl_f13_ansi_tsangan_split_bs
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘


@@ 98,28 164,28 @@
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬────┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_split_bs( \
#define LAYOUT_tkl_f13_ansi_tsangan_split_bs( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D,   K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,                   \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B,      K4C,             K4F,       \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D,        K5E, K5F, K5G   \
    K50, K51, K52,                K56,                     K5B, K5C, K5D,        K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_split_lshift
/* LAYOUT_tkl_f13_ansi_tsangan_split_lshift
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘


@@ 131,28 197,28 @@
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤    ┌───┐
 * │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_split_lshift( \
#define LAYOUT_tkl_f13_ansi_tsangan_split_lshift( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                      \
    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D, K5E, K5F, K5G   \
    K50, K51, K52,                K56,                     K5B, K5C, K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_split_rshift
/* LAYOUT_tkl_f13_ansi_tsangan_split_rshift
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘


@@ 164,28 230,28 @@
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c    │4d │    │4f │
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_split_rshift( \
#define LAYOUT_tkl_f13_ansi_tsangan_split_rshift( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                      \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,      K4F,       \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D, K5E, K5F, K5G   \
    K50, K51, K52,                K56,                     K5B, K5C, K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_split_bs_rshift
/* LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘


@@ 197,22 263,22 @@
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c    │4d │    │4f │
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
 * │50  │51  │52  │56                      │5a  │5b  │5c  │5d  ││5e │5f │5g │
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐
 * │50   │51 │52   │56                         │5b   │5c │5d   ││5e │5f │5g │
 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_split_bs_rshift( \
#define LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3D,   K1E, K1F, K1G, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G, \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,                       \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,      \
    K50, K51, K52,                K56,                K5A, K5B, K5C, K5D,        K5E, K5F, K5G  \
    K50, K51, K52,                K56,                     K5B, K5C, K5D,        K5E, K5F, K5G  \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   KC_NO, K4F,   KC_NO  }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, K5A,   K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
    { K50,   K51,   K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   K5C,   K5D,   K5E,   K5F,   K5G    }, \
}

M keyboards/wuque/promise87/ansi/info.json => keyboards/wuque/promise87/ansi/info.json +800 -604
@@ 1,609 1,805 @@
{
    "keyboard_name": "promise87",
    "manufacturer": "wuque",
    "url": "https://shop.wuquestudio.com/",
    "maintainer": "spbgzh",
    "usb": {
        "vid": "0x906D",
        "pid": "0x0005",
        "device_version": "0.0.1"
  "keyboard_name": "promise87",
  "manufacturer": "wuque",
  "url": "https://shop.wuquestudio.com/",
  "maintainer": "spbgzh",
  "usb": {
    "vid": "0x906D",
    "pid": "0x0005",
    "device_version": "0.0.1"
  },
  "layout_aliases": {
    "LAYOUT_87_ansi": "LAYOUT_tkl_f13_ansi_tsangan",
    "LAYOUT_87_ansi_split_bs": "LAYOUT_tkl_f13_ansi_tsangan_split_bs",
    "LAYOUT_87_ansi_split_lshift": "LAYOUT_tkl_f13_ansi_tsangan_split_lshift",
    "LAYOUT_87_ansi_split_rshift": "LAYOUT_tkl_f13_ansi_tsangan_split_rshift",
    "LAYOUT_tkl_f13_ansi": "LAYOUT_tkl_f13_ansi_tsangan",
    "LAYOUT_tkl_f13_ansi_split_bs": "LAYOUT_tkl_f13_ansi_tsangan_split_bs",
    "LAYOUT_tkl_f13_ansi_split_lshift": "LAYOUT_tkl_f13_ansi_tsangan_split_lshift",
    "LAYOUT_tkl_f13_ansi_split_rshift": "LAYOUT_tkl_f13_ansi_tsangan_split_rshift",
    "LAYOUT_tkl_f13_ansi_split_bs_rshift": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift"
  },
  "layouts": {
    "LAYOUT_all": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "Shift2", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 3 },
        { "label": "Space", "x": 7, "y": 5.25, "w": 1 },
        { "label": "Space", "x": 8, "y": 5.25, "w": 3 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "layout_aliases": {
        "LAYOUT_87_ansi": "LAYOUT_tkl_f13_ansi",
        "LAYOUT_87_ansi_split_bs": "LAYOUT_tkl_f13_ansi_split_bs",
        "LAYOUT_87_ansi_split_lshift": "LAYOUT_tkl_f13_ansi_split_lshift",
        "LAYOUT_87_ansi_split_rshift": "LAYOUT_tkl_f13_ansi_split_rshift"
    "LAYOUT_tkl_f13_ansi_tsangan": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "layouts": {
        "LAYOUT_all": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
                { "label": "Shift2", "x": 1.25, "y": 4.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_split_bs": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_split_lshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
                { "label": "Shift2", "x": 1.25, "y": 4.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_split_rshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25 },
                { "label": "Space","x": 3.75, "y": 5.25, "w": 6.25 },
                { "label": "Alt", "x": 10, "y": 5.25, "w": 1.25 },
                { "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25 },
                { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25 },
                { "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        }
    "LAYOUT_tkl_f13_iso_tsangan": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "\\", "x": 12.75, "y": 3.25, "w": 1 },
        { "label": "ISO", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "\\", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_tsangan_split_space": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 3 },
        { "label": "Space", "x": 7, "y": 5.25, "w": 1 },
        { "label": "Space", "x": 8, "y": 5.25, "w": 3 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_tsangan_split_bs": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_tsangan_split_lshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "Shift2", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_tsangan_split_rshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Win", "x": 1.5, "y": 5.25, "w": 1 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Fn", "x": 12.5, "y": 5.25, "w": 1 },
        { "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    }
  }
}

M keyboards/wuque/promise87/ansi/keymaps/default/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default/keymap.c +6 -6
@@ 19,11 19,11 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_all(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,              KC_PSCR, KC_SCRL, KC_PAUS,
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
        KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
		KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 31,6 31,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                   _______, _______, _______,                            _______, _______, _______,             _______, _______, _______
    ),
};

D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/readme.md +0 -1
@@ 1,1 0,0 @@
# The tkl_f13_ansi keymap for promise87

D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/readme.md +0 -1
@@ 1,1 0,0 @@
# The default_tkl_f13_ansi_split_bs keymap for promise87

D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/readme.md +0 -1
@@ 1,1 0,0 @@
# The default_tkl_f13_ansi_split_bs_rshift keymap for promise87

D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/readme.md +0 -1
@@ 1,1 0,0 @@
# The default_tkl_f13_ansi_split_lshift keymap for promise87

D keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/readme.md +0 -1
@@ 1,1 0,0 @@
# The tkl_f13_ansi_split_rshift keymap for promise87

R keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan/keymap.c +4 -4
@@ 17,20 17,20 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi(
    [0] = LAYOUT_tkl_f13_ansi_tsangan(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,  KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
		KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                   KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi(
    [1] = LAYOUT_tkl_f13_ansi_tsangan(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______
        _______, _______, _______,                            _______,                                     _______, _______, _______, _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan/readme.md +1 -0
@@ 0,0 1,1 @@
# The tkl_f13_ansi_tsangan keymap for promise87

R keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs/keymap.c +4 -4
@@ 17,20 17,20 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_split_bs(
    [0] = LAYOUT_tkl_f13_ansi_tsangan_split_bs(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,              KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
		KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,                      KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi_split_bs(
    [1] = LAYOUT_tkl_f13_ansi_tsangan_split_bs(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                            _______,                                     _______, _______, _______,             _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs/readme.md +1 -0
@@ 0,0 1,1 @@
# The default_tkl_f13_ansi_tsangan_split_bs keymap for promise87

R keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_bs_rshift/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs_rshift/keymap.c +4 -4
@@ 17,20 17,20 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_split_bs_rshift(
    [0] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,              KC_PSCR, KC_SCRL, KC_PAUS,
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
        KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
        KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi_split_bs_rshift(
    [1] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                            _______,                                     _______, _______, _______,             _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs_rshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_bs_rshift/readme.md +1 -0
@@ 0,0 1,1 @@
# The default_tkl_f13_ansi_tsangan_split_bs_rshift keymap for promise87

R keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_lshift/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_lshift/keymap.c +4 -4
@@ 17,20 17,20 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_split_lshift(
    [0] = LAYOUT_tkl_f13_ansi_tsangan_split_lshift(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,  KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
		KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                   KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi_split_lshift(
    [1] = LAYOUT_tkl_f13_ansi_tsangan_split_lshift(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______
        _______, _______, _______,                            _______,                                     _______, _______, _______, _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_lshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_lshift/readme.md +1 -0
@@ 0,0 1,1 @@
# The default_tkl_f13_ansi_tsangan_split_lshift keymap for promise87

R keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_split_rshift/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_rshift/keymap.c +4 -4
@@ 17,20 17,20 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_split_rshift(
    [0] = LAYOUT_tkl_f13_ansi_tsangan_split_rshift(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,  KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
		KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,          KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
     [1] = LAYOUT_tkl_f13_ansi_split_rshift(
     [1] = LAYOUT_tkl_f13_ansi_tsangan_split_rshift(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______, _______, _______, _______
        _______, _______, _______,                            _______,                                     _______, _______, _______, _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_rshift/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_rshift/readme.md +1 -0
@@ 0,0 1,1 @@
# The tkl_f13_ansi_tsangan_split_rshift keymap for promise87

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/keymap.c +36 -0
@@ 0,0 1,36 @@
/* Copyright 2022 wuque
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_tsangan_split_space(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,  KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
		KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                   KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi_tsangan_split_space(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______,
        _______, _______, _______,                   _______, _______, _______,                            _______, _______, _______, _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_ansi_tsangan_split_space/readme.md +1 -0
@@ 0,0 1,1 @@
# The tkl_f13_ansi_tsangan_split_space keymap for promise87

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/keymap.c => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/keymap.c +36 -0
@@ 0,0 1,36 @@
/* Copyright 2022 wuque
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_iso_tsangan(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,  KC_PSCR, KC_SCRL, KC_PAUS,
		KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_INS,  KC_HOME, KC_PGUP,
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC,          KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
		KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,                   KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                                      KC_RALT, MO(1),   KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_tkl_f13_iso_tsangan(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______,
        _______, _______, _______,                            _______,                                     _______, _______, _______, _______, _______, _______
    ),
};

A keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/readme.md => keyboards/wuque/promise87/ansi/keymaps/default_tkl_f13_iso_tsangan/readme.md +1 -0
@@ 0,0 1,1 @@
# The tkl_f13_iso_tsangan keymap for promise87

M keyboards/wuque/promise87/ansi/keymaps/via/keymap.c => keyboards/wuque/promise87/ansi/keymaps/via/keymap.c +4 -4
@@ 23,7 23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
		KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
		KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
		KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_LGUI, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
		KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT, MO(1),   KC_RCTL,             KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [1] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 31,7 31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                   _______, _______, _______,                            _______, _______, _______,             _______, _______, _______
    ),
    [2] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 39,7 39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                   _______, _______, _______,                            _______, _______, _______,             _______, _______, _______
    ),
    [3] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 47,6 47,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______, _______, _______,                            _______,                            _______, _______, _______, _______,             _______, _______, _______
        _______, _______, _______,                   _______, _______, _______,                            _______, _______, _______,             _______, _______, _______
    ),
};

M keyboards/wuque/promise87/ansi/keymaps/via/rules.mk => keyboards/wuque/promise87/ansi/keymaps/via/rules.mk +1 -1
@@ 1,2 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
\ No newline at end of file
LTO_ENABLE = yes

M keyboards/wuque/promise87/ansi/readme.md => keyboards/wuque/promise87/ansi/readme.md +4 -2
@@ 1,11 1,13 @@
# promise87

More Info at [promise87](https://shop.wuquestudio.com/)
![Promise87](https://i.imgur.com/0gtouZ2.png)

More Info at [promise87](https://promisetkl.com/)

* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
* Hardware Supported: promise 87
* Hardware Availability: [promise87](https://shop.wuquestudio.com/)  
* Hardware Availability: [promise87](https://promisetkl.com/)  

Make example for this keyboard (after setting up your build environment):  

M keyboards/wuque/promise87/ansi/rules.mk => keyboards/wuque/promise87/ansi/rules.mk +1 -1
@@ 17,4 17,4 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
AUDIO_ENABLE = no           # Audio output

LAYOUTS = tkl_f13_ansi tkl_f13_ansi_split_bs_rshift
LAYOUTS = tkl_f13_ansi_tsangan tkl_f13_ansi_tsangan_split_bs_rshift

M keyboards/wuque/promise87/wkl/info.json => keyboards/wuque/promise87/wkl/info.json +782 -587
@@ 1,592 1,787 @@
{
    "keyboard_name": "promise87",
    "manufacturer": "wuque",
    "url": "https://shop.wuquestudio.com/",
    "maintainer": "spbgzh",
    "usb": {
        "vid": "0x906D",
        "pid": "0x0006",
        "device_version": "0.0.1"
  "keyboard_name": "promise87",
  "manufacturer": "wuque",
  "url": "https://shop.wuquestudio.com/",
  "maintainer": "spbgzh",
  "usb": {
    "vid": "0x906D",
    "pid": "0x0006",
    "device_version": "0.0.1"
  },
  "layout_aliases": {
    "LAYOUT_all_wkl": "LAYOUT_all",
    "LAYOUT_87_wkl": "LAYOUT_tkl_f13_ansi_wkl",
    "LAYOUT_87_wkl_iso": "LAYOUT_tkl_f13_iso_wkl",
    "LAYOUT_87_wkl_split_space": "LAYOUT_tkl_f13_ansi_wkl_split_space",
    "LAYOUT_87_wkl_split_bs": "LAYOUT_tkl_f13_ansi_wkl_split_bs",
    "LAYOUT_87_wkl_split_lshift": "LAYOUT_tkl_f13_ansi_wkl_split_lshift",
    "LAYOUT_87_wkl_split_rshift": "LAYOUT_tkl_f13_ansi_wkl_split_rshift"
  },
  "layouts": {
    "LAYOUT_all": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "Shift2", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 3 },
        { "label": "Space", "x": 7, "y": 5.25, "w": 1 },
        { "label": "Space", "x": 8, "y": 5.25, "w": 3 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "layout_aliases": {
        "LAYOUT_all_wkl": "LAYOUT_all",
        "LAYOUT_87_wkl": "LAYOUT_tkl_f13_ansi_wkl",
        "LAYOUT_87_wkl_split_bs": "LAYOUT_tkl_f13_ansi_wkl_split_bs",
        "LAYOUT_87_wkl_split_lshift": "LAYOUT_tkl_f13_ansi_wkl_split_lshift",
        "LAYOUT_87_wkl_split_rshift": "LAYOUT_tkl_f13_ansi_wkl_split_rshift"
    "LAYOUT_tkl_f13_ansi_wkl": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "layouts": {
        "LAYOUT_all": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
                { "label": "Shift2", "x": 1.25, "y": 4.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_wkl": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_wkl_split_bs": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_wkl_split_lshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
                { "label": "Shift2", "x": 1.25, "y": 4.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_wkl_split_rshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25, "w" : 2 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        },
        "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
            "layout": [
                { "label": "Esc", "x": 0, "y": 0 },
                { "label": "F1", "x": 1.25, "y": 0 },
                { "label": "F2", "x": 2.25, "y": 0 },
                { "label": "F3", "x": 3.25, "y": 0 },
                { "label": "F4", "x": 4.25, "y": 0 },
                { "label": "F5", "x": 5.5, "y": 0 },
                { "label": "F6", "x": 6.5, "y": 0 },
                { "label": "F7", "x": 7.5, "y": 0 },
                { "label": "F8", "x": 8.5, "y": 0 },
                { "label": "F9", "x": 9.75, "y": 0 },
                { "label": "F10", "x": 10.75, "y": 0 },
                { "label": "F11", "x": 11.75, "y": 0 },
                { "label": "F12", "x": 12.75, "y": 0 },
                { "label": "F13", "x": 14, "y": 0 },
                { "label": "Print", "x": 15.25, "y": 0 },
                { "label": "Scroll", "x": 16.25, "y": 0 },
                { "label": "Pause", "x": 17.25, "y": 0 },

                { "label": "~", "x": 0, "y": 1.25 },
                { "label": "1", "x": 1, "y": 1.25 },
                { "label": "2", "x": 2, "y": 1.25 },
                { "label": "3", "x": 3, "y": 1.25 },
                { "label": "4", "x": 4, "y": 1.25 },
                { "label": "5", "x": 5, "y": 1.25 },
                { "label": "6", "x": 6, "y": 1.25 },
                { "label": "7", "x": 7, "y": 1.25 },
                { "label": "8", "x": 8, "y": 1.25 },
                { "label": "9", "x": 9, "y": 1.25 },
                { "label": "0", "x": 10, "y": 1.25 },
                { "label": "-", "x": 11, "y": 1.25 },
                { "label": "=", "x": 12, "y": 1.25 },
                { "label": "Backspace", "x": 13, "y": 1.25 },
                { "label": "Backspace1", "x": 14, "y": 1.25 },
                { "label": "Insert", "x": 15.25, "y": 1.25 },
                { "label": "Home", "x": 16.25, "y": 1.25 },
                { "label": "PageUp", "x": 17.25, "y": 1.25 },

                { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
                { "label": "Q", "x": 1.5, "y": 2.25 },
                { "label": "W", "x": 2.5, "y": 2.25 },
                { "label": "E", "x": 3.5, "y": 2.25 },
                { "label": "R", "x": 4.5, "y": 2.25 },
                { "label": "T", "x": 5.5, "y": 2.25 },
                { "label": "Y", "x": 6.5, "y": 2.25 },
                { "label": "U", "x": 7.5, "y": 2.25 },
                { "label": "I", "x": 8.5, "y": 2.25 },
                { "label": "O", "x": 9.5, "y": 2.25 },
                { "label": "P", "x": 10.5, "y": 2.25 },
                { "label": "[", "x": 11.5, "y": 2.25 },
                { "label": "]", "x": 12.5, "y": 2.25 },
                { "label": "\\", "x": 13.5,"y": 2.25, "w": 1.5 },
                { "label": "Delete", "x": 15.25, "y": 2.25 },
                { "label": "End", "x": 16.25, "y": 2.25 },
                { "label": "PageDown", "x": 17.25, "y": 2.25 },

                { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
                { "label": "A", "x": 1.75, "y": 3.25 },
                { "label": "S", "x": 2.75, "y": 3.25 },
                { "label": "D", "x": 3.75, "y": 3.25 },
                { "label": "F", "x": 4.75, "y": 3.25 },
                { "label": "G", "x": 5.75, "y": 3.25 },
                { "label": "H", "x": 6.75, "y": 3.25 },
                { "label": "J", "x": 7.75, "y": 3.25 },
                { "label": "K", "x": 8.75, "y": 3.25 },
                { "label": "L", "x": 9.75, "y": 3.25 },
                { "label": ";", "x": 10.75, "y": 3.25 },
                { "label": "'", "x": 11.75, "y": 3.25 },
                { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

                { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
                { "label": "Z", "x": 2.25, "y": 4.25 },
                { "label": "X", "x": 3.25, "y": 4.25 },
                { "label": "C", "x": 4.25, "y": 4.25 },
                { "label": "V", "x": 5.25, "y": 4.25 },
                { "label": "B", "x": 6.25, "y": 4.25 },
                { "label": "N", "x": 7.25, "y": 4.25 },
                { "label": "M", "x": 8.25, "y": 4.25 },
                { "label": ",", "x": 9.25, "y": 4.25 },
                { "label": ".", "x": 10.25, "y": 4.25 },
                { "label": "/", "x": 11.25, "y": 4.25 },
                { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
                { "label": "Shift2", "x": 14, "y": 4.25 },
                { "label": "\u2191", "x": 16.25, "y": 4.25 },

                { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
                { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
                { "label": "Space","x": 4, "y": 5.25, "w": 7 },
                { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
                { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
                { "label": "\u2190", "x": 15.25, "y": 5.25 },
                { "label": "\u2193", "x": 16.25, "y": 5.25 },
                { "label": "\u2192", "x": 17.25, "y": 5.25 }
            ]
        }
    "LAYOUT_tkl_f13_iso_wkl": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "\\", "x": 12.75, "y": 3.25, "w": 1 },
        { "label": "ISO", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "\\", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_wkl_split_space": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 3 },
        { "label": "Space", "x": 7, "y": 5.25, "w": 1 },
        { "label": "Space", "x": 8, "y": 5.25, "w": 3 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_wkl_split_bs": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_wkl_split_lshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25 },
        { "label": "Shift2", "x": 1.25, "y": 4.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_wkl_split_rshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25, "w": 2 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    },
    "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
      "layout": [
        { "label": "Esc", "x": 0, "y": 0 },
        { "label": "F1", "x": 1.25, "y": 0 },
        { "label": "F2", "x": 2.25, "y": 0 },
        { "label": "F3", "x": 3.25, "y": 0 },
        { "label": "F4", "x": 4.25, "y": 0 },
        { "label": "F5", "x": 5.5, "y": 0 },
        { "label": "F6", "x": 6.5, "y": 0 },
        { "label": "F7", "x": 7.5, "y": 0 },
        { "label": "F8", "x": 8.5, "y": 0 },
        { "label": "F9", "x": 9.75, "y": 0 },
        { "label": "F10", "x": 10.75, "y": 0 },
        { "label": "F11", "x": 11.75, "y": 0 },
        { "label": "F12", "x": 12.75, "y": 0 },
        { "label": "F13", "x": 14, "y": 0 },
        { "label": "Print", "x": 15.25, "y": 0 },
        { "label": "Scroll", "x": 16.25, "y": 0 },
        { "label": "Pause", "x": 17.25, "y": 0 },

        { "label": "~", "x": 0, "y": 1.25 },
        { "label": "1", "x": 1, "y": 1.25 },
        { "label": "2", "x": 2, "y": 1.25 },
        { "label": "3", "x": 3, "y": 1.25 },
        { "label": "4", "x": 4, "y": 1.25 },
        { "label": "5", "x": 5, "y": 1.25 },
        { "label": "6", "x": 6, "y": 1.25 },
        { "label": "7", "x": 7, "y": 1.25 },
        { "label": "8", "x": 8, "y": 1.25 },
        { "label": "9", "x": 9, "y": 1.25 },
        { "label": "0", "x": 10, "y": 1.25 },
        { "label": "-", "x": 11, "y": 1.25 },
        { "label": "=", "x": 12, "y": 1.25 },
        { "label": "Backspace", "x": 13, "y": 1.25 },
        { "label": "Backspace1", "x": 14, "y": 1.25 },
        { "label": "Insert", "x": 15.25, "y": 1.25 },
        { "label": "Home", "x": 16.25, "y": 1.25 },
        { "label": "PageUp", "x": 17.25, "y": 1.25 },

        { "label": "Tab", "x": 0, "y": 2.25, "w": 1.5 },
        { "label": "Q", "x": 1.5, "y": 2.25 },
        { "label": "W", "x": 2.5, "y": 2.25 },
        { "label": "E", "x": 3.5, "y": 2.25 },
        { "label": "R", "x": 4.5, "y": 2.25 },
        { "label": "T", "x": 5.5, "y": 2.25 },
        { "label": "Y", "x": 6.5, "y": 2.25 },
        { "label": "U", "x": 7.5, "y": 2.25 },
        { "label": "I", "x": 8.5, "y": 2.25 },
        { "label": "O", "x": 9.5, "y": 2.25 },
        { "label": "P", "x": 10.5, "y": 2.25 },
        { "label": "[", "x": 11.5, "y": 2.25 },
        { "label": "]", "x": 12.5, "y": 2.25 },
        { "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5 },
        { "label": "Delete", "x": 15.25, "y": 2.25 },
        { "label": "End", "x": 16.25, "y": 2.25 },
        { "label": "PageDown", "x": 17.25, "y": 2.25 },

        { "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
        { "label": "A", "x": 1.75, "y": 3.25 },
        { "label": "S", "x": 2.75, "y": 3.25 },
        { "label": "D", "x": 3.75, "y": 3.25 },
        { "label": "F", "x": 4.75, "y": 3.25 },
        { "label": "G", "x": 5.75, "y": 3.25 },
        { "label": "H", "x": 6.75, "y": 3.25 },
        { "label": "J", "x": 7.75, "y": 3.25 },
        { "label": "K", "x": 8.75, "y": 3.25 },
        { "label": "L", "x": 9.75, "y": 3.25 },
        { "label": ";", "x": 10.75, "y": 3.25 },
        { "label": "'", "x": 11.75, "y": 3.25 },
        { "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25 },

        { "label": "Shift", "x": 0, "y": 4.25, "w": 2.25 },
        { "label": "Z", "x": 2.25, "y": 4.25 },
        { "label": "X", "x": 3.25, "y": 4.25 },
        { "label": "C", "x": 4.25, "y": 4.25 },
        { "label": "V", "x": 5.25, "y": 4.25 },
        { "label": "B", "x": 6.25, "y": 4.25 },
        { "label": "N", "x": 7.25, "y": 4.25 },
        { "label": "M", "x": 8.25, "y": 4.25 },
        { "label": ",", "x": 9.25, "y": 4.25 },
        { "label": ".", "x": 10.25, "y": 4.25 },
        { "label": "/", "x": 11.25, "y": 4.25 },
        { "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75 },
        { "label": "Shift2", "x": 14, "y": 4.25 },
        { "label": "\u2191", "x": 16.25, "y": 4.25 },

        { "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5 },
        { "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5 },
        { "label": "Space", "x": 4, "y": 5.25, "w": 7 },
        { "label": "Alt", "x": 11, "y": 5.25, "w": 1.5 },
        { "label": "Menu", "x": 13.5, "y": 5.25, "w": 1.5 },
        { "label": "\u2190", "x": 15.25, "y": 5.25 },
        { "label": "\u2193", "x": 16.25, "y": 5.25 },
        { "label": "\u2192", "x": 17.25, "y": 5.25 }
      ]
    }
  }
}

M keyboards/wuque/promise87/wkl/keymaps/default/keymap.c => keyboards/wuque/promise87/wkl/keymaps/default/keymap.c +2 -2
@@ 23,7 23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
        KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
        KC_LCTL,          KC_LALT,                            KC_SPC,                                      KC_RALT,          MO(1),               KC_LEFT, KC_DOWN, KC_RGHT
        KC_LCTL,          KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT,          MO(1),               KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 31,6 31,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______,          _______,                            _______,                                     _______,          _______,             _______, _______, _______
        _______,          _______,                   _______, _______, _______,                            _______,          _______,             _______, _______, _______
    ),
};

A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/keymap.c => keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/keymap.c +36 -0
@@ 0,0 1,36 @@
/* Copyright 2022 wuque
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_ansi_wkl_split_space(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,     KC_PSCR, KC_SCRL, KC_PAUS,
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,    KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
        KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,             KC_UP,
        KC_LCTL,          KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT,          MO(1),      KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_tkl_f13_ansi_wkl_split_space(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             _______,
        _______,          _______,                   _______, _______, _______,                            _______,          _______,    _______, _______, _______
    ),
};

A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/readme.md => keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_ansi_wkl_split_space/readme.md +1 -0
@@ 0,0 1,1 @@
# The default_tkl_f13_ansi_wkl_split_space keymap for promise87

A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/keymap.c => keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/keymap.c +36 -0
@@ 0,0 1,36 @@
/* Copyright 2022 wuque
 *
 * 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/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] ={
    [0] = LAYOUT_tkl_f13_iso_wkl(
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_F13,     KC_PSCR, KC_SCRL, KC_PAUS,
        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP,
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC,             KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,             KC_UP,
        KC_LCTL,          KC_LALT,                            KC_SPC,                                      KC_RALT,          MO(1),      KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_tkl_f13_iso_wkl(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, QK_BOOT,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             _______,
        _______,          _______,                            _______,                                     _______,          _______,    _______, _______, _______
    ),
};

A keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/readme.md => keyboards/wuque/promise87/wkl/keymaps/default_tkl_f13_iso_wkl/readme.md +1 -0
@@ 0,0 1,1 @@
# The default_tkl_f13_iso_wkl keymap for promise87

M keyboards/wuque/promise87/wkl/keymaps/via/keymap.c => keyboards/wuque/promise87/wkl/keymaps/via/keymap.c +4 -4
@@ 23,7 23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,             KC_DEL,  KC_END,  KC_PGDN,
        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,
        KC_LSFT, KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT,                      KC_UP,
        KC_LCTL,          KC_LALT,                            KC_SPC,                                      KC_RALT,          MO(1),               KC_LEFT, KC_DOWN, KC_RGHT
        KC_LCTL,          KC_LALT,                   KC_SPC,  KC_SPC,  KC_SPC,                             KC_RALT,          MO(1),               KC_LEFT, KC_DOWN, KC_RGHT
    ),
    [1] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 31,7 31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______,          _______,                            _______,                                     _______,          _______,             _______, _______, _______
        _______,          _______,                   _______, _______, _______,                            _______,          _______,             _______, _______, _______
    ),
    [2] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 39,7 39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______,          _______,                            _______,                                     _______,          _______,             _______, _______, _______
        _______,          _______,                   _______, _______, _______,                            _______,          _______,             _______, _______, _______
    ),
    [3] = LAYOUT_all(
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,


@@ 47,6 47,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,             _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                      _______,
        _______,          _______,                            _______,                                     _______,          _______,             _______, _______, _______
        _______,          _______,                   _______, _______, _______,                            _______,          _______,             _______, _______, _______
    ),
};

M keyboards/wuque/promise87/wkl/readme.md => keyboards/wuque/promise87/wkl/readme.md +4 -2
@@ 1,11 1,13 @@
# promise87

More Info at [promise87](https://shop.wuquestudio.com/)
![Promise87](https://i.imgur.com/0gtouZ2.png)

More Info at [promise87](https://promisetkl.com/)

* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh)
* Hardware Supported: promise 87
* Hardware Availability: [promise87](https://shop.wuquestudio.com/)  
* Hardware Availability: [promise87](https://promisetkl.com/)

Make example for this keyboard (after setting up your build environment):  

M keyboards/wuque/promise87/wkl/wkl.h => keyboards/wuque/promise87/wkl/wkl.h +77 -11
@@ 24,16 24,16 @@
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │3d ││1e │1f │1g │        ISO
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤      ┌─────┐
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │      │2d   │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘   ┌──┴┐    │
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │                │3c │    │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤    ┌───┐       └───┴────┘
 * │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c    │4d │    │4f │
 * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐
 * │50   │   │52   │56                         │5b   │   │5d   ││5e │5f │5g │
 * └─────┘   └─────┴───────────────────────────┴─────┘   └─────┘└───┴───┴───┘
 * ├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤┌───┼───┼───┐
 * │50   │   │52   │55         │56 │57         │5b   │   │5d   ││5e │5f │5g │
 * └─────┘   └─────┴───────────┴───┴───────────┴─────┘   └─────┘└───┴───┴───┘
 */
#define LAYOUT_all( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,        K0E, K0F, K0G,  \


@@ 41,14 41,14 @@
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,        K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,                        \
    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D,             K4F,       \
    K50,      K52,                K56,                     K5B,      K5D,        K5E, K5F, K5G   \
    K50,      K52,           K55, K56, K57,                K5B,      K5D,        K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   KC_NO, KC_NO, KC_NO  }, \
    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   K4D,   KC_NO, K4F,   KC_NO  }, \
    { K50,   KC_NO, K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   KC_NO, K5D,   K5E,   K5F,   K5G    }, \
    { K50,   KC_NO, K52,   KC_NO, KC_NO, K55,   K56,   K57,   KC_NO, KC_NO, KC_NO, K5B,   KC_NO, K5D,   K5E,   K5F,   K5G    }, \
}




@@ 85,6 85,72 @@
}


/* LAYOUT_tkl_f13_iso_wkl
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d     ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │    │
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤    ┌───┐
 * │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │   │52   │56                         │5b   │   │5d   ││5e │5f │5g │
 * └─────┘   └─────┴───────────────────────────┴─────┘   └─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_iso_wkl( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C,      K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2D,                 \
    K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50,      K52,                K56,                     K5B,      K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   K41,   K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   KC_NO, K52,   KC_NO, KC_NO, KC_NO, K56,   KC_NO, KC_NO, KC_NO, KC_NO, K5B,   KC_NO, K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_wkl_split_space
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │
 * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d     ││1e │1f │1g │
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
 * │20   │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d   ││2e │2f │2g │
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
 * │30    │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c      │
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤    ┌───┐
 * │40      │42 │43 │44 │45 │46 │47 │48 │49 │4a │4b │4c        │    │4f │
 * ├─────┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─────┤┌───┼───┼───┐
 * │50   │   │52   │55         │56 │57         │5b   │   │5d   ││5e │5f │5g │
 * └─────┘   └─────┴───────────┴───┴───────────┴─────┘   └─────┘└───┴───┴───┘
 */
#define LAYOUT_tkl_f13_ansi_wkl_split_space( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,  \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,  \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G,  \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,                      \
    K40,      K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C,           K4F,       \
    K50,      K52,           K55, K56, K57,                K5B,      K5D, K5E, K5F, K5G   \
) { \
    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G    }, \
    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G    }, \
    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G    }, \
    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   KC_NO, KC_NO, KC_NO, KC_NO  }, \
    { K40,   KC_NO, K42,   K43,   K44,   K45,   K46,   K47,   K48,   K49,   K4A,   K4B,   K4C,   KC_NO, KC_NO, K4F,   KC_NO  }, \
    { K50,   KC_NO, K52,   KC_NO, KC_NO, K55,   K56,   K57,   KC_NO, KC_NO, KC_NO, K5B,   KC_NO, K5D,   K5E,   K5F,   K5G    }, \
}


/* LAYOUT_tkl_f13_ansi_wkl_split_bs
 * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
 * │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0a │0b │0c ││0d ││0e │0f │0g │