Added LAYOUT_103key_iso layout
authorAbdelkafi Ahmed <abdelkafiahmed@yahoo.fr>
Mon, 22 Feb 2021 16:33:41 +0000 (17:33 +0100)
committerPurdea Andrei <andrei@purdea.ro>
Wed, 17 Mar 2021 19:10:46 +0000 (21:10 +0200)
keyboards/xwhatsit/ibm/f107/info.json
keyboards/xwhatsit/ibm/f107/universal/universal.h
keyboards/xwhatsit/ibm/f107/wcass/wcass.h
keyboards/xwhatsit/ibm/f107/xwhatsit/xwhatsit.h
keyboards/xwhatsit/util/util/kbd_defs.cpp

index 538b875..d20798a 100644 (file)
@@ -11,6 +11,9 @@
         "LAYOUT_102key_ansi": {
             "layout": [{"label":"3,1", "x":0, "y":0}, {"label":"3,2", "x":1, "y":0}, {"label":"2,3", "x":2.25, "y":0}, {"label":"1,3", "x":3.25, "y":0}, {"label":"1,4", "x":4.25, "y":0}, {"label":"2,5", "x":5.25, "y":0}, {"label":"1,5", "x":6.25, "y":0}, {"label":"2,6", "x":7.25, "y":0}, {"label":"1,6", "x":8.25, "y":0}, {"label":"2,7", "x":9.25, "y":0}, {"label":"1,7", "x":10.25, "y":0}, {"label":"2,8", "x":11.25, "y":0}, {"label":"1,8", "x":12.25, "y":0}, {"label":"2,9", "x":13.25, "y":0}, {"label":"1,9", "x":14.25, "y":0}, {"label":"1,10", "x":15.25, "y":0, "w":2}, {"label":"1,11", "x":17.5, "y":0}, {"label":"2,12", "x":18.5, "y":0}, {"label":"1,12", "x":19.5, "y":0}, {"label":"1,13", "x":20.75, "y":0}, {"label":"1,14", "x":21.75, "y":0}, {"label":"2,15", "x":22.75, "y":0}, {"label":"1,15", "x":23.75, "y":0}, {"label":"4,1", "x":0, "y":1}, {"label":"4,2", "x":1, "y":1}, {"label":"3,3", "x":2.25, "y":1, "w":1.5}, {"label":"2,4", "x":3.75, "y":1}, {"label":"3,4", "x":4.75, "y":1}, {"label":"4,5", "x":5.75, "y":1}, {"label":"3,5", "x":6.75, "y":1}, {"label":"4,6", "x":7.75, "y":1}, {"label":"3,6", "x":8.75, "y":1}, {"label":"4,7", "x":9.75, "y":1}, {"label":"3,7", "x":10.75, "y":1}, {"label":"4,8", "x":11.75, "y":1}, {"label":"3,8", "x":12.75, "y":1}, {"label":"3,9", "x":13.75, "y":1}, {"label":"3,10", "x":14.75, "y":1}, {"label":"4,10", "x":15.75, "y":1, "w":1.5}, {"label":"3,11", "x":17.5, "y":1}, {"label":"4,12", "x":18.5, "y":1}, {"label":"3,12", "x":19.5, "y":1}, {"label":"3,13", "x":20.75, "y":1}, {"label":"3,14", "x":21.75, "y":1}, {"label":"2,14", "x":22.75, "y":1}, {"label":"3,15", "x":23.75, "y":1, "h":2}, {"label":"5,1", "x":0, "y":2}, {"label":"5,2", "x":1, "y":2}, {"label":"4,3", "x":2.25, "y":2, "w":1.75}, {"label":"4,4", "x":4, "y":2}, {"label":"5,4", "x":5, "y":2}, {"label":"6,5", "x":6, "y":2}, {"label":"5,5", "x":7, "y":2}, {"label":"6,6", "x":8, "y":2}, {"label":"5,6", "x":9, "y":2}, {"label":"5,7", "x":10, "y":2}, {"label":"6,7", "x":11, "y":2}, {"label":"6,8", "x":12, "y":2}, {"label":"5,8", "x":13, "y":2}, {"label":"5,9", "x":14, "y":2}, {"label":"5,10", "x":15, "y":2, "w":2.25}, {"label":"5,11", "x":17.5, "y":2}, {"label":"4,11", "x":18.5, "y":2}, {"label":"5,12", "x":19.5, "y":2}, {"label":"5,13", "x":20.75, "y":2}, {"label":"4,14", "x":21.75, "y":2}, {"label":"5,14", "x":22.75, "y":2}, {"label":"6,1", "x":0, "y":3}, {"label":"6,2", "x":1, "y":3}, {"label":"5,3", "x":2.25, "y":3, "w":2.25}, {"label":"7,4", "x":4.5, "y":3}, {"label":"6,4", "x":5.5, "y":3}, {"label":"7,5", "x":6.5, "y":3}, {"label":"8,5", "x":7.5, "y":3}, {"label":"7,6", "x":8.5, "y":3}, {"label":"7,7", "x":9.5, "y":3}, {"label":"8,7", "x":10.5, "y":3}, {"label":"8.8", "x":11.5, "y":3}, {"label":"7,8", "x":12.5, "y":3}, {"label":"6,9", "x":13.5, "y":3}, {"label":"7,10", "x":14.5, "y":3, "w":2.75}, {"label":"6,11", "x":17.5, "y":3}, {"label":"6,12", "x":18.5, "y":3}, {"label":"7,12", "x":19.5, "y":3}, {"label":"7,13", "x":20.75, "y":3}, {"label":"6,13", "x":21.75, "y":3}, {"label":"6,14", "x":22.75, "y":3}, {"label":"7,15", "x":23.75, "y":3, "h":2}, {"label":"7,1", "x":0, "y":4}, {"label":"7,2", "x":1, "y":4}, {"label":"8,3", "x":2.25, "y":4, "w":1.5}, {"label":"7,3", "x":3.75, "y":4}, {"label":"8,4", "x":4.75, "y":4, "w":1.5}, {"label":"8,6", "x":6.25, "y":4, "w":7}, {"label":"8,9", "x":13.25, "y":4, "w":1.5}, {"label":"7,9", "x":14.75, "y":4}, {"label":"8,10", "x":15.75, "y":4, "w":1.5}, {"label":"8,11", "x":17.5, "y":4}, {"label":"7,11", "x":18.5, "y":4}, {"label":"8,12", "x":19.5, "y":4}, {"label":"8,14", "x":20.75, "y":4, "w":2}, {"label":"7,14", "x":22.75, "y":4}]
         },
+        "LAYOUT_103key_iso": {
+            "layout": [{"label":"3,1", "x":0, "y":0}, {"label":"3,2", "x":1, "y":0}, {"label":"2,3", "x":2.25, "y":0}, {"label":"1,3", "x":3.25, "y":0}, {"label":"1,4", "x":4.25, "y":0}, {"label":"2,5", "x":5.25, "y":0}, {"label":"1,5", "x":6.25, "y":0}, {"label":"2,6", "x":7.25, "y":0}, {"label":"1,6", "x":8.25, "y":0}, {"label":"2,7", "x":9.25, "y":0}, {"label":"1,7", "x":10.25, "y":0}, {"label":"2,8", "x":11.25, "y":0}, {"label":"1,8", "x":12.25, "y":0}, {"label":"2,9", "x":13.25, "y":0}, {"label":"1,9", "x":14.25, "y":0}, {"label":"1,10", "x":15.25, "y":0, "w":2}, {"label":"1,11", "x":17.5, "y":0}, {"label":"2,12", "x":18.5, "y":0}, {"label":"1,12", "x":19.5, "y":0}, {"label":"1,13", "x":20.75, "y":0}, {"label":"1,14", "x":21.75, "y":0}, {"label":"2,15", "x":22.75, "y":0}, {"label":"1,15", "x":23.75, "y":0}, {"label":"4,1", "x":0, "y":1}, {"label":"4,2", "x":1, "y":1}, {"label":"3,3", "x":2.25, "y":1, "w":1.5}, {"label":"2,4", "x":3.75, "y":1}, {"label":"3,4", "x":4.75, "y":1}, {"label":"4,5", "x":5.75, "y":1}, {"label":"3,5", "x":6.75, "y":1}, {"label":"4,6", "x":7.75, "y":1}, {"label":"3,6", "x":8.75, "y":1}, {"label":"4,7", "x":9.75, "y":1}, {"label":"3,7", "x":10.75, "y":1}, {"label":"4,8", "x":11.75, "y":1}, {"label":"3,8", "x":12.75, "y":1}, {"label":"3,9", "x":13.75, "y":1}, {"label":"3,10", "x":14.75, "y":1}, {"label":"3,11", "x":17.5, "y":1}, {"label":"4,12", "x":18.5, "y":1}, {"label":"3,12", "x":19.5, "y":1}, {"label":"3,13", "x":20.75, "y":1}, {"label":"3,14", "x":21.75, "y":1}, {"label":"2,14", "x":22.75, "y":1}, {"label":"3,15", "x":23.75, "y":1, "h": 2}, {"label":"5,1", "x":0, "y":2}, {"label":"5,2", "x":1, "y":2}, {"label":"4,3", "x":2.25, "y":2, "w":1.75}, {"label":"4,4", "x":4, "y":2}, {"label":"5,4", "x":5, "y":2}, {"label":"6,5", "x":6, "y":2}, {"label":"5,5", "x":7, "y":2}, {"label":"6,6", "x":8, "y":2}, {"label":"5,6", "x":9, "y":2}, {"label":"5,7", "x":10, "y":2}, {"label":"6,7", "x":11, "y":2}, {"label":"6,8", "x":12, "y":2}, {"label":"5,8", "x":13, "y":2}, {"label":"5,9", "x":14, "y":2}, {"label":"4,9?", "x":15, "y":2}, {"label":"5,10", "x":16, "y":1, "w":1.249, "h": 2}, {"label":"5,11", "x":17.5, "y":2}, {"label":"4,11", "x":18.5, "y":2}, {"label":"5,12", "x":19.5, "y":2}, {"label":"5,13", "x":20.75, "y":2}, {"label":"4,14", "x":21.75, "y":2}, {"label":"5,14", "x":22.75, "y":2}, {"label":"6,1", "x":0, "y":3}, {"label":"6,2", "x":1, "y":3}, {"label":"5,3", "x":2.25, "y":3, "w":1.25}, {"label":"6,3?", "x":3.5, "y":3}, {"label":"7,4", "x":4.5, "y":3}, {"label":"6,4", "x":5.5, "y":3}, {"label":"7,5", "x":6.5, "y":3}, {"label":"8,5", "x":7.5, "y":3}, {"label":"7,6", "x":8.5, "y":3}, {"label":"7,7", "x":9.5, "y":3}, {"label":"8,7", "x":10.5, "y":3}, {"label":"8.8", "x":11.5, "y":3}, {"label":"7,8", "x":12.5, "y":3}, {"label":"6,9", "x":13.5, "y":3}, {"label":"7,10", "x":14.5, "y":3, "w":2.75}, {"label":"6,11", "x":17.5, "y":3}, {"label":"6,12", "x":18.5, "y":3}, {"label":"7,12", "x":19.5, "y":3}, {"label":"7,13", "x":20.75, "y":3}, {"label":"6,13", "x":21.75, "y":3}, {"label":"6,14", "x":22.75, "y":3}, {"label":"7,15", "x":23.75, "y":3, "h":2}, {"label":"7,1", "x":0, "y":4}, {"label":"7,2", "x":1, "y":4}, {"label":"8,3", "x":2.25, "y":4, "w":1.5}, {"label":"7,3", "x":3.75, "y":4}, {"label":"8,4", "x":4.75, "y":4, "w":1.5}, {"label":"8,6", "x":6.25, "y":4, "w":7}, {"label":"8,9", "x":13.25, "y":4, "w":1.5}, {"label":"7,9", "x":14.75, "y":4}, {"label":"8,10", "x":15.75, "y":4, "w":1.5}, {"label":"8,11", "x":17.5, "y":4}, {"label":"7,11", "x":18.5, "y":4}, {"label":"8,12", "x":19.5, "y":4}, {"label":"8,14", "x":20.75, "y":4, "w": 2}, {"label":"7,14", "x":22.75, "y":4}]
+        },
         "LAYOUT_107key": {
             "layout": [{"label":"3,1", "x":0, "y":0}, {"label":"3,2", "x":1, "y":0}, {"label":"2,3", "x":2.25, "y":0}, {"label":"1,3", "x":3.25, "y":0}, {"label":"1,4", "x":4.25, "y":0}, {"label":"2,5", "x":5.25, "y":0}, {"label":"1,5", "x":6.25, "y":0}, {"label":"2,6", "x":7.25, "y":0}, {"label":"1,6", "x":8.25, "y":0}, {"label":"2,7", "x":9.25, "y":0}, {"label":"1,7", "x":10.25, "y":0}, {"label":"2,8", "x":11.25, "y":0}, {"label":"1,8", "x":12.25, "y":0}, {"label":"2,9", "x":13.25, "y":0}, {"label":"1,9", "x":14.25, "y":0}, {"label":"1,10", "x":15.25, "y":0, "w":2}, {"label":"1,11", "x":17.5, "y":0}, {"label":"2,12", "x":18.5, "y":0}, {"label":"1,12", "x":19.5, "y":0}, {"label":"1,13", "x":20.75, "y":0}, {"label":"1,14", "x":21.75, "y":0}, {"label":"2,15", "x":22.75, "y":0}, {"label":"1,15", "x":23.75, "y":0}, {"label":"4,1", "x":0, "y":1}, {"label":"4,2", "x":1, "y":1}, {"label":"3,3", "x":2.25, "y":1, "w":1.5}, {"label":"2,4", "x":3.75, "y":1}, {"label":"3,4", "x":4.75, "y":1}, {"label":"4,5", "x":5.75, "y":1}, {"label":"3,5", "x":6.75, "y":1}, {"label":"4,6", "x":7.75, "y":1}, {"label":"3,6", "x":8.75, "y":1}, {"label":"4,7", "x":9.75, "y":1}, {"label":"3,7", "x":10.75, "y":1}, {"label":"4,8", "x":11.75, "y":1}, {"label":"3,8", "x":12.75, "y":1}, {"label":"3,9", "x":13.75, "y":1}, {"label":"3,10", "x":14.75, "y":1}, {"label":"4,10", "x":15.75, "y":1, "w":1.5}, {"label":"3,11", "x":17.5, "y":1}, {"label":"4,12", "x":18.5, "y":1}, {"label":"3,12", "x":19.5, "y":1}, {"label":"3,13", "x":20.75, "y":1}, {"label":"3,14", "x":21.75, "y":1}, {"label":"2,14", "x":22.75, "y":1}, {"label":"3,15", "x":23.75, "y":1}, {"label":"5,1", "x":0, "y":2}, {"label":"5,2", "x":1, "y":2}, {"label":"4,3", "x":2.25, "y":2, "w":1.75}, {"label":"4,4", "x":4, "y":2}, {"label":"5,4", "x":5, "y":2}, {"label":"6,5", "x":6, "y":2}, {"label":"5,5", "x":7, "y":2}, {"label":"6,6", "x":8, "y":2}, {"label":"5,6", "x":9, "y":2}, {"label":"5,7", "x":10, "y":2}, {"label":"6,7", "x":11, "y":2}, {"label":"6,8", "x":12, "y":2}, {"label":"5,8", "x":13, "y":2}, {"label":"5,9", "x":14, "y":2}, {"label":"4,9?", "x":15, "y":2}, {"label":"5,10", "x":16, "y":2, "w":1.25}, {"label":"5,11", "x":17.5, "y":2}, {"label":"4,11", "x":18.5, "y":2}, {"label":"5,12", "x":19.5, "y":2}, {"label":"5,13", "x":20.75, "y":2}, {"label":"4,14", "x":21.75, "y":2}, {"label":"5,14", "x":22.75, "y":2}, {"label":"5,15?", "x":23.75, "y":2}, {"label":"6,1", "x":0, "y":3}, {"label":"6,2", "x":1, "y":3}, {"label":"5,3", "x":2.25, "y":3, "w":1.25}, {"label":"6,3?", "x":3.5, "y":3}, {"label":"7,4", "x":4.5, "y":3}, {"label":"6,4", "x":5.5, "y":3}, {"label":"7,5", "x":6.5, "y":3}, {"label":"8,5", "x":7.5, "y":3}, {"label":"7,6", "x":8.5, "y":3}, {"label":"7,7", "x":9.5, "y":3}, {"label":"8,7", "x":10.5, "y":3}, {"label":"8.8", "x":11.5, "y":3}, {"label":"7,8", "x":12.5, "y":3}, {"label":"6,9", "x":13.5, "y":3}, {"label":"7,10", "x":14.5, "y":3, "w":2.75}, {"label":"6,11", "x":17.5, "y":3}, {"label":"6,12", "x":18.5, "y":3}, {"label":"7,12", "x":19.5, "y":3}, {"label":"7,13", "x":20.75, "y":3}, {"label":"6,13", "x":21.75, "y":3}, {"label":"6,14", "x":22.75, "y":3}, {"label":"7,15", "x":23.75, "y":3}, {"label":"7,1", "x":0, "y":4}, {"label":"7,2", "x":1, "y":4}, {"label":"8,3", "x":2.25, "y":4, "w":1.5}, {"label":"7,3", "x":3.75, "y":4}, {"label":"8,4", "x":4.75, "y":4, "w":1.5}, {"label":"8,6", "x":6.25, "y":4, "w":7}, {"label":"8,9", "x":13.25, "y":4, "w":1.5}, {"label":"7,9", "x":14.75, "y":4}, {"label":"8,10", "x":15.75, "y":4, "w":1.5}, {"label":"8,11", "x":17.5, "y":4}, {"label":"7,11", "x":18.5, "y":4}, {"label":"8,12", "x":19.5, "y":4}, {"label":"8,13", "x":20.75, "y":4}, {"label":"8,14?", "x":21.75, "y":4}, {"label":"7,14", "x":22.75, "y":4}, {"label":"8,15?", "x":23.75, "y":4}]
         }
index de43d1b..8749408 100644 (file)
@@ -71,6 +71,21 @@ LAYOUT_all( \
     k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,         k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
 )
 
+#define LAYOUT_103key_iso( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9,         k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10,            k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14,         \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9,         k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,             k_8_14, k_7_14          \
+) \
+LAYOUT_all( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9, KC_NO,  k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10, KC_NO,     k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14, KC_NO,  \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9, KC_NO , k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
+)
+
 // layout 107key, is in the configuration shown by kishy.ca, the difference from _all, is that the backspace, and right shift are not split.
 #define LAYOUT_107key( \
     k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9,         k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
index 6b8ab98..3584466 100644 (file)
@@ -71,6 +71,21 @@ LAYOUT_all( \
     k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,         k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
 )
 
+#define LAYOUT_103key_iso( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9,         k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10,            k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14,         \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9,         k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,             k_8_14, k_7_14          \
+) \
+LAYOUT_all( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9, KC_NO,  k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10, KC_NO,     k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14, KC_NO,  \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9, KC_NO , k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
+)
+
 // layout 107key, is in the configuration shown by kishy.ca, the difference from _all, is that the backspace, and right shift are not split.
 #define LAYOUT_107key( \
     k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9,         k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
index 4cab0d3..8749408 100644 (file)
@@ -71,6 +71,20 @@ LAYOUT_all( \
     k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,         k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
 )
 
+#define LAYOUT_103key_iso( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9,         k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10,            k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14,         \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9,         k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,             k_8_14, k_7_14          \
+) \
+LAYOUT_all( \
+    k_3_1, k_3_2,   k_2_3, k_1_3, k_1_4, k_2_5, k_1_5, k_2_6, k_1_6, k_2_7, k_1_7, k_2_8, k_1_8, k_2_9, k_1_9, KC_NO,  k_1_10, k_1_11, k_2_12, k_1_12,     k_1_13, k_1_14, k_2_15, k_1_15, \
+    k_4_1, k_4_2,   k_3_3,     k_2_4, k_3_4, k_4_5, k_3_5, k_4_6, k_3_6, k_4_7, k_3_7, k_4_8, k_3_8, k_3_9, k_3_10, KC_NO,     k_3_11, k_4_12, k_3_12,     k_3_13, k_3_14, k_2_14, k_3_15, \
+    k_5_1, k_5_2,   k_4_3,       k_4_4, k_5_4, k_6_5, k_5_5, k_6_6, k_5_6, k_5_7, k_6_7, k_6_8, k_5_8, k_5_9, k_4_9, k_5_10,   k_5_11, k_4_11, k_5_12,     k_5_13, k_4_14, k_5_14, KC_NO,  \
+    k_6_1, k_6_2,   k_5_3,    k_6_3, k_7_4, k_6_4, k_7_5, k_8_5, k_7_6, k_7_7, k_8_7, k_8_8, k_7_8, k_6_9, KC_NO , k_7_10,     k_6_11, k_6_12, k_7_12,     k_7_13, k_6_13, k_6_14, k_7_15, \
+    k_7_1, k_7_2,   k_8_3,       k_7_3,  k_8_4,                     k_8_6,                      k_8_9, k_7_9, k_8_10,          k_8_11, k_7_11, k_8_12,     KC_NO,  k_8_14, k_7_14, KC_NO   \
+)
 
 // layout 107key, is in the configuration shown by kishy.ca, the difference from _all, is that the backspace, and right shift are not split.
 #define LAYOUT_107key( \
index 72a02ff..6d57114 100644 (file)
@@ -9866,6 +9866,111 @@ struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_a
     { .row = 7, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
 };
+struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_103key_iso_keys[] = {
+    { .row = 2, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 11.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 12.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 13.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 14.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 15.250000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 17.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 18.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 19.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 20.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 21.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 22.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 23.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.250000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 3.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 5.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 8.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 10.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 11.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 14.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 17.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 18.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 19.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 20.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 21.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 22.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 23.750000, .y = 1.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.000000, .y = 1.000000, .w = 1.249000, .h = 2.000000 },
+    { .row = 4, .col = 10, .x = 17.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 18.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 19.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 20.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 21.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 22.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 14.500000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 17.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 18.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 19.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 20.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 21.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 22.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 23.750000, .y = 3.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.250000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 13.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 17.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 18.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 19.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
 struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_107key_keys[] = {
     { .row = 2, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -9981,6 +10086,11 @@ struct lay_def keyboards_xwhatsit_ibm_f107_universal_universal_c_lays[] = {
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_ansi_keys[0]),
         .keys = keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_ansi_keys,
     },
+    {
+        .lay_name = "LAYOUT_103key_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_103key_iso_keys) / sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_103key_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_103key_iso_keys,
+    },
     {
         .lay_name = "LAYOUT_107key",
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_107key_keys) / sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_107key_keys[0]),
@@ -10207,6 +10317,111 @@ struct key_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_102key_ansi_keys
     { .row = 3, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 1, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
 };
+struct key_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_103key_iso_keys[] = {
+    { .row = 5, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 11.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 13.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 15.250000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 17.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 18.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 19.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 20.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 21.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 22.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 23.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 2.250000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 3.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 5.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 10.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 14.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 17.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 18.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 19.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 20.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 21.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 22.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 23.750000, .y = 1.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 15.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 16.000000, .y = 1.000000, .w = 1.249000, .h = 2.000000 },
+    { .row = 2, .col = 10, .x = 17.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 18.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 19.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 20.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 21.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 22.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 14.500000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 17.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 18.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 19.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 20.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 21.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 22.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 23.750000, .y = 3.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.250000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 14.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 18.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 19.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
 struct key_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_107key_keys[] = {
     { .row = 5, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -10322,6 +10537,11 @@ struct lay_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_lays[] = {
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_102key_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_102key_ansi_keys[0]),
         .keys = keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_102key_ansi_keys,
     },
+    {
+        .lay_name = "LAYOUT_103key_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_103key_iso_keys) / sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_103key_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_103key_iso_keys,
+    },
     {
         .lay_name = "LAYOUT_107key",
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_107key_keys) / sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_107key_keys[0]),
@@ -10548,6 +10768,111 @@ struct key_def keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_102key_ans
     { .row = 7, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
 };
+struct key_def keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_103key_iso_keys[] = {
+    { .row = 2, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 11.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 12.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 13.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 14.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 15.250000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 17.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 18.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 19.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 20.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 21.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 22.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 23.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.250000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 3.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 5.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 8.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 10.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 11.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 14.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 17.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 18.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 19.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 20.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 21.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 22.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 23.750000, .y = 1.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.000000, .y = 1.000000, .w = 1.249000, .h = 2.000000 },
+    { .row = 4, .col = 10, .x = 17.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 18.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 19.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 20.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 21.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 22.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 14.500000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 17.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 18.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 19.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 20.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 21.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 22.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 23.750000, .y = 3.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.250000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 13.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 17.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 18.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 19.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
 struct key_def keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_107key_keys[] = {
     { .row = 2, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -10663,6 +10988,11 @@ struct lay_def keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_lays[] = {
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_102key_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_102key_ansi_keys[0]),
         .keys = keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_102key_ansi_keys,
     },
+    {
+        .lay_name = "LAYOUT_103key_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_103key_iso_keys) / sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_103key_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_103key_iso_keys,
+    },
     {
         .lay_name = "LAYOUT_107key",
         .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_107key_keys) / sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_xwhatsit_c_LAYOUT_107key_keys[0]),