Procházet zdrojové kódy

Cutie Club x Keebcats Denis: codebase touch-up and info.json update (#16124)

* denis.h: use QMK 3-character notation

* info.json: apply friendly formatting

* info.json: add missing layout trees

* info.json: fix key sequence on ISO layouts
James Young před 3 roky
rodič
revize
c2905437ea

+ 92 - 90
keyboards/cutie_club/keebcats/denis/denis.h

@@ -18,138 +18,140 @@
 
 #include "quantum.h"
 
+#define ___ KC_NO
+
 #define LAYOUT_all( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13,         \
-    k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13,         \
-    k04_00, k04_01, k04_02, k04_04, k04_06, k04_08, k04_10, k04_11, k04_12, k04_13                                          \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D,      \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D,      \
+    k40, k41, k42,           k44, k46, k48,           k4A, k4B, k4C, k4D       \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO },  \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, KC_NO }, \
-    { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, KC_NO },  \
-    { k04_00, k04_01, k04_02, KC_NO, k04_04, KC_NO, k04_06, KC_NO, k04_08, KC_NO, k04_10, k04_11, k04_12, k04_13, KC_NO }       \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, ___ }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+    { k40, k41, k42, ___, k44, ___, k46, ___, k48, ___, k4A, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_ansi( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_13,         \
-    k03_00, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12,                 \
-    k04_00, k04_01, k04_02, k04_06, k04_10, k04_11, k04_12, k04_13                                                  \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
+    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3C, \
+    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D  \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, KC_NO, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO }, \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, KC_NO, k02_13, KC_NO }, \
-    { k03_00, KC_NO, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, k04_10, k04_11, k04_12, k04_13, KC_NO }        \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, ___ }, \
+    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_ansi_split_bs_rshift( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_13,                 \
-    k03_00, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13,                 \
-    k04_00, k04_01, k04_02, k04_06, k04_10, k04_11, k04_12, k04_13                                                          \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D,      \
+    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D,      \
+    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D       \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO },  \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, KC_NO, k02_13, KC_NO },  \
-    { k03_00, KC_NO, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, k04_10, k04_11, k04_12, k04_13, KC_NO }         \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, ___ }, \
+    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_ansi_tsangan( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_13,         \
-    k03_00, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12,                 \
-    k04_00, k04_01, k04_02, k04_06, k04_11, k04_12, k04_13                                                          \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D, \
+    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B,      k3C, \
+    k40, k41, k42,                k46,                     k4B, k4C, k4D  \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, KC_NO, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO }, \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, KC_NO, k02_13, KC_NO }, \
-    { k03_00, KC_NO, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, KC_NO, k04_11, k04_12, k04_13, KC_NO }         \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, ___ }, \
+    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, ___, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_hhkb( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_13,                 \
-    k03_00, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13,                 \
-    k04_01, k04_02, k04_06, k04_11, k04_12                                                                                  \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D,      \
+    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D,      \
+         k41, k42,                k46,                     k4B, k4C            \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO },  \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, KC_NO, k02_13, KC_NO },  \
-    { k03_00, KC_NO, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, KC_NO },   \
-    { KC_NO, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, KC_NO, k04_11, k04_12, KC_NO, KC_NO }            \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, ___ }, \
+    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+    { ___, k41, k42, ___, ___, ___, k46, ___, ___, ___, ___, k4B, k4C, ___, ___ }  \
 }
 
 #define LAYOUT_60_tsangan_hhkb( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_13,                 \
-    k03_00, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13,                 \
-    k04_00, k04_01, k04_02, k04_06, k04_11, k04_12, k04_13                                                                  \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B,      k2D,      \
+    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D,      \
+    k40, k41, k42,                k46,                     k4B, k4C, k4D       \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, KC_NO },  \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, KC_NO, k02_13, KC_NO },  \
-    { k03_00, KC_NO, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, KC_NO, k04_11, k04_12, k04_13, KC_NO }          \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, ___, k2D, ___ }, \
+    { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, ___, k4B, k4C, k4D, ___ }  \
 }
 
 
 #define LAYOUT_60_iso( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, \
-    k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12,         \
-    k04_00, k04_01, k04_02, k04_06, k04_10, k04_11, k04_12, k04_13                                                  \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      \
+    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D  \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, KC_NO, k00_14 },  \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, KC_NO, KC_NO },   \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, KC_NO }, \
-    { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, k04_10, k04_11, k04_12, k04_13, KC_NO }         \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, ___ }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_iso_split_bs_rshift( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12,                 \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13,         \
-    k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13,         \
-    k04_00, k04_01, k04_02, k04_06, k04_10, k04_11, k04_12, k04_13                                                          \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,           \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D,      \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D,      \
+    k40, k41, k42,                k46,                k4A, k4B, k4C, k4D       \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14 }, \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, KC_NO, KC_NO },   \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, KC_NO }, \
-    { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, KC_NO },  \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, k04_10, k04_11, k04_12, k04_13, KC_NO }         \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, ___ }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4A, k4B, k4C, k4D, ___ }  \
 }
 
 #define LAYOUT_60_iso_tsangan( \
-    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_14, \
-    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12,         \
-    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, \
-    k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12,         \
-    k04_00, k04_01, k04_02, k04_06, k04_11, k04_12, k04_13                                                          \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C,      \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C,      \
+    k40, k41, k42,                k46,                     k4B, k4C, k4D  \
 ) \
 { \
-    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, KC_NO, k00_14 },  \
-    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, KC_NO, KC_NO },   \
-    { k02_00,  k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, KC_NO }, \
-    { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, KC_NO, KC_NO },   \
-    { k04_00, k04_01, k04_02, KC_NO, KC_NO, KC_NO, k04_06, KC_NO, KC_NO, KC_NO, KC_NO, k04_11, k04_12, k04_13, KC_NO }          \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, ___, k0E }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, ___, ___ }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, ___ }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, ___, ___ }, \
+    { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, ___, k4B, k4C, k4D, ___ }  \
 }

+ 620 - 190
keyboards/cutie_club/keebcats/denis/info.json

@@ -5,204 +5,634 @@
     "layouts": {
         "LAYOUT_all": {
             "layout": [
-                { "x": 0, "y": 0 },
-                { "x": 1, "y": 0 },
-                { "x": 2, "y": 0 },
-                { "x": 3, "y": 0 },
-                { "x": 4, "y": 0 },
-                { "x": 5, "y": 0 },
-                { "x": 6, "y": 0 },
-                { "x": 7, "y": 0 },
-                { "x": 8, "y": 0 },
-                { "x": 9, "y": 0 },
-                { "x": 10, "y": 0 },
-                { "x": 11, "y": 0 },
-                { "x": 12, "y": 0 },
-                { "x": 13, "y": 0 },
-                { "x": 14, "y": 0 },
-                { "x": 0, "y": 1, "w": 1.5 },
-                { "x": 1.5, "y": 1 },
-                { "x": 2.5, "y": 1 },
-                { "x": 3.5, "y": 1 },
-                { "x": 4.5, "y": 1 },
-                { "x": 5.5, "y": 1 },
-                { "x": 6.5, "y": 1 },
-                { "x": 7.5, "y": 1 },
-                { "x": 8.5, "y": 1 },
-                { "x": 9.5, "y": 1 },
-                { "x": 10.5, "y": 1 },
-                { "x": 11.5, "y": 1 },
-                { "x": 12.5, "y": 1 },
-                { "x": 13.5, "y": 1, "w": 1.5 },
-                { "x": 0, "y": 2, "w": 1.75 },
-                { "x": 1.75, "y": 2 },
-                { "x": 2.75, "y": 2 },
-                { "x": 3.75, "y": 2 },
-                { "x": 4.75, "y": 2 },
-                { "x": 5.75, "y": 2 },
-                { "x": 6.75, "y": 2 },
-                { "x": 7.75, "y": 2 },
-                { "x": 8.75, "y": 2 },
-                { "x": 9.75, "y": 2 },
-                { "x": 10.75, "y": 2 },
-                { "x": 11.75, "y": 2 },
-                { "x": 12.75, "y": 2 },
-                { "x": 14, "y": 2 },
-                { "x": 0, "y": 3, "w": 1.25 },
-                { "x": 1.25, "y": 3 },
-                { "x": 2.25, "y": 3 },
-                { "x": 3.25, "y": 3 },
-                { "x": 4.25, "y": 3 },
-                { "x": 5.25, "y": 3 },
-                { "x": 6.25, "y": 3 },
-                { "x": 7.25, "y": 3 },
-                { "x": 8.25, "y": 3 },
-                { "x": 9.25, "y": 3 },
-                { "x": 10.25, "y": 3 },
-                { "x": 11.25, "y": 3 },
-                { "x": 12.25, "y": 3, "w": 1.75 },
-                { "x": 14, "y": 3 },
-                { "x": 0, "y": 4, "w": 1.25 },
-                { "x": 1.25, "y": 4, "w": 1.25 },
-                { "x": 2.5, "y": 4, "w": 1.25 },
-                { "x": 3.75, "y": 4, "w": 2.25 },
-                { "x": 6, "y": 4, "w": 1.25 },
-                { "x": 7.25, "y": 4, "w": 2.75 },
-                { "x": 10, "y": 4, "w": 1.25 },
-                { "x": 11.25, "y": 4, "w": 1.25 },
-                { "x": 12.5, "y": 4, "w": 1.25 },
-                { "x": 13.75, "y": 4, "w": 1.25 }
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"`~", "x":13, "y":0},
+                {"label":"Backspace", "x":14, "y":0},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"#~", "x":12.75, "y":2},
+                {"label":"Enter", "x":13.75, "y":2, "w":1.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":3},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
+                {"label":"Fn", "x":14, "y":3},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+                {"label":"Space", "x":3.75, "y":4, "w":2.25},
+                {"label":"Space", "x":6, "y":4, "w":1.25},
+                {"label":"Space", "x":7.25, "y":4, "w":2.75},
+                {"label":"Alt", "x":10, "y":4, "w":1.25},
+                {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+                {"label":"App", "x":12.5, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
             ]
         },
         "LAYOUT_60_iso": {
             "layout": [
-                { "x": 0, "y": 0 },
-                { "x": 1, "y": 0 },
-                { "x": 2, "y": 0 },
-                { "x": 3, "y": 0 },
-                { "x": 4, "y": 0 },
-                { "x": 5, "y": 0 },
-                { "x": 6, "y": 0 },
-                { "x": 7, "y": 0 },
-                { "x": 8, "y": 0 },
-                { "x": 9, "y": 0 },
-                { "x": 10, "y": 0 },
-                { "x": 11, "y": 0 },
-                { "x": 12, "y": 0 },
-                { "x": 13, "y": 0, "w": 2 },
-                { "x": 0, "y": 1, "w": 1.5 },
-                { "x": 1.5, "y": 1 },
-                { "x": 2.5, "y": 1 },
-                { "x": 3.5, "y": 1 },
-                { "x": 4.5, "y": 1 },
-                { "x": 5.5, "y": 1 },
-                { "x": 6.5, "y": 1 },
-                { "x": 7.5, "y": 1 },
-                { "x": 8.5, "y": 1 },
-                { "x": 9.5, "y": 1 },
-                { "x": 10.5, "y": 1 },
-                { "x": 11.5, "y": 1 },
-                { "x": 12.5, "y": 1 },
-                { "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
-                { "x": 0, "y": 2, "w": 1.75 },
-                { "x": 1.75, "y": 2 },
-                { "x": 2.75, "y": 2 },
-                { "x": 3.75, "y": 2 },
-                { "x": 4.75, "y": 2 },
-                { "x": 5.75, "y": 2 },
-                { "x": 6.75, "y": 2 },
-                { "x": 7.75, "y": 2 },
-                { "x": 8.75, "y": 2 },
-                { "x": 9.75, "y": 2 },
-                { "x": 10.75, "y": 2 },
-                { "x": 11.75, "y": 2 },
-                { "x": 12.75, "y": 2 },
-                { "x": 0, "y": 3, "w": 1.25 },
-                { "x": 1.25, "y": 3 },
-                { "x": 2.25, "y": 3 },
-                { "x": 3.25, "y": 3 },
-                { "x": 4.25, "y": 3 },
-                { "x": 5.25, "y": 3 },
-                { "x": 6.25, "y": 3 },
-                { "x": 7.25, "y": 3 },
-                { "x": 8.25, "y": 3 },
-                { "x": 9.25, "y": 3 },
-                { "x": 10.25, "y": 3 },
-                { "x": 11.25, "y": 3 },
-                { "x": 12.25, "y": 3, "w": 2.75 },
-                { "x": 0, "y": 4, "w": 1.25 },
-                { "x": 1.25, "y": 4, "w": 1.25 },
-                { "x": 2.5, "y": 4, "w": 1.25 },
-                { "x": 3.75, "y": 4, "w": 6.25 },
-                { "x": 10, "y": 4, "w": 1.25 },
-                { "x": 11.25, "y": 4, "w": 1.25 },
-                { "x": 12.5, "y": 4, "w": 1.25 },
-                { "x": 13.75, "y": 4, "w": 1.25 }
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2\"", "x":2, "y":0},
+                {"label":"3\u00a3", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"Backspace", "x":13, "y":0, "w":2},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'@", "x":11.75, "y":2},
+                {"label":"#~", "x":12.75, "y":2},
+                {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+                {"label":"Shift", "x":0, "y":3, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":3},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+                {"label":"Space", "x":3.75, "y":4, "w":6.25},
+                {"label":"Alt", "x":10, "y":4, "w":1.25},
+                {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+                {"label":"App", "x":12.5, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+            ]
+        },
+        "LAYOUT_60_iso_split_bs_rshift": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2\"", "x":2, "y":0},
+                {"label":"3\u00a3", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"`~", "x":13, "y":0},
+                {"label":"Backspace", "x":14, "y":0},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'@", "x":11.75, "y":2},
+                {"label":"#~", "x":12.75, "y":2},
+                {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+                {"label":"Shift", "x":0, "y":3, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":3},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
+                {"label":"Fn", "x":14, "y":3},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+                {"label":"Space", "x":3.75, "y":4, "w":6.25},
+                {"label":"Alt", "x":10, "y":4, "w":1.25},
+                {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+                {"label":"App", "x":12.5, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+            ]
+        },
+        "LAYOUT_60_iso_tsangan": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2\"", "x":2, "y":0},
+                {"label":"3\u00a3", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"Backspace", "x":13, "y":0, "w":2},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'@", "x":11.75, "y":2},
+                {"label":"#~", "x":12.75, "y":2},
+                {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+
+                {"label":"Shift", "x":0, "y":3, "w":1.25},
+                {"label":"\\|", "x":1.25, "y":3},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+                {"label":"GUI", "x":1.5, "y":4},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+                {"label":"Space", "x":4, "y":4, "w":7},
+                {"label":"Alt", "x":11, "y":4, "w":1.5},
+                {"label":"GUI", "x":12.5, "y":4},
+                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
             ]
         },
         "LAYOUT_60_ansi": {
             "layout": [
-                { "x": 0, "y": 0 },
-                { "x": 1, "y": 0 },
-                { "x": 2, "y": 0 },
-                { "x": 3, "y": 0 },
-                { "x": 4, "y": 0 },
-                { "x": 5, "y": 0 },
-                { "x": 6, "y": 0 },
-                { "x": 7, "y": 0 },
-                { "x": 8, "y": 0 },
-                { "x": 9, "y": 0 },
-                { "x": 10, "y": 0 },
-                { "x": 11, "y": 0 },
-                { "x": 12, "y": 0 },
-                { "x": 13, "y": 0, "w": 2 },
-                { "x": 0, "y": 1, "w": 1.5 },
-                { "x": 1.5, "y": 1 },
-                { "x": 2.5, "y": 1 },
-                { "x": 3.5, "y": 1 },
-                { "x": 4.5, "y": 1 },
-                { "x": 5.5, "y": 1 },
-                { "x": 6.5, "y": 1 },
-                { "x": 7.5, "y": 1 },
-                { "x": 8.5, "y": 1 },
-                { "x": 9.5, "y": 1 },
-                { "x": 10.5, "y": 1 },
-                { "x": 11.5, "y": 1 },
-                { "x": 12.5, "y": 1 },
-                { "x": 13.75, "y": 1, "w": 1.25 },
-                { "x": 0, "y": 2, "w": 1.75 },
-                { "x": 1.75, "y": 2 },
-                { "x": 2.75, "y": 2 },
-                { "x": 3.75, "y": 2 },
-                { "x": 4.75, "y": 2 },
-                { "x": 5.75, "y": 2 },
-                { "x": 6.75, "y": 2 },
-                { "x": 7.75, "y": 2 },
-                { "x": 8.75, "y": 2 },
-                { "x": 9.75, "y": 2 },
-                { "x": 10.75, "y": 2 },
-                { "x": 11.75, "y": 2 },
-                { "x": 12.75, "y": 2, "w": 2.25 },
-                { "x": 0, "y": 3, "w": 2.25 },
-                { "x": 2.25, "y": 3 },
-                { "x": 3.25, "y": 3 },
-                { "x": 4.25, "y": 3 },
-                { "x": 5.25, "y": 3 },
-                { "x": 6.25, "y": 3 },
-                { "x": 7.25, "y": 3 },
-                { "x": 8.25, "y": 3 },
-                { "x": 9.25, "y": 3 },
-                { "x": 10.25, "y": 3 },
-                { "x": 11.25, "y": 3 },
-                { "x": 12.25, "y": 3, "w": 2.75 },
-                { "x": 0, "y": 4, "w": 1.25 },
-                { "x": 1.25, "y": 4, "w": 1.25 },
-                { "x": 2.5, "y": 4, "w": 1.25 },
-                { "x": 3.75, "y": 4, "w": 6.25 },
-                { "x": 10, "y": 4, "w": 1.25 },
-                { "x": 11.25, "y": 4, "w": 1.25 },
-                { "x": 12.5, "y": 4, "w": 1.25 },
-                { "x": 13.75, "y": 4, "w": 1.25 }
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"Backspace", "x":13, "y":0, "w":2},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":2.25},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+                {"label":"Space", "x":3.75, "y":4, "w":6.25},
+                {"label":"Alt", "x":10, "y":4, "w":1.25},
+                {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+                {"label":"App", "x":12.5, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+            ]
+        },
+        "LAYOUT_60_ansi_split_bs_rshift": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"`~", "x":13, "y":0},
+                {"label":"Backspace", "x":14, "y":0},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":2.25},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
+                {"label":"Fn", "x":14, "y":3},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+                {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+                {"label":"Space", "x":3.75, "y":4, "w":6.25},
+                {"label":"Alt", "x":10, "y":4, "w":1.25},
+                {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+                {"label":"App", "x":12.5, "y":4, "w":1.25},
+                {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+            ]
+        },
+        "LAYOUT_60_ansi_tsangan": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"Backspace", "x":13, "y":0, "w":2},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":2.25},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+                {"label":"GUI", "x":1.5, "y":4},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+                {"label":"Space", "x":4, "y":4, "w":7},
+                {"label":"Alt", "x":11, "y":4, "w":1.5},
+                {"label":"GUI", "x":12.5, "y":4},
+                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
+            ]
+        },
+        "LAYOUT_60_hhkb": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"`~", "x":13, "y":0},
+                {"label":"Backspace", "x":14, "y":0},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":2.25},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
+                {"label":"Fn", "x":14, "y":3},
+
+                {"label":"GUI", "x":1.5, "y":4},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+                {"label":"Space", "x":4, "y":4, "w":7},
+                {"label":"Alt", "x":11, "y":4, "w":1.5},
+                {"label":"GUI", "x":12.5, "y":4}
+            ]
+        },
+        "LAYOUT_60_tsangan_hhkb": {
+            "layout": [
+                {"label":"Esc", "x":0, "y":0},
+                {"label":"1!", "x":1, "y":0},
+                {"label":"2@", "x":2, "y":0},
+                {"label":"3#", "x":3, "y":0},
+                {"label":"4$", "x":4, "y":0},
+                {"label":"5%", "x":5, "y":0},
+                {"label":"6^", "x":6, "y":0},
+                {"label":"7&", "x":7, "y":0},
+                {"label":"8*", "x":8, "y":0},
+                {"label":"9(", "x":9, "y":0},
+                {"label":"0)", "x":10, "y":0},
+                {"label":"-_", "x":11, "y":0},
+                {"label":"=+", "x":12, "y":0},
+                {"label":"`~", "x":13, "y":0},
+                {"label":"Backspace", "x":14, "y":0},
+
+                {"label":"Tab", "x":0, "y":1, "w":1.5},
+                {"label":"Q", "x":1.5, "y":1},
+                {"label":"W", "x":2.5, "y":1},
+                {"label":"E", "x":3.5, "y":1},
+                {"label":"R", "x":4.5, "y":1},
+                {"label":"T", "x":5.5, "y":1},
+                {"label":"Y", "x":6.5, "y":1},
+                {"label":"U", "x":7.5, "y":1},
+                {"label":"I", "x":8.5, "y":1},
+                {"label":"O", "x":9.5, "y":1},
+                {"label":"P", "x":10.5, "y":1},
+                {"label":"[{", "x":11.5, "y":1},
+                {"label":"]}", "x":12.5, "y":1},
+                {"label":"\\|", "x":13.5, "y":1, "w":1.5},
+
+                {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+                {"label":"A", "x":1.75, "y":2},
+                {"label":"S", "x":2.75, "y":2},
+                {"label":"D", "x":3.75, "y":2},
+                {"label":"F", "x":4.75, "y":2},
+                {"label":"G", "x":5.75, "y":2},
+                {"label":"H", "x":6.75, "y":2},
+                {"label":"J", "x":7.75, "y":2},
+                {"label":"K", "x":8.75, "y":2},
+                {"label":"L", "x":9.75, "y":2},
+                {"label":";:", "x":10.75, "y":2},
+                {"label":"'\"", "x":11.75, "y":2},
+                {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+                {"label":"Shift", "x":0, "y":3, "w":2.25},
+                {"label":"Z", "x":2.25, "y":3},
+                {"label":"X", "x":3.25, "y":3},
+                {"label":"C", "x":4.25, "y":3},
+                {"label":"V", "x":5.25, "y":3},
+                {"label":"B", "x":6.25, "y":3},
+                {"label":"N", "x":7.25, "y":3},
+                {"label":"M", "x":8.25, "y":3},
+                {"label":",<", "x":9.25, "y":3},
+                {"label":".>", "x":10.25, "y":3},
+                {"label":"/?", "x":11.25, "y":3},
+                {"label":"Shift", "x":12.25, "y":3, "w":1.75},
+                {"label":"Fn", "x":14, "y":3},
+
+                {"label":"Ctrl", "x":0, "y":4, "w":1.5},
+                {"label":"GUI", "x":1.5, "y":4},
+                {"label":"Alt", "x":2.5, "y":4, "w":1.5},
+                {"label":"Space", "x":4, "y":4, "w":7},
+                {"label":"Alt", "x":11, "y":4, "w":1.5},
+                {"label":"GUI", "x":12.5, "y":4},
+                {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
             ]
         }
     }