Bläddra i källkod

Studio Kestra Galatea: add (#16218)

James Young 3 år sedan
förälder
incheckning
904d5f14f5

+ 196 - 1
keyboards/studiokestra/galatea/rev1/info.json

@@ -1,7 +1,7 @@
 {
     "keyboard_name": "Galatea",
     "url": "https://studiokestra.ca/galatea",
-    "maintainer": "Studio Kestra",
+    "maintainer": "studiokestra",
     "layouts": {
         "LAYOUT_all": {
             "layout": [
@@ -108,6 +108,201 @@
                 {"x": 16.25, "y": 5.25},
                 {"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 Screen", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "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":"Page Up", "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":"Page Down", "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":"GUI", "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":"GUI", "x":11.25, "y":5.25, "w":1.25},
+                {"label":"Menu", "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": {
+            "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 Screen", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "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\u00a3", "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":"Page Up", "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":"Page Down", "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},
+                {"label":"Enter", "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.25},
+                {"label":"GUI", "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":"GUI", "x":11.25, "y":5.25, "w":1.25},
+                {"label":"Menu", "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}
+            ]
         }
     }
 }

+ 92 - 25
keyboards/studiokestra/galatea/rev1/rev1.h

@@ -18,32 +18,99 @@
 
 #include "quantum.h"
 
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
+#define ___ KC_NO
+
+/*
+ *              ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ *              │00 │   │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
+ *              └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ *              ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ *              │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
+ *              └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐      ┌───────┐
+ *              │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │      │36     │ 2u Backspace
+ *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤      └─┬─────┤
+ *              │40   │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47   │ │57 │48 │58 │        │     │
+ *  2.25u       ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘     ┌──┴┐47  │ ISO Enter
+ *  LShift      │60    │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66      │                   │66 │    │
+ * ┌────────┐   ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤     ┌───┐       ┌─┴───┴────┤
+ * │80      │   │80  │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86    │87 │     │88 │       │86        │ 2.75u RShift
+ * └────────┘   ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐   └──────────┘
+ *              │A0  │B0  │A1  │A3                      │A5  │B5  │A6  │A7  │ │B7 │A8 │B8 │
+ *              └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ *              ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+ *              │A0   │B0 │A1   │A3                         │B5   │A6 │A7   │ Tsangan/WKL
+ *              └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ *              ┌────┬────┬───────────────────────────────────────┬────┬────┐
+ *              │A0  │B0  │A3                                     │A6  │A7  │ WK 10u Space
+ *              └────┴────┴───────────────────────────────────────┴────┴────┘
+ *              ┌─────┐   ┌───────────────────────────────────────┐   ┌─────┐
+ *              │A0   │   │A3                                     │   │A7   │ WKL 10u Space
+ *              └─────┘   └───────────────────────────────────────┘   └─────┘
  */
+
 #define LAYOUT_all(\
-    k0000, k0100,        k0001, k0002, k0102, k0003, k0103, k0004, k0104, k0005, k0105, k0006, k0106, k0007,    k0107, k0008, k0108, \
-    k0200, k0300, k0201, k0301, k0202, k0302, k0203, k0303, k0204, k0304, k0205, k0305, k0206, k0306, k0207,    k0307, k0208, k0308, \
-    k0400, k0500, k0401, k0501, k0402, k0502, k0403, k0503, k0404, k0504, k0405, k0505, k0406,        k0407,    k0507, k0408, k0508, \
-    k0600, k0700, k0601, k0701, k0602, k0702, k0603, k0703, k0604, k0704, k0605, k0705, k0606,                                       \
-    k0800, k0900, k0801, k0901, k0802, k0902, k0803, k0903, k0804, k0904, k0805, k0905, k0806,        k0807,           k0808,        \
-    k1000, k1100, k1001,                      k1003,                      k1005, k1105, k1006,        k1007,    k1107, k1008, k1108  \
+    k00, k10,      k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46,      k47,   k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66,                            \
+    k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86,      k87,        k88,      \
+    kA0, kB0, kA1,                kA3,                     kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
+    { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
+}
+
+#define LAYOUT_tkl_f13_ansi(\
+    k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47,   k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75,      k66,                  \
+    k80,      k81, k91, k82, k92, k83, k93, k84, k94, k85, k95,      k86,        k88,      \
+    kA0, kB0, kA1,                kA3,                kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
+    { ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
+}
+
+#define LAYOUT_tkl_f13_iso(\
+    k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46,        k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k47, k66,                  \
+    k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95,      k86,        k88,      \
+    kA0, kB0, kA1,                kA3,                kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
 ) { \
-    { k0000,  k0001,  k0002,  k0003,  k0004,  k0005,  k0006,  k0007,  k0008 }, \
-    { k0100,  KC_NO,  k0102,  k0103,  k0104,  k0105,  k0106,  k0107,  k0108 }, \
-    { k0200,  k0201,  k0202,  k0203,  k0204,  k0205,  k0206,  k0207,  k0208 }, \
-    { k0300,  k0301,  k0302,  k0303,  k0304,  k0305,  k0306,  k0307,  k0308 }, \
-    { k0400,  k0401,  k0402,  k0403,  k0404,  k0405,  k0406,  k0407,  k0408 }, \
-    { k0500,  k0501,  k0502,  k0503,  k0504,  k0505,  KC_NO,  k0507,  k0508 }, \
-    { k0600,  k0601,  k0602,  k0603,  k0604,  k0605,  k0606,  KC_NO,  KC_NO }, \
-    { k0700,  k0701,  k0702,  k0703,  k0704,  k0705,  KC_NO,  KC_NO,  KC_NO }, \
-    { k0800,  k0801,  k0802,  k0803,  k0804,  k0805,  k0806,  k0807,  k0808 }, \
-    { k0900,  k0901,  k0902,  k0903,  k0904,  k0905,  KC_NO,  KC_NO,  KC_NO }, \
-    { k1000,  k1001,  KC_NO,  k1003,  KC_NO,  k1005,  k1006,  k1007,  k1008 }, \
-    { k1100,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  k1105,  KC_NO,  k1107,  k1108 } \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
+    { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
 }

+ 196 - 1
keyboards/studiokestra/galatea/rev2/info.json

@@ -1,7 +1,7 @@
 {
     "keyboard_name": "Galatea",
     "url": "https://studiokestra.ca/galatea",
-    "maintainer": "Studio Kestra",
+    "maintainer": "studiokestra",
     "layouts": {
         "LAYOUT_all": {
             "layout": [
@@ -108,6 +108,201 @@
                 {"x": 16.25, "y": 5.25},
                 {"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 Screen", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "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":"Page Up", "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":"Page Down", "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":"GUI", "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":"GUI", "x":11.25, "y":5.25, "w":1.25},
+                {"label":"Menu", "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": {
+            "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 Screen", "x":15.25, "y":0},
+                {"label":"Scroll Lock", "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\u00a3", "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":"Page Up", "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":"Page Down", "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},
+                {"label":"Enter", "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.25},
+                {"label":"GUI", "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":"GUI", "x":11.25, "y":5.25, "w":1.25},
+                {"label":"Menu", "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}
+            ]
         }
     }
 }

+ 92 - 25
keyboards/studiokestra/galatea/rev2/rev2.h

@@ -18,32 +18,99 @@
 
 #include "quantum.h"
 
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
+#define ___ KC_NO
+
+/*
+ *              ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ *              │00 │   │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
+ *              └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ *              ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
+ *              │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
+ *              └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
+ *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐      ┌───────┐
+ *              │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │      │36     │ 2u Backspace
+ *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤      └─┬─────┤
+ *              │40   │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47   │ │57 │48 │58 │        │     │
+ *  2.25u       ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘     ┌──┴┐47  │ ISO Enter
+ *  LShift      │60    │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66      │                   │66 │    │
+ * ┌────────┐   ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤     ┌───┐       ┌─┴───┴────┤
+ * │80      │   │80  │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86    │87 │     │88 │       │86        │ 2.75u RShift
+ * └────────┘   ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐   └──────────┘
+ *              │A0  │B0  │A1  │A3                      │A5  │B5  │A6  │A7  │ │B7 │A8 │B8 │
+ *              └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+ *              ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+ *              │A0   │B0 │A1   │A3                         │B5   │A6 │A7   │ Tsangan/WKL
+ *              └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+ *              ┌────┬────┬───────────────────────────────────────┬────┬────┐
+ *              │A0  │B0  │A3                                     │A6  │A7  │ WK 10u Space
+ *              └────┴────┴───────────────────────────────────────┴────┴────┘
+ *              ┌─────┐   ┌───────────────────────────────────────┐   ┌─────┐
+ *              │A0   │   │A3                                     │   │A7   │ WKL 10u Space
+ *              └─────┘   └───────────────────────────────────────┘   └─────┘
  */
+
 #define LAYOUT_all(\
-    k0000, k0100,        k0001, k0002, k0102, k0003, k0103, k0004, k0104, k0005, k0105, k0006, k0106, k0007,    k0107, k0008, k0108, \
-    k0200, k0300, k0201, k0301, k0202, k0302, k0203, k0303, k0204, k0304, k0205, k0305, k0206, k0306, k0207,    k0307, k0208, k0308, \
-    k0400, k0500, k0401, k0501, k0402, k0502, k0403, k0503, k0404, k0504, k0405, k0505, k0406,        k0407,    k0507, k0408, k0508, \
-    k0600, k0700, k0601, k0701, k0602, k0702, k0603, k0703, k0604, k0704, k0605, k0705, k0606,                                       \
-    k0800, k0900, k0801, k0901, k0802, k0902, k0803, k0903, k0804, k0904, k0805, k0905, k0806,        k0807,           k0808,        \
-    k1000, k1100, k1001,                      k1003,                      k1005, k1105, k1006,        k1007,    k1107, k1008, k1108  \
+    k00, k10,      k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46,      k47,   k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66,                            \
+    k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86,      k87,        k88,      \
+    kA0, kB0, kA1,                kA3,                     kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
+    { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
+}
+
+#define LAYOUT_tkl_f13_ansi(\
+    k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47,   k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75,      k66,                  \
+    k80,      k81, k91, k82, k92, k83, k93, k84, k94, k85, k95,      k86,        k88,      \
+    kA0, kB0, kA1,                kA3,                kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
+    { ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
+}
+
+#define LAYOUT_tkl_f13_iso(\
+    k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07,   k17, k08, k18, \
+    k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36,   k37, k28, k38, \
+    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46,        k57, k48, k58, \
+    k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k47, k66,                  \
+    k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95,      k86,        k88,      \
+    kA0, kB0, kA1,                kA3,                kA5, kB5, kA6, kA7,   kB7, kA8, kB8  \
 ) { \
-    { k0000,  k0001,  k0002,  k0003,  k0004,  k0005,  k0006,  k0007,  k0008 }, \
-    { k0100,  KC_NO,  k0102,  k0103,  k0104,  k0105,  k0106,  k0107,  k0108 }, \
-    { k0200,  k0201,  k0202,  k0203,  k0204,  k0205,  k0206,  k0207,  k0208 }, \
-    { k0300,  k0301,  k0302,  k0303,  k0304,  k0305,  k0306,  k0307,  k0308 }, \
-    { k0400,  k0401,  k0402,  k0403,  k0404,  k0405,  k0406,  k0407,  k0408 }, \
-    { k0500,  k0501,  k0502,  k0503,  k0504,  k0505,  KC_NO,  k0507,  k0508 }, \
-    { k0600,  k0601,  k0602,  k0603,  k0604,  k0605,  k0606,  KC_NO,  KC_NO }, \
-    { k0700,  k0701,  k0702,  k0703,  k0704,  k0705,  KC_NO,  KC_NO,  KC_NO }, \
-    { k0800,  k0801,  k0802,  k0803,  k0804,  k0805,  k0806,  k0807,  k0808 }, \
-    { k0900,  k0901,  k0902,  k0903,  k0904,  k0905,  KC_NO,  KC_NO,  KC_NO }, \
-    { k1000,  k1001,  KC_NO,  k1003,  KC_NO,  k1005,  k1006,  k1007,  k1008 }, \
-    { k1100,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  k1105,  KC_NO,  k1107,  k1108 } \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
+    { k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
+    { k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
+    { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
+    { k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
+    { k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
+    { k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
+    { k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
+    { k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
+    { kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
+    { kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 }  \
 }