Explorar el Código

Charue Sunsetter: layout macro fixes (#13809)

* remove K214 from LAYOUT_1065_ansi macro

Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data.

Also updates info.json to use human-friendly formatting.

* add layout macros

Adds:

- LAYOUT_1065_ansi_split_bs macro
- LAYOUT_1065_iso macro
- LAYOUT_1065_iso_split_bs macro
- `default_iso` keymap

* add LAYOUT_all macro

Adds LAYOUT_all macro and a `default_all` keymap.

This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap.
James Young hace 5 años
padre
commit
4604b58769

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 92 - 0
keyboards/charue/sunsetter/info.json


+ 5 - 5
keyboards/charue/sunsetter/keymaps/default/keymap.c

@@ -18,9 +18,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_1065_ansi(
-        KC_F1,   KC_F2,   KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL ,           KC_BSPC, KC_VOLU,
-        KC_F3,   KC_F4,   KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,           KC_BSLS, KC_VOLD,
-        KC_F5,   KC_F6,   KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,           KC_ENT , KC_ENT , KC_MUTE,
-        KC_F7,   KC_F8,   KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,           KC_RSFT, KC_UP  , KC_MNXT,
-        KC_F9,   KC_F10,  KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,                    KC_LEFT, KC_DOWN, KC_RGHT),
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP  , KC_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
 };

+ 26 - 0
keyboards/charue/sunsetter/keymaps/default_all/keymap.c

@@ -0,0 +1,26 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+   [0] = LAYOUT_all(
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS,          KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     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_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC , KC_SPC , KC_SPC ,                   KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+};

+ 26 - 0
keyboards/charue/sunsetter/keymaps/default_iso/keymap.c

@@ -0,0 +1,26 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+   [0] = LAYOUT_1065_iso(
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,          KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     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_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
+};

+ 20 - 20
keyboards/charue/sunsetter/keymaps/via/keymap.c

@@ -18,27 +18,27 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_1065_ansi(
-        KC_F1,   KC_F2,   KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL ,           KC_BSPC, KC_VOLU,
-        KC_F3,   KC_F4,   KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,           KC_BSLS, KC_VOLD,
-        KC_F5,   KC_F6,   KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,           KC_ENT , KC_ENT , KC_MUTE,
-        KC_F7,   KC_F8,   KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,           KC_RSFT, KC_UP  , KC_MNXT,
-        KC_F9,   KC_F10,  KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,                    KC_LEFT, KC_DOWN, KC_RGHT),
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP  , KC_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
    [1] = LAYOUT_1065_ansi(
-        KC_F1,   KC_F2,   KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL ,           KC_BSPC, KC_VOLU,
-        KC_F3,   KC_F4,   KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,           KC_BSLS, KC_VOLD,
-        KC_F5,   KC_F6,   KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,           KC_ENT , KC_ENT , KC_MUTE,
-        KC_F7,   KC_F8,   KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,           KC_RSFT, KC_UP  , KC_MNXT,
-        KC_F9,   KC_F10,  KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,                    KC_LEFT, KC_DOWN, KC_RGHT),
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP  , KC_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
    [2] = LAYOUT_1065_ansi(
-        KC_F1,   KC_F2,   KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL ,           KC_BSPC, KC_VOLU,
-        KC_F3,   KC_F4,   KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,           KC_BSLS, KC_VOLD,
-        KC_F5,   KC_F6,   KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,           KC_ENT , KC_ENT , KC_MUTE,
-        KC_F7,   KC_F8,   KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,           KC_RSFT, KC_UP  , KC_MNXT,
-        KC_F9,   KC_F10,  KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,                    KC_LEFT, KC_DOWN, KC_RGHT),
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP  , KC_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
    [3] = LAYOUT_1065_ansi(
-        KC_F1,   KC_F2,   KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL ,           KC_BSPC, KC_VOLU,
-        KC_F3,   KC_F4,   KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,           KC_BSLS, KC_VOLD,
-        KC_F5,   KC_F6,   KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,           KC_ENT , KC_ENT , KC_MUTE,
-        KC_F7,   KC_F8,   KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH,           KC_RSFT, KC_UP  , KC_MNXT,
-        KC_F9,   KC_F10,  KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,                    KC_LEFT, KC_DOWN, KC_RGHT),
+        KC_F1,   KC_F2,     KC_GESC, KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
+        KC_F3,   KC_F4,     KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
+        KC_F5,   KC_F6,     KC_CAPS, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,          KC_ENT , KC_MUTE,
+        KC_F7,   KC_F8,     KC_LSFT,          KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP  , KC_MNXT,
+        KC_F9,   KC_F10,    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC ,                            KC_RALT,          KC_LEFT, KC_DOWN, KC_RGHT),
 };

+ 84 - 6
keyboards/charue/sunsetter/sunsetter.h

@@ -21,16 +21,94 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define ____ KC_NO
 
+/* LAYOUT_all
+ *                                                                           ┌───────┐
+ *                                                                           │016    │2u Backspace
+ *                                                                           └───────┘
+ *              ┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ *              │000│001││002│003│004│005│006│007│008│009│010│011│012│013│014│015│016│017│
+ *              ├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤      ┌─────┐
+ *              │100│101││102  │103│104│105│106│107│108│109│110│111│112│113│114│116  │117│      │     │ISO
+ *  2.25u       ├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤   ┌──┴┐216 │Enter
+ *  LShift      │200│201││202   │203│204│205│206│207│208│209│210│211│212│213│215     │217│   │214│    │
+ * ┌────────┐   ├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤   └───┴────┘
+ * │302     │   │300│301││302 │303│304│305│306│307│308│309│310│311│312│313│314   │316│317│
+ * └────────┘   ├───┼───┤├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+ *              │400│401││402 │403 │404 │406     │408 │410       │412│413│414│415│416│417│
+ *              └───┴───┘└────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘
+ *                                      ┌────────────────────────┐   └───┬───┘
+ *                                      │          408           │      (a)
+ *                                      └────────────────────────┘
+ *
+ * (a) Positions 413 and 414 are present on the PCB, but inaccessible when using the standard Sunsetter top case.
+ */
+
+#define LAYOUT_all( \
+    K000, K001,   K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \
+    K100, K101,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116,       K117, \
+    K200, K201,   K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \
+    K300, K301,   K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,       K316, K317, \
+    K400, K401,   K402, K403, K404,             K406, K408, K410,             K412, K413, K414, K415, K416, K417  \
+) { \
+    { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \
+    { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \
+    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217 }, \
+    { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \
+    { K400, K401, K402, K403, K404, ____, K406, ____, K408, ____, K410, ____, K412, K413, K414, K415, K416, K417 } \
+}
+
 #define LAYOUT_1065_ansi( \
-    K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014,       K016, K017, \
-    K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114,       K116, K117, \
-    K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215,       K217, \
-    K300, K301, K302,       K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314,       K316, K317, \
-    K400, K401, K402, K403, K404,                   K408,                   K412,             K415, K416, K417 \
+    K000, K001,   K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K016, K017, \
+    K100, K101,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, \
+    K200, K201,   K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,       K215, K217, \
+    K300, K301,   K302,       K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \
+    K400, K401,   K402, K403, K404,                   K408,                   K412,       K415, K416, K417 \
 ) { \
     { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, ____, K016, K017 }, \
     { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \
-    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, ____, K217 }, \
+    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____, K217 }, \
+    { K300, K301, K302, ____, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \
+    { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \
+}
+
+#define LAYOUT_1065_ansi_split_bs( \
+    K000, K001,   K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \
+    K100, K101,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, \
+    K200, K201,   K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,       K215, K217, \
+    K300, K301,   K302,       K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \
+    K400, K401,   K402, K403, K404,                   K408,                   K412,       K415, K416, K417 \
+) { \
+    { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \
+    { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \
+    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____, K217 }, \
     { K300, K301, K302, ____, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \
     { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \
 }
+
+#define LAYOUT_1065_iso( \
+    K000, K001,   K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K016, K017, \
+    K100, K101,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114,       K117, \
+    K200, K201,   K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, \
+    K300, K301,   K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \
+    K400, K401,   K402, K403, K404,                   K408,                   K412,       K415, K416, K417 \
+) { \
+    { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, ____, K016, K017 }, \
+    { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, ____, K117 }, \
+    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, ____, K216, K217 }, \
+    { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \
+    { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \
+}
+
+#define LAYOUT_1065_iso_split_bs( \
+    K000, K001,   K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \
+    K100, K101,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114,       K117, \
+    K200, K201,   K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, \
+    K300, K301,   K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \
+    K400, K401,   K402, K403, K404,                   K408,                   K412,       K415, K416, K417 \
+) { \
+    { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \
+    { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, ____, K117 }, \
+    { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, ____, K216, K217 }, \
+    { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \
+    { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \
+}

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio