Переглянути джерело

Merge remote-tracking branch 'origin/master' into develop

QMK Bot 3 роки тому
батько
коміт
af3673a5b6

+ 448 - 356
keyboards/linworks/whale75/info.json

@@ -1,364 +1,456 @@
 {
-  "keyboard_name": "Lx3 Whale 75",
-  "maintainer": "ebastler",
-  "width": 16.25,
-  "height": 6.5,
-  "layouts": {
-    "LAYOUT_ansi": {
-      "layout": [
-        { "x": 0, "y": 0 },
-        { "x": 2, "y": 0 },
-        { "x": 3, "y": 0 },
-        { "x": 4, "y": 0 },
-        { "x": 5, "y": 0 },
-        { "x": 6.5, "y": 0 },
-        { "x": 7.5, "y": 0 },
-        { "x": 8.5, "y": 0 },
-        { "x": 9.5, "y": 0 },
-        { "x": 11, "y": 0 },
-        { "x": 12, "y": 0 },
-        { "x": 13, "y": 0 },
-        { "x": 14, "y": 0 },
-        { "x": 15.25, "y": 0 },
+    "keyboard_name": "Lx3 Whale 75",
+    "maintainer": "ebastler",
+    "width": 16.25,
+    "height": 6.5,
+    "layouts": {
+        "LAYOUT_all": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6.5, "y":0},
+                {"x":7.5, "y":0},
+                {"x":8.5, "y":0},
+                {"x":9.5, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0},
+                {"x":14, "y":0},
+                {"x":15.25, "y":0},
 
-        { "x": 0, "y": 1.25 },
-        { "x": 1, "y": 1.25 },
-        { "x": 2, "y": 1.25 },
-        { "x": 3, "y": 1.25 },
-        { "x": 4, "y": 1.25 },
-        { "x": 5, "y": 1.25 },
-        { "x": 6, "y": 1.25 },
-        { "x": 7, "y": 1.25 },
-        { "x": 8, "y": 1.25 },
-        { "x": 9, "y": 1.25 },
-        { "x": 10, "y": 1.25 },
-        { "x": 11, "y": 1.25 },
-        { "x": 12, "y": 1.25 },
-        { "x": 13, "y": 1.25, "w":2},
-        { "x": 15.25, "y": 1.25 },
+                {"x":0, "y":1.25},
+                {"x":1, "y":1.25},
+                {"x":2, "y":1.25},
+                {"x":3, "y":1.25},
+                {"x":4, "y":1.25},
+                {"x":5, "y":1.25},
+                {"x":6, "y":1.25},
+                {"x":7, "y":1.25},
+                {"x":8, "y":1.25},
+                {"x":9, "y":1.25},
+                {"x":10, "y":1.25},
+                {"x":11, "y":1.25},
+                {"x":12, "y":1.25},
+                {"x":13, "y":1.25},
+                {"x":14, "y":1.25},
+                {"x":15.25, "y":1.25},
 
-        { "x": 0, "y": 2.25, "w": 1.5 },
-        { "x": 1.5, "y": 2.25 },
-        { "x": 2.5, "y": 2.25 },
-        { "x": 3.5, "y": 2.25 },
-        { "x": 4.5, "y": 2.25 },
-        { "x": 5.5, "y": 2.25 },
-        { "x": 6.5, "y": 2.25 },
-        { "x": 7.5, "y": 2.25 },
-        { "x": 8.5, "y": 2.25 },
-        { "x": 9.5, "y": 2.25 },
-        { "x": 10.5, "y": 2.25 },
-        { "x": 11.5, "y": 2.25 },
-        { "x": 12.5, "y": 2.25 },
-        { "x": 13.5, "y": 2.25, "w":1.5 },
-        { "x": 15.25, "y": 2.25 },
+                {"x":0, "y":2.25, "w":1.5},
+                {"x":1.5, "y":2.25},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2.25},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.25},
+                {"x":6.5, "y":2.25},
+                {"x":7.5, "y":2.25},
+                {"x":8.5, "y":2.25},
+                {"x":9.5, "y":2.25},
+                {"x":10.5, "y":2.25},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2.25},
+                {"x":13.5, "y":2.25, "w":1.5},
+                {"x":15.25, "y":2.25},
 
-        { "x": 0, "y": 3.25, "w": 1.75 },
-        { "x": 1.75, "y": 3.25 },
-        { "x": 2.75, "y": 3.25 },
-        { "x": 3.75, "y": 3.25 },
-        { "x": 4.75, "y": 3.25 },
-        { "x": 5.75, "y": 3.25 },
-        { "x": 6.75, "y": 3.25 },
-        { "x": 7.75, "y": 3.25 },
-        { "x": 8.75, "y": 3.25 },
-        { "x": 9.75, "y": 3.25 },
-        { "x": 10.75, "y": 3.25 },
-        { "x": 11.75, "y": 3.25 },
-        { "x": 12.75, "y": 3.25, "w":2.25 },
-        { "x": 15.25, "y": 3.25 },
+                {"x":0, "y":3.25, "w":1.75},
+                {"x":1.75, "y":3.25},
+                {"x":2.75, "y":3.25},
+                {"x":3.75, "y":3.25},
+                {"x":4.75, "y":3.25},
+                {"x":5.75, "y":3.25},
+                {"x":6.75, "y":3.25},
+                {"x":7.75, "y":3.25},
+                {"x":8.75, "y":3.25},
+                {"x":9.75, "y":3.25},
+                {"x":10.75, "y":3.25},
+                {"x":11.75, "y":3.25},
+                {"x":12.75, "y":3.25},
+                {"x":13.75, "y":3.25, "w":1.25},
+                {"x":15.25, "y":3.25},
 
-        { "x": 0, "y": 4.25, "w": 2.25 },
-        { "x": 2.25, "y": 4.25 },
-        { "x": 3.25, "y": 4.25 },
-        { "x": 4.25, "y": 4.25 },
-        { "x": 5.25, "y": 4.25 },
-        { "x": 6.25, "y": 4.25 },
-        { "x": 7.25, "y": 4.25 },
-        { "x": 8.25, "y": 4.25 },
-        { "x": 9.25, "y": 4.25 },
-        { "x": 10.25, "y": 4.25 },
-        { "x": 11.25, "y": 4.25 },
-        { "x": 12.25, "y": 4.25, "w":1.75 },
-        { "x": 14.25, "y": 4.5 },
+                {"x":0, "y":4.25, "w":1.25},
+                {"x":1.25, "y":4.25},
+                {"x":2.25, "y":4.25},
+                {"x":3.25, "y":4.25},
+                {"x":4.25, "y":4.25},
+                {"x":5.25, "y":4.25},
+                {"x":6.25, "y":4.25},
+                {"x":7.25, "y":4.25},
+                {"x":8.25, "y":4.25},
+                {"x":9.25, "y":4.25},
+                {"x":10.25, "y":4.25},
+                {"x":11.25, "y":4.25},
+                {"x":12.25, "y":4.25, "w":1.75},
+                {"x":14.25, "y":4.5},
 
-        { "x": 0, "y": 5.25, "w": 1.25},
-        { "x": 1.25, "y": 5.25, "w": 1.25},
-        { "x": 2.5, "y": 5.25, "w": 1.25},
-        { "x": 3.75, "y": 5.25, "w": 6.25},
-        { "x": 10, "y": 5.25, "w": 1.5},
-        { "x": 11.5, "y": 5.25, "w": 1.5},
-        { "x": 13.25, "y": 5.25, "w": 1},
-        { "x": 14.25, "y": 5.25, "w": 1},
-        { "x": 15.25, "y": 5.25, "w": 1}
-      ]
-    },
-    "LAYOUT_ansi_wkl": {
-        "layout": [
-          { "x": 0, "y": 0 },
-          { "x": 2, "y": 0 },
-          { "x": 3, "y": 0 },
-          { "x": 4, "y": 0 },
-          { "x": 5, "y": 0 },
-          { "x": 6.5, "y": 0 },
-          { "x": 7.5, "y": 0 },
-          { "x": 8.5, "y": 0 },
-          { "x": 9.5, "y": 0 },
-          { "x": 11, "y": 0 },
-          { "x": 12, "y": 0 },
-          { "x": 13, "y": 0 },
-          { "x": 14, "y": 0 },
-          { "x": 15.25, "y": 0 },
-  
-          { "x": 0, "y": 1.25 },
-          { "x": 1, "y": 1.25 },
-          { "x": 2, "y": 1.25 },
-          { "x": 3, "y": 1.25 },
-          { "x": 4, "y": 1.25 },
-          { "x": 5, "y": 1.25 },
-          { "x": 6, "y": 1.25 },
-          { "x": 7, "y": 1.25 },
-          { "x": 8, "y": 1.25 },
-          { "x": 9, "y": 1.25 },
-          { "x": 10, "y": 1.25 },
-          { "x": 11, "y": 1.25 },
-          { "x": 12, "y": 1.25 },
-          { "x": 13, "y": 1.25, "w":2},
-          { "x": 15.25, "y": 1.25 },
-  
-          { "x": 0, "y": 2.25, "w": 1.5 },
-          { "x": 1.5, "y": 2.25 },
-          { "x": 2.5, "y": 2.25 },
-          { "x": 3.5, "y": 2.25 },
-          { "x": 4.5, "y": 2.25 },
-          { "x": 5.5, "y": 2.25 },
-          { "x": 6.5, "y": 2.25 },
-          { "x": 7.5, "y": 2.25 },
-          { "x": 8.5, "y": 2.25 },
-          { "x": 9.5, "y": 2.25 },
-          { "x": 10.5, "y": 2.25 },
-          { "x": 11.5, "y": 2.25 },
-          { "x": 12.5, "y": 2.25 },
-          { "x": 13.5, "y": 2.25, "w":1.5 },
-          { "x": 15.25, "y": 2.25 },
-  
-          { "x": 0, "y": 3.25, "w": 1.75 },
-          { "x": 1.75, "y": 3.25 },
-          { "x": 2.75, "y": 3.25 },
-          { "x": 3.75, "y": 3.25 },
-          { "x": 4.75, "y": 3.25 },
-          { "x": 5.75, "y": 3.25 },
-          { "x": 6.75, "y": 3.25 },
-          { "x": 7.75, "y": 3.25 },
-          { "x": 8.75, "y": 3.25 },
-          { "x": 9.75, "y": 3.25 },
-          { "x": 10.75, "y": 3.25 },
-          { "x": 11.75, "y": 3.25 },
-          { "x": 12.75, "y": 3.25, "w":2.25 },
-          { "x": 15.25, "y": 3.25 },
-  
-          { "x": 0, "y": 4.25, "w": 2.25 },
-          { "x": 2.25, "y": 4.25 },
-          { "x": 3.25, "y": 4.25 },
-          { "x": 4.25, "y": 4.25 },
-          { "x": 5.25, "y": 4.25 },
-          { "x": 6.25, "y": 4.25 },
-          { "x": 7.25, "y": 4.25 },
-          { "x": 8.25, "y": 4.25 },
-          { "x": 9.25, "y": 4.25 },
-          { "x": 10.25, "y": 4.25 },
-          { "x": 11.25, "y": 4.25 },
-          { "x": 12.25, "y": 4.25, "w":1.75 },
-          { "x": 14.25, "y": 4.5 },
-  
-          { "x": 0, "y": 5.25, "w": 1.5},
-          { "x": 1.5, "y": 5.25, "w": 1.5},
-          { "x": 3, "y": 5.25, "w": 7},
-          { "x": 10, "y": 5.25, "w": 1.5},
-          { "x": 11.5, "y": 5.25, "w": 1.5},
-          { "x": 13.25, "y": 5.25, "w": 1},
-          { "x": 14.25, "y": 5.25, "w": 1},
-          { "x": 15.25, "y": 5.25, "w": 1}
-        ]
-    },
-    "LAYOUT_iso": {
-        "layout": [
-          { "x": 0, "y": 0 },
-          { "x": 2, "y": 0 },
-          { "x": 3, "y": 0 },
-          { "x": 4, "y": 0 },
-          { "x": 5, "y": 0 },
-          { "x": 6.5, "y": 0 },
-          { "x": 7.5, "y": 0 },
-          { "x": 8.5, "y": 0 },
-          { "x": 9.5, "y": 0 },
-          { "x": 11, "y": 0 },
-          { "x": 12, "y": 0 },
-          { "x": 13, "y": 0 },
-          { "x": 14, "y": 0 },
-          { "x": 15.25, "y": 0 },
-  
-          { "x": 0, "y": 1.25 },
-          { "x": 1, "y": 1.25 },
-          { "x": 2, "y": 1.25 },
-          { "x": 3, "y": 1.25 },
-          { "x": 4, "y": 1.25 },
-          { "x": 5, "y": 1.25 },
-          { "x": 6, "y": 1.25 },
-          { "x": 7, "y": 1.25 },
-          { "x": 8, "y": 1.25 },
-          { "x": 9, "y": 1.25 },
-          { "x": 10, "y": 1.25 },
-          { "x": 11, "y": 1.25 },
-          { "x": 12, "y": 1.25 },
-          { "x": 13, "y": 1.25, "w":2},
-          { "x": 15.25, "y": 1.25 },
-  
-          { "x": 0, "y": 2.25, "w": 1.5 },
-          { "x": 1.5, "y": 2.25 },
-          { "x": 2.5, "y": 2.25 },
-          { "x": 3.5, "y": 2.25 },
-          { "x": 4.5, "y": 2.25 },
-          { "x": 5.5, "y": 2.25 },
-          { "x": 6.5, "y": 2.25 },
-          { "x": 7.5, "y": 2.25 },
-          { "x": 8.5, "y": 2.25 },
-          { "x": 9.5, "y": 2.25 },
-          { "x": 10.5, "y": 2.25 },
-          { "x": 11.5, "y": 2.25 },
-          { "x": 12.5, "y": 2.25 },
-          { "x": 13.75, "y":2.25, "w":1.25, "h":2 },
-          { "x": 15.25, "y": 2.25 },
-  
-          { "x": 0, "y": 3.25, "w": 1.75 },
-          { "x": 1.75, "y": 3.25 },
-          { "x": 2.75, "y": 3.25 },
-          { "x": 3.75, "y": 3.25 },
-          { "x": 4.75, "y": 3.25 },
-          { "x": 5.75, "y": 3.25 },
-          { "x": 6.75, "y": 3.25 },
-          { "x": 7.75, "y": 3.25 },
-          { "x": 8.75, "y": 3.25 },
-          { "x": 9.75, "y": 3.25 },
-          { "x": 10.75, "y": 3.25 },
-          { "x": 11.75, "y": 3.25 },
-          { "x": 12.75, "y": 3.25 },
-          { "x": 15.25, "y": 3.25 },
-  
-          { "x": 0, "y": 4.25, "w": 1.25 },
-          { "x": 1.25, "y": 4.25 },
-          { "x": 2.25, "y": 4.25 },
-          { "x": 3.25, "y": 4.25 },
-          { "x": 4.25, "y": 4.25 },
-          { "x": 5.25, "y": 4.25 },
-          { "x": 6.25, "y": 4.25 },
-          { "x": 7.25, "y": 4.25 },
-          { "x": 8.25, "y": 4.25 },
-          { "x": 9.25, "y": 4.25 },
-          { "x": 10.25, "y": 4.25 },
-          { "x": 11.25, "y": 4.25 },
-          { "x": 12.25, "y": 4.25, "w":1.75 },
-          { "x": 14.25, "y": 4.5 },
-  
-          { "x": 0, "y": 5.25, "w": 1.25},
-          { "x": 1.25, "y": 5.25, "w": 1.25},
-          { "x": 2.5, "y": 5.25, "w": 1.25},
-          { "x": 3.75, "y": 5.25, "w": 6.25},
-          { "x": 10, "y": 5.25, "w": 1.5},
-          { "x": 11.5, "y": 5.25, "w": 1.5},
-          { "x": 13.25, "y": 5.25, "w": 1},
-          { "x": 14.25, "y": 5.25, "w": 1},
-          { "x": 15.25, "y": 5.25, "w": 1}
-        ]
-    },
-    "LAYOUT_iso_wkl": {
-        "layout": [
-          { "x": 0, "y": 0 },
-          { "x": 2, "y": 0 },
-          { "x": 3, "y": 0 },
-          { "x": 4, "y": 0 },
-          { "x": 5, "y": 0 },
-          { "x": 6.5, "y": 0 },
-          { "x": 7.5, "y": 0 },
-          { "x": 8.5, "y": 0 },
-          { "x": 9.5, "y": 0 },
-          { "x": 11, "y": 0 },
-          { "x": 12, "y": 0 },
-          { "x": 13, "y": 0 },
-          { "x": 14, "y": 0 },
-          { "x": 15.25, "y": 0 },
-  
-          { "x": 0, "y": 1.25 },
-          { "x": 1, "y": 1.25 },
-          { "x": 2, "y": 1.25 },
-          { "x": 3, "y": 1.25 },
-          { "x": 4, "y": 1.25 },
-          { "x": 5, "y": 1.25 },
-          { "x": 6, "y": 1.25 },
-          { "x": 7, "y": 1.25 },
-          { "x": 8, "y": 1.25 },
-          { "x": 9, "y": 1.25 },
-          { "x": 10, "y": 1.25 },
-          { "x": 11, "y": 1.25 },
-          { "x": 12, "y": 1.25 },
-          { "x": 13, "y": 1.25, "w":2},
-          { "x": 15.25, "y": 1.25 },
-  
-          { "x": 0, "y": 2.25, "w": 1.5 },
-          { "x": 1.5, "y": 2.25 },
-          { "x": 2.5, "y": 2.25 },
-          { "x": 3.5, "y": 2.25 },
-          { "x": 4.5, "y": 2.25 },
-          { "x": 5.5, "y": 2.25 },
-          { "x": 6.5, "y": 2.25 },
-          { "x": 7.5, "y": 2.25 },
-          { "x": 8.5, "y": 2.25 },
-          { "x": 9.5, "y": 2.25 },
-          { "x": 10.5, "y": 2.25 },
-          { "x": 11.5, "y": 2.25 },
-          { "x": 12.5, "y": 2.25 },
-          { "x": 13.75, "y":2.25, "w":1.25, "h":2 },
-          { "x": 15.25, "y": 2.25 },
-  
-          { "x": 0, "y": 3.25, "w": 1.75 },
-          { "x": 1.75, "y": 3.25 },
-          { "x": 2.75, "y": 3.25 },
-          { "x": 3.75, "y": 3.25 },
-          { "x": 4.75, "y": 3.25 },
-          { "x": 5.75, "y": 3.25 },
-          { "x": 6.75, "y": 3.25 },
-          { "x": 7.75, "y": 3.25 },
-          { "x": 8.75, "y": 3.25 },
-          { "x": 9.75, "y": 3.25 },
-          { "x": 10.75, "y": 3.25 },
-          { "x": 11.75, "y": 3.25 },
-          { "x": 12.75, "y": 3.25 },
-          { "x": 15.25, "y": 3.25 },
-  
-          { "x": 0, "y": 4.25, "w": 1.25 },
-          { "x": 1.25, "y": 4.25 },
-          { "x": 2.25, "y": 4.25 },
-          { "x": 3.25, "y": 4.25 },
-          { "x": 4.25, "y": 4.25 },
-          { "x": 5.25, "y": 4.25 },
-          { "x": 6.25, "y": 4.25 },
-          { "x": 7.25, "y": 4.25 },
-          { "x": 8.25, "y": 4.25 },
-          { "x": 9.25, "y": 4.25 },
-          { "x": 10.25, "y": 4.25 },
-          { "x": 11.25, "y": 4.25 },
-          { "x": 12.25, "y": 4.25, "w":1.75 },
-          { "x": 14.25, "y": 4.5 },
-  
-          { "x": 0, "y": 5.25, "w": 1.5},
-          { "x": 1.5, "y": 5.25, "w": 1.5},
-          { "x": 3, "y": 5.25, "w": 7},
-          { "x": 10, "y": 5.25, "w": 1.5},
-          { "x": 11.5, "y": 5.25, "w": 1.5},
-          { "x": 13.25, "y": 5.25, "w": 1},
-          { "x": 14.25, "y": 5.25, "w": 1},
-          { "x": 15.25, "y": 5.25, "w": 1}
-        ]
+                {"x":0, "y":5.25, "w":1.25},
+                {"x":1.25, "y":5.25, "w":1.25},
+                {"x":2.5, "y":5.25, "w":1.25},
+                {"x":3.75, "y":5.25, "w":6.25},
+                {"x":10, "y":5.25, "w":1.5},
+                {"x":11.5, "y":5.25, "w":1.5},
+                {"x":13.25, "y":5.5},
+                {"x":14.25, "y":5.5},
+                {"x":15.25, "y":5.5}
+            ]
+        },
+        "LAYOUT_ansi": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6.5, "y":0},
+                {"x":7.5, "y":0},
+                {"x":8.5, "y":0},
+                {"x":9.5, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0},
+                {"x":14, "y":0},
+                {"x":15.25, "y":0},
+
+                {"x":0, "y":1.25},
+                {"x":1, "y":1.25},
+                {"x":2, "y":1.25},
+                {"x":3, "y":1.25},
+                {"x":4, "y":1.25},
+                {"x":5, "y":1.25},
+                {"x":6, "y":1.25},
+                {"x":7, "y":1.25},
+                {"x":8, "y":1.25},
+                {"x":9, "y":1.25},
+                {"x":10, "y":1.25},
+                {"x":11, "y":1.25},
+                {"x":12, "y":1.25},
+                {"x":13, "y":1.25, "w":2},
+                {"x":15.25, "y":1.25},
+
+                {"x":0, "y":2.25, "w":1.5},
+                {"x":1.5, "y":2.25},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2.25},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.25},
+                {"x":6.5, "y":2.25},
+                {"x":7.5, "y":2.25},
+                {"x":8.5, "y":2.25},
+                {"x":9.5, "y":2.25},
+                {"x":10.5, "y":2.25},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2.25},
+                {"x":13.5, "y":2.25, "w":1.5},
+                {"x":15.25, "y":2.25},
+
+                {"x":0, "y":3.25, "w":1.75},
+                {"x":1.75, "y":3.25},
+                {"x":2.75, "y":3.25},
+                {"x":3.75, "y":3.25},
+                {"x":4.75, "y":3.25},
+                {"x":5.75, "y":3.25},
+                {"x":6.75, "y":3.25},
+                {"x":7.75, "y":3.25},
+                {"x":8.75, "y":3.25},
+                {"x":9.75, "y":3.25},
+                {"x":10.75, "y":3.25},
+                {"x":11.75, "y":3.25},
+                {"x":12.75, "y":3.25, "w":2.25},
+                {"x":15.25, "y":3.25},
+
+                {"x":0, "y":4.25, "w":2.25},
+                {"x":2.25, "y":4.25},
+                {"x":3.25, "y":4.25},
+                {"x":4.25, "y":4.25},
+                {"x":5.25, "y":4.25},
+                {"x":6.25, "y":4.25},
+                {"x":7.25, "y":4.25},
+                {"x":8.25, "y":4.25},
+                {"x":9.25, "y":4.25},
+                {"x":10.25, "y":4.25},
+                {"x":11.25, "y":4.25},
+                {"x":12.25, "y":4.25, "w":1.75},
+                {"x":14.25, "y":4.5},
+
+                {"x":0, "y":5.25, "w":1.25},
+                {"x":1.25, "y":5.25, "w":1.25},
+                {"x":2.5, "y":5.25, "w":1.25},
+                {"x":3.75, "y":5.25, "w":6.25},
+                {"x":10, "y":5.25, "w":1.5},
+                {"x":11.5, "y":5.25, "w":1.5},
+                {"x":13.25, "y":5.5},
+                {"x":14.25, "y":5.5},
+                {"x":15.25, "y":5.5}
+            ]
+        },
+        "LAYOUT_ansi_wkl": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6.5, "y":0},
+                {"x":7.5, "y":0},
+                {"x":8.5, "y":0},
+                {"x":9.5, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0},
+                {"x":14, "y":0},
+                {"x":15.25, "y":0},
+
+                {"x":0, "y":1.25},
+                {"x":1, "y":1.25},
+                {"x":2, "y":1.25},
+                {"x":3, "y":1.25},
+                {"x":4, "y":1.25},
+                {"x":5, "y":1.25},
+                {"x":6, "y":1.25},
+                {"x":7, "y":1.25},
+                {"x":8, "y":1.25},
+                {"x":9, "y":1.25},
+                {"x":10, "y":1.25},
+                {"x":11, "y":1.25},
+                {"x":12, "y":1.25},
+                {"x":13, "y":1.25, "w":2},
+                {"x":15.25, "y":1.25},
+
+                {"x":0, "y":2.25, "w":1.5},
+                {"x":1.5, "y":2.25},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2.25},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.25},
+                {"x":6.5, "y":2.25},
+                {"x":7.5, "y":2.25},
+                {"x":8.5, "y":2.25},
+                {"x":9.5, "y":2.25},
+                {"x":10.5, "y":2.25},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2.25},
+                {"x":13.5, "y":2.25, "w":1.5},
+                {"x":15.25, "y":2.25},
+
+                {"x":0, "y":3.25, "w":1.75},
+                {"x":1.75, "y":3.25},
+                {"x":2.75, "y":3.25},
+                {"x":3.75, "y":3.25},
+                {"x":4.75, "y":3.25},
+                {"x":5.75, "y":3.25},
+                {"x":6.75, "y":3.25},
+                {"x":7.75, "y":3.25},
+                {"x":8.75, "y":3.25},
+                {"x":9.75, "y":3.25},
+                {"x":10.75, "y":3.25},
+                {"x":11.75, "y":3.25},
+                {"x":12.75, "y":3.25, "w":2.25},
+                {"x":15.25, "y":3.25},
+
+                {"x":0, "y":4.25, "w":2.25},
+                {"x":2.25, "y":4.25},
+                {"x":3.25, "y":4.25},
+                {"x":4.25, "y":4.25},
+                {"x":5.25, "y":4.25},
+                {"x":6.25, "y":4.25},
+                {"x":7.25, "y":4.25},
+                {"x":8.25, "y":4.25},
+                {"x":9.25, "y":4.25},
+                {"x":10.25, "y":4.25},
+                {"x":11.25, "y":4.25},
+                {"x":12.25, "y":4.25, "w":1.75},
+                {"x":14.25, "y":4.5},
+
+                {"x":0, "y":5.25, "w":1.5},
+                {"x":1.5, "y":5.25, "w":1.5},
+                {"x":3, "y":5.25, "w":7},
+                {"x":10, "y":5.25, "w":1.5},
+                {"x":11.5, "y":5.25, "w":1.5},
+                {"x":13.25, "y":5.5},
+                {"x":14.25, "y":5.5},
+                {"x":15.25, "y":5.5}
+            ]
+        },
+        "LAYOUT_iso": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6.5, "y":0},
+                {"x":7.5, "y":0},
+                {"x":8.5, "y":0},
+                {"x":9.5, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0},
+                {"x":14, "y":0},
+                {"x":15.25, "y":0},
+
+                {"x":0, "y":1.25},
+                {"x":1, "y":1.25},
+                {"x":2, "y":1.25},
+                {"x":3, "y":1.25},
+                {"x":4, "y":1.25},
+                {"x":5, "y":1.25},
+                {"x":6, "y":1.25},
+                {"x":7, "y":1.25},
+                {"x":8, "y":1.25},
+                {"x":9, "y":1.25},
+                {"x":10, "y":1.25},
+                {"x":11, "y":1.25},
+                {"x":12, "y":1.25},
+                {"x":13, "y":1.25, "w":2},
+                {"x":15.25, "y":1.25},
+
+                {"x":0, "y":2.25, "w":1.5},
+                {"x":1.5, "y":2.25},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2.25},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.25},
+                {"x":6.5, "y":2.25},
+                {"x":7.5, "y":2.25},
+                {"x":8.5, "y":2.25},
+                {"x":9.5, "y":2.25},
+                {"x":10.5, "y":2.25},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2.25},
+                {"x":15.25, "y":2.25},
+
+                {"x":0, "y":3.25, "w":1.75},
+                {"x":1.75, "y":3.25},
+                {"x":2.75, "y":3.25},
+                {"x":3.75, "y":3.25},
+                {"x":4.75, "y":3.25},
+                {"x":5.75, "y":3.25},
+                {"x":6.75, "y":3.25},
+                {"x":7.75, "y":3.25},
+                {"x":8.75, "y":3.25},
+                {"x":9.75, "y":3.25},
+                {"x":10.75, "y":3.25},
+                {"x":11.75, "y":3.25},
+                {"x":12.75, "y":3.25},
+                {"x":13.75, "y":2.25, "w":1.25, "h":2},
+                {"x":15.25, "y":3.25},
+
+                {"x":0, "y":4.25, "w":1.25},
+                {"x":1.25, "y":4.25},
+                {"x":2.25, "y":4.25},
+                {"x":3.25, "y":4.25},
+                {"x":4.25, "y":4.25},
+                {"x":5.25, "y":4.25},
+                {"x":6.25, "y":4.25},
+                {"x":7.25, "y":4.25},
+                {"x":8.25, "y":4.25},
+                {"x":9.25, "y":4.25},
+                {"x":10.25, "y":4.25},
+                {"x":11.25, "y":4.25},
+                {"x":12.25, "y":4.25, "w":1.75},
+                {"x":14.25, "y":4.5},
+
+                {"x":0, "y":5.25, "w":1.25},
+                {"x":1.25, "y":5.25, "w":1.25},
+                {"x":2.5, "y":5.25, "w":1.25},
+                {"x":3.75, "y":5.25, "w":6.25},
+                {"x":10, "y":5.25, "w":1.5},
+                {"x":11.5, "y":5.25, "w":1.5},
+                {"x":13.25, "y":5.5},
+                {"x":14.25, "y":5.5},
+                {"x":15.25, "y":5.5}
+            ]
+        },
+        "LAYOUT_iso_wkl": {
+            "layout": [
+                {"x":0, "y":0},
+                {"x":2, "y":0},
+                {"x":3, "y":0},
+                {"x":4, "y":0},
+                {"x":5, "y":0},
+                {"x":6.5, "y":0},
+                {"x":7.5, "y":0},
+                {"x":8.5, "y":0},
+                {"x":9.5, "y":0},
+                {"x":11, "y":0},
+                {"x":12, "y":0},
+                {"x":13, "y":0},
+                {"x":14, "y":0},
+                {"x":15.25, "y":0},
+
+                {"x":0, "y":1.25},
+                {"x":1, "y":1.25},
+                {"x":2, "y":1.25},
+                {"x":3, "y":1.25},
+                {"x":4, "y":1.25},
+                {"x":5, "y":1.25},
+                {"x":6, "y":1.25},
+                {"x":7, "y":1.25},
+                {"x":8, "y":1.25},
+                {"x":9, "y":1.25},
+                {"x":10, "y":1.25},
+                {"x":11, "y":1.25},
+                {"x":12, "y":1.25},
+                {"x":13, "y":1.25, "w":2},
+                {"x":15.25, "y":1.25},
+
+                {"x":0, "y":2.25, "w":1.5},
+                {"x":1.5, "y":2.25},
+                {"x":2.5, "y":2.25},
+                {"x":3.5, "y":2.25},
+                {"x":4.5, "y":2.25},
+                {"x":5.5, "y":2.25},
+                {"x":6.5, "y":2.25},
+                {"x":7.5, "y":2.25},
+                {"x":8.5, "y":2.25},
+                {"x":9.5, "y":2.25},
+                {"x":10.5, "y":2.25},
+                {"x":11.5, "y":2.25},
+                {"x":12.5, "y":2.25},
+                {"x":15.25, "y":2.25},
+
+                {"x":0, "y":3.25, "w":1.75},
+                {"x":1.75, "y":3.25},
+                {"x":2.75, "y":3.25},
+                {"x":3.75, "y":3.25},
+                {"x":4.75, "y":3.25},
+                {"x":5.75, "y":3.25},
+                {"x":6.75, "y":3.25},
+                {"x":7.75, "y":3.25},
+                {"x":8.75, "y":3.25},
+                {"x":9.75, "y":3.25},
+                {"x":10.75, "y":3.25},
+                {"x":11.75, "y":3.25},
+                {"x":12.75, "y":3.25},
+                {"x":13.75, "y":2.25, "w":1.25, "h":2},
+                {"x":15.25, "y":3.25},
+
+                {"x":0, "y":4.25, "w":1.25},
+                {"x":1.25, "y":4.25},
+                {"x":2.25, "y":4.25},
+                {"x":3.25, "y":4.25},
+                {"x":4.25, "y":4.25},
+                {"x":5.25, "y":4.25},
+                {"x":6.25, "y":4.25},
+                {"x":7.25, "y":4.25},
+                {"x":8.25, "y":4.25},
+                {"x":9.25, "y":4.25},
+                {"x":10.25, "y":4.25},
+                {"x":11.25, "y":4.25},
+                {"x":12.25, "y":4.25, "w":1.75},
+                {"x":14.25, "y":4.5},
+
+                {"x":0, "y":5.25, "w":1.5},
+                {"x":1.5, "y":5.25, "w":1.5},
+                {"x":3, "y":5.25, "w":7},
+                {"x":10, "y":5.25, "w":1.5},
+                {"x":11.5, "y":5.25, "w":1.5},
+                {"x":13.25, "y":5.5},
+                {"x":14.25, "y":5.5},
+                {"x":15.25, "y":5.5}
+            ]
+        }
     }
-  }
 }

+ 4 - 4
keyboards/linworks/whale75/keymaps/default/keymap.c

@@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,                      KC_MUTE,
         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_TRNS,  KC_BSPC,  KC_INS,
         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,            KC_DEL,
-        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
-        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,           KC_UP,    KC_HOME,
+        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,             KC_HOME,
+        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,           KC_UP,
         KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),             KC_LEFT, KC_DOWN,  KC_RGHT
         ),
 
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC,  BL_INC,  RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPI, RGB_SPI,                    KC_MPLY,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_PGUP,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_PGDN,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,  KC_END,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_END,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                             KC_TRNS, MO(1),            KC_TRNS, KC_TRNS,  KC_TRNS
        ),
 };

+ 8 - 8
keyboards/linworks/whale75/keymaps/via/keymap.c

@@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,                      KC_MUTE,
         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_TRNS,  KC_BSPC,  KC_INS,
         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,            KC_DEL,
-        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
-        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,           KC_UP,    KC_HOME,
+        KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,             KC_HOME,
+        KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,           KC_UP,
         KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),             KC_LEFT, KC_DOWN,  KC_RGHT
         ),
 
@@ -30,16 +30,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC,  BL_INC,  RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS,                    KC_MPLY,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_PGUP,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_PGDN,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,  KC_END,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_END,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                             KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  KC_TRNS
        ),
     [2] = LAYOUT_all(    /* keymap for layer 2 */
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,                    KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                             KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  KC_TRNS
        ),
 
@@ -47,8 +47,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,                    KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,  KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,
         KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS,                             KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  KC_TRNS
        ),
 };

+ 26 - 0
keyboards/linworks/whale75/whale75.c

@@ -14,3 +14,29 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include "whale75.h"
+
+#if defined(ENCODER_ENABLE)
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+    if (!encoder_update_user(index, clockwise)) { return false; }
+    if (index == 0) {
+        /* The switch case allows for different encoder mappings on different layers, "default" map gets applied for all unspecified layers */
+        switch(get_highest_layer(layer_state)){
+            case 1:
+                if (clockwise) {
+                    tap_code(KC_MNXT);
+                } else {
+                    tap_code(KC_MPRV);
+                }
+                break;
+            default:
+                if (clockwise){
+                    tap_code(KC_VOLU);
+                } else{
+                    tap_code(KC_VOLD);
+                }
+                break;
+        }
+    }
+    return true;
+}
+#endif

+ 83 - 60
keyboards/linworks/whale75/whale75.h

@@ -18,82 +18,105 @@
 
 #include "quantum.h"
 
+#define XXX KC_NO
+
+/*
+ *              ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐
+ *              │00 │   │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0F │
+ *              └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘
+ *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐    ┌───────┐
+ *              │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │1F │    │1E     │ 2u Backspace
+ *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤    └─┬─────┤
+ *              │20   │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E   │ │2F │      │     │
+ *  2.25u       ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤   ┌──┴┐3E  │ ISO
+ *  LShift      │30    │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E      │ │4F │   │3D │    │ Enter
+ * ┌────────┐   ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ └───┘   └───┴────┘
+ * │40      │   │40  │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D    │ ┌───┐
+ * └────────┘   ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘ │4E │
+ *              │50  │51  │52  │56                      │5A   │5B   │ ┌───┼───┼───┐
+ *              └────┴────┴────┴────────────────────────┴─────┴─────┘ │5D │5E │5F │
+ *                                                                    └───┴───┴───┘
+ *              ┌─────┬─────┬───────────────────────────┬─────┬─────┐
+ *          WKL │50   │52   │56                         │5A   │5B   │
+ *              └─────┴─────┴───────────────────────────┴─────┴─────┘
+ */
+
 #define LAYOUT_all( \
-    K000,         K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,         K015, \
-    K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115, \
-    K200,         K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215, \
-    K300,         K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,        \
-    K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,         K413,  K414,  K415, \
-    K500,  K501,  K502,                       K506,                       K510,  K511,         K513,  K514,  K515  \
+    K00,        K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,        K0F, \
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,  K1D,  K1E,  K1F, \
+    K20,        K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,  K2E,  K2F, \
+    K30,        K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,  K3D,  K3E,  K4F, \
+    K40,  K41,  K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,  K4E,       \
+    K50,  K51,  K52,                    K56,                    K5A,  K5B,        K5D,  K5E,  K5F  \
 ) { \
-  { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  KC_NO, K015  }, \
-  { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115  }, \
-  { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215  }, \
-  { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  KC_NO }, \
-  { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415  }, \
-  { K500,  K501,  K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  KC_NO, K513,  K514,  K515  }  \
+    { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
+    { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, XXX }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+    { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F }  \
 }
 
 #define LAYOUT_ansi( \
-    K000,         K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,         K015, \
-    K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,         K114,  K115, \
-    K200,         K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215, \
-    K300,         K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,         K314,        \
-    K400,         K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,         K413,  K414,  K415, \
-    K500,  K501,  K502,                       K506,                       K510,  K511,         K513,  K514,  K515  \
+    K00,        K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,        K0F, \
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,        K1E,  K1F, \
+    K20,        K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,  K2E,  K2F, \
+    K30,        K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,        K3E,  K4F, \
+    K40,        K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,  K4E,       \
+    K50,  K51,  K52,                    K56,                    K5A,  K5B,        K5D,  K5E,  K5F  \
 ) { \
-  { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  KC_NO, K015  }, \
-  { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115  }, \
-  { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215  }, \
-  { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO, K314,  KC_NO }, \
-  { K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415  }, \
-  { K500,  K501,  K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  KC_NO, K513,  K514,  K515  }  \
+    { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+    { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, K3E, XXX }, \
+    { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+    { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F }  \
 }
 
 #define LAYOUT_ansi_wkl( \
-    K000,         K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,         K015, \
-    K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,         K114,  K115, \
-    K200,         K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215, \
-    K300,         K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,         K314,        \
-    K400,         K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,         K413,  K414,  K415, \
-    K500,         K502,                       K506,                       K510,  K511,         K513,  K514,  K515  \
+    K00,        K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,        K0F, \
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,        K1E,  K1F, \
+    K20,        K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,  K2E,  K2F, \
+    K30,        K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,        K3E,  K4F, \
+    K40,        K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,  K4E,       \
+    K50,        K52,                    K56,                    K5A,  K5B,        K5D,  K5E,  K5F  \
 ) { \
-  { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  KC_NO, K015  }, \
-  { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115  }, \
-  { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215  }, \
-  { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  KC_NO, K314,  KC_NO }, \
-  { K400,  KC_NO, K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415  }, \
-  { K500,  KC_NO, K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  KC_NO, K513,  K514,  K515  }  \
+    { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+    { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, K3E, XXX }, \
+    { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+    { K50, XXX, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F }  \
 }
 
 #define LAYOUT_iso( \
-    K000,         K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,         K015, \
-    K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,         K114,  K115, \
-    K200,         K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,         K215, \
-    K300,         K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,        \
-    K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,         K413,  K414,  K415, \
-    K500,  K501,  K502,                       K506,                       K510,  K511,         K513,  K514,  K515  \
+    K00,        K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,        K0F, \
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,        K1E,  K1F, \
+    K20,        K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,        K2F, \
+    K30,        K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,  K3D,  K3E,  K4F, \
+    K40,  K41,  K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,  K4E,       \
+    K50,  K51,  K52,                    K56,                    K5A,  K5B,        K5D,  K5E,  K5F  \
 ) { \
-  { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  KC_NO, K015  }, \
-  { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115  }, \
-  { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  KC_NO, K215  }, \
-  { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  KC_NO }, \
-  { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415  }, \
-  { K500,  K501,  K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  KC_NO, K513,  K514,  K515  }  \
+    { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+    { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, K2F }, \
+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, XXX }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+    { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F }  \
 }
 
 #define LAYOUT_iso_wkl( \
-    K000,         K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,         K015, \
-    K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,         K114,  K115, \
-    K200,         K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,         K215, \
-    K300,         K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,        \
-    K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,         K413,  K414,  K415, \
-    K500,         K502,                       K506,                       K510,  K511,         K513,  K514,  K515  \
+    K00,        K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,        K0F, \
+    K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,        K1E,  K1F, \
+    K20,        K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,        K2F, \
+    K30,        K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,  K3D,  K3E,  K4F, \
+    K40,  K41,  K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,  K4E,       \
+    K50,        K52,                    K56,                    K5A,  K5B,        K5D,  K5E,  K5F  \
 ) { \
-  { K000,  KC_NO, K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  KC_NO, K015  }, \
-  { K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  KC_NO, K114,  K115  }, \
-  { K200,  KC_NO, K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  KC_NO, K215  }, \
-  { K300,  KC_NO, K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  KC_NO }, \
-  { K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  KC_NO, K413,  K414,  K415  }, \
-  { K500,  KC_NO, K502,  KC_NO, KC_NO, KC_NO, K506,  KC_NO, KC_NO, KC_NO, K510,  K511,  KC_NO, K513,  K514,  K515  }  \
+    { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, XXX, K0F }, \
+    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+    { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, K2F }, \
+    { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, XXX }, \
+    { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+    { K50, XXX, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F }  \
 }