typewriter_65_85_95: added preliminary support
[jackhill/qmk/firmware.git] / keyboards / xwhatsit / util / util / kbd_defs.cpp
index 17b8d23..9730dac 100644 (file)
@@ -6180,6 +6180,294 @@ struct lay_def keyboards_xwhatsit_ibm_3101_3727_3278_87key_xwhatsit_rev4_xwhatsi
         .keys = keyboards_xwhatsit_ibm_3101_3727_3278_87key_xwhatsit_rev4_xwhatsit_rev4_c_LAYOUT_keys,
     },
 };
+struct key_def keyboards_xwhatsit_ibm_3178_universal_universal_c_LAYOUT_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.500000, .y = 0.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 17.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 18.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 20.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 21.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 22.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 16.000000, .y = 1.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 18.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 20.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 21.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 22.250000, .y = 1.000000, .w = 1.000000, .h = 1.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 = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 4, .col = 9, .x = 17.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 18.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 20.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 21.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 22.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .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 = 6, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 14.750000, .y = 3.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 18.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 20.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 21.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 22.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 4.500000, .y = 4.000000, .w = 9.750000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_3178_universal_universal_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_3178_universal_universal_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_3178_universal_universal_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_3178_universal_universal_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_3178_wcass_wcass_c_LAYOUT_keys[] = {
+    { .row = 6, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 15.500000, .y = 0.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 18.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 20.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 21.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 22.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 16.000000, .y = 1.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 18.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 20.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 21.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 22.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 0, .col = 9, .x = 17.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 18.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 20.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 21.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 22.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 14.750000, .y = 3.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 18.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 20.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 21.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 22.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 4.500000, .y = 4.000000, .w = 9.750000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 14.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_3178_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_3178_wcass_wcass_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_3178_wcass_wcass_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_3178_wcass_wcass_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_LAYOUT_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.500000, .y = 0.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 17.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 18.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 20.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 21.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 22.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 16.000000, .y = 1.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 18.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 20.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 21.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 22.250000, .y = 1.000000, .w = 1.000000, .h = 1.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 = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 4, .col = 9, .x = 17.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 18.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 20.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 21.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 22.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .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 = 6, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 14.750000, .y = 3.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 18.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 20.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 21.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 22.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 4.500000, .y = 4.000000, .w = 9.750000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_LAYOUT_keys,
+    },
+};
 struct key_def keyboards_xwhatsit_ibm_3276_3278_75key_universal_universal_c_LAYOUT_keys[] = {
     { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -7811,116 +8099,1484 @@ struct lay_def keyboards_xwhatsit_ibm_displaywriter_xwhatsit_xwhatsit_c_lays[] =
         .keys = keyboards_xwhatsit_ibm_displaywriter_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
     },
 };
-struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_ansi_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 = 3, .col = 9, .x = 15.750000, .y = 1.000000, .w = 1.500000, .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 = 4, .col = 9, .x = 15.000000, .y = 2.000000, .w = 2.250000, .h = 1.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 = 2.250000, .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_f104_universal_universal_c_LAYOUT_all_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 16.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 5.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 14.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 15.750000, .y = 6.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_all_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 },
+struct key_def keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_default_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 4.000000, .w = 1.250000, .h = 2.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_fullrightside_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f104_universal_universal_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_fullrightside",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_fullrightside_keys) / sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_fullrightside_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_ansi_fullrightside_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_universal_universal_c_LAYOUT_default_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_all_keys[] = {
+    { .row = 6, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 16.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 16.250000, .y = 5.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 14.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 15.750000, .y = 6.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_default_keys[] = {
+    { .row = 6, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 16.250000, .y = 4.000000, .w = 1.250000, .h = 2.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_keys[] = {
+    { .row = 6, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_fullrightside_keys[] = {
+    { .row = 6, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f104_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_fullrightside",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_fullrightside_keys) / sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_fullrightside_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_ansi_fullrightside_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_wcass_wcass_c_LAYOUT_default_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 16.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 5.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 14.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 15.750000, .y = 6.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_default_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 4.000000, .w = 1.250000, .h = 2.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_fullrightside_keys[] = {
+    { .row = 0, .col = 0, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 13.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 14.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 15.500000, .y = 3.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 5.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.250000, .y = 5.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 18.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 19.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.000000, .y = 5.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 6.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 14.750000, .y = 6.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 19.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 20.000000, .y = 6.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 7.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 7.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 19.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 20.000000, .y = 7.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_fullrightside",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_fullrightside_keys) / sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_fullrightside_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_ansi_fullrightside_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_LAYOUT_default_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f107_universal_universal_c_LAYOUT_102key_ansi_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 = 3, .col = 9, .x = 15.750000, .y = 1.000000, .w = 1.500000, .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 = 4, .col = 9, .x = 15.000000, .y = 2.000000, .w = 2.250000, .h = 1.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 = 2.250000, .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_all_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 },
@@ -11394,7 +13050,69 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys[] = {
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[] = {
+    { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11408,7 +13126,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shif
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11456,7 +13175,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shif
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11470,8 +13189,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shif
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11510,7 +13228,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shif
     { .row = 3, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 1, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -11519,7 +13238,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shif
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11533,7 +13252,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11582,7 +13302,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11596,8 +13316,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11611,7 +13330,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 5, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
     { .row = 7, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
@@ -11624,8 +13343,9 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 0, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
@@ -11636,8 +13356,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 3, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 1, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -11646,7 +13365,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_spli
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11660,7 +13379,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11709,7 +13429,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11723,8 +13443,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11764,7 +13483,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift
     { .row = 3, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 1, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -11773,7 +13493,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[] = {
     { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11787,7 +13507,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split
     { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11837,124 +13558,377 @@ struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split
     { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[] = {
-    { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+struct lay_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct lay_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_lays[] = {
-    {
-        .lay_name = "LAYOUT_all",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_all_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_default",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys,
-    },
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[] = {
     { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -11968,7 +13942,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_key
     { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
@@ -11995,8 +13970,70 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_key
     { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
     { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
@@ -12018,7 +14055,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_key
     { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys[] = {
     { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -12047,7 +14084,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[]
     { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
@@ -12061,7 +14098,6 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[]
     { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
     { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
     { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
@@ -12074,8 +14110,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[]
     { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
     { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -12084,7 +14119,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[]
     { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[] = {
     { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -12112,7 +14147,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
@@ -12125,8 +14160,9 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
@@ -12137,7 +14173,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -12146,7 +14183,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys[] = {
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[] = {
     { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -12175,7 +14212,7 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
     { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
@@ -12188,8 +14225,9 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
@@ -12200,7 +14238,8 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
     { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
@@ -12209,742 +14248,1379 @@ struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regula
     { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+struct lay_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys[] = {
+    { .row = 3, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_fat_universal_universal_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys[] = {
+    { .row = 7, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.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 = 0, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_fat_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
+    { .row = 3, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+struct lay_def keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_all_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 12.750000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 14.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.750000, .y = 3.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 21.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.250000, .y = 4.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 19.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 21.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_ansi_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_iso_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_fext_universal_universal_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_ansi_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_iso_keys) / sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_universal_universal_c_LAYOUT_iso_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_all_keys[] = {
+    { .row = 6, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 14.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.750000, .y = 3.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 21.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 12.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.250000, .y = 4.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 18.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 21.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_ansi_keys[] = {
+    { .row = 6, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[] = {
-    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 2, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 13.750000, .y = 1.000000, .w = 1.250000, .h = 2.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 13.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 1.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 4.000000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_iso_keys[] = {
+    { .row = 6, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct lay_def keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_lays[] = {
+struct lay_def keyboards_xwhatsit_ibm_fext_wcass_wcass_c_lays[] = {
     {
         .lay_name = "LAYOUT_all",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_default",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_default_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys,
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_all_keys,
     },
     {
-        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
-    },
-    {
-        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_ansi_keys,
     },
     {
-        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_xwhatsit_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+        .lay_name = "LAYOUT_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_iso_keys) / sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_wcass_wcass_c_LAYOUT_iso_keys,
     },
 };
-struct key_def keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys[] = {
-    { .row = 3, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 6, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 14.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.750000, .y = 3.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 21.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 12.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.250000, .y = 4.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 18.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 19.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 21.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct lay_def keyboards_xwhatsit_ibm_fat_universal_universal_c_lays[] = {
-    {
-        .lay_name = "LAYOUT_all",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_fat_universal_universal_c_LAYOUT_all_keys,
-    },
+struct key_def keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 13.500000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct key_def keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys[] = {
-    { .row = 7, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.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 = 0, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 0, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 0, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 1, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+struct key_def keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_iso_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 13.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 14.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 17.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 4.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 7.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 10.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 11.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.000000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.000000, .y = 1.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 15.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 16.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 17.250000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 18.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 19.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 20.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 21.500000, .y = 1.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 2.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 1.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 6.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 8.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 18.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 19.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 20.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 21.500000, .y = 2.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.500000, .w = 1.750000, .h = 1.000000 },
+    { .row = 4, .col = 0, .x = 1.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 7.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 18.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 19.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 20.500000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 5.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 10.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 11.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 12.250000, .y = 4.500000, .w = 2.750000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 16.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 18.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 12, .x = 19.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 20.500000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 21.500000, .y = 4.500000, .w = 1.000000, .h = 2.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 1.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 2.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 4.000000, .y = 5.500000, .w = 7.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 11.000000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 12.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 13.500000, .y = 5.500000, .w = 1.500000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 15.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 16.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 17.250000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 18.500000, .y = 5.500000, .w = 2.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 20.500000, .y = 5.500000, .w = 1.000000, .h = 1.000000 },
 };
-struct lay_def keyboards_xwhatsit_ibm_fat_wcass_wcass_c_lays[] = {
+struct lay_def keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_lays[] = {
     {
         .lay_name = "LAYOUT_all",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_fat_wcass_wcass_c_LAYOUT_all_keys,
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
     },
-};
-struct key_def keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys[] = {
-    { .row = 3, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 0, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 1, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 2, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 3, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 4, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 4, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 5, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 6, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 7, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 7, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 8, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 8, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 9, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 10, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 11, .x = 15.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 12, .x = 16.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 14, .x = 18.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 14, .x = 19.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 15, .x = 20.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 0, .col = 15, .x = 21.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 1, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 2, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 3, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 4, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 5, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 5, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 6, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 7, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 8, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 8, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 9, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 10, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 11, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 11, .x = 16.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 3, .col = 13, .x = 18.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 14, .x = 19.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 15, .x = 20.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 15, .x = 21.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 1, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 4, .col = 3, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 3, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 4, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 5, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 6, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 6, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 7, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 9, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 9, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 10, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 10, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 11, .x = 16.250000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 4, .col = 13, .x = 18.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 14, .x = 19.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 14, .x = 20.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 4, .col = 15, .x = 21.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
-    { .row = 5, .col = 2, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 3, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 4, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 4, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 5, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 6, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 6, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 7, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 8, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 9, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 9, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 10, .x = 14.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 11, .x = 15.750000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
-    { .row = 6, .col = 13, .x = 18.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 14, .x = 19.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 15, .x = 20.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 15, .x = 21.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 2, .x = 2.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 3, .x = 5.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 5, .x = 6.500000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
-    { .row = 7, .col = 7, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 11, .x = 16.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
-    { .row = 7, .col = 13, .x = 18.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 14, .x = 19.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 14, .x = 20.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 15, .x = 21.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
-};
-struct lay_def keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_lays[] = {
     {
-        .lay_name = "LAYOUT_all",
-        .n_keys = sizeof(keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys[0]),
-        .keys = keyboards_xwhatsit_ibm_fat_xwhatsit_xwhatsit_c_LAYOUT_all_keys,
+        .lay_name = "LAYOUT_ansi",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys) / sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_iso_keys) / sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_iso_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_LAYOUT_iso_keys,
     },
 };
 struct key_def keyboards_xwhatsit_ibm_fssk_universal_universal_c_LAYOUT_all_keys[] = {
@@ -13099,7 +15775,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_universal_universal_c_LAYOUT_ansi_key
     { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13169,8 +15845,8 @@ struct key_def keyboards_xwhatsit_ibm_fssk_universal_universal_c_LAYOUT_iso_keys
     { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
     { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
@@ -13186,7 +15862,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_universal_universal_c_LAYOUT_iso_keys
     { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 9, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13379,7 +16055,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_wcass_wcass_c_LAYOUT_ansi_keys[] = {
     { .row = 2, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 1, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 1, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13449,8 +16125,8 @@ struct key_def keyboards_xwhatsit_ibm_fssk_wcass_wcass_c_LAYOUT_iso_keys[] = {
     { .row = 0, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 1, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 7, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 0, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
     { .row = 7, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 7, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
@@ -13466,7 +16142,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_wcass_wcass_c_LAYOUT_iso_keys[] = {
     { .row = 2, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 0, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 2, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 2, .col = 9, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
     { .row = 3, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13659,7 +16335,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_xwhatsit_xwhatsit_c_LAYOUT_ansi_keys[
     { .row = 5, .col = 6, .x = 8.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 9, .x = 12.750000, .y = 3.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 2.250000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13729,8 +16405,8 @@ struct key_def keyboards_xwhatsit_ibm_fssk_xwhatsit_xwhatsit_c_LAYOUT_iso_keys[]
     { .row = 4, .col = 6, .x = 9.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 7, .x = 10.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 8, .x = 11.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 6, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 3, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
+    { .row = 4, .col = 8, .x = 12.500000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 13.750000, .y = 2.500000, .w = 1.250000, .h = 2.000000 },
     { .row = 3, .col = 10, .x = 15.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 10, .x = 16.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 3, .col = 11, .x = 17.250000, .y = 2.500000, .w = 1.000000, .h = 1.000000 },
@@ -13746,7 +16422,7 @@ struct key_def keyboards_xwhatsit_ibm_fssk_xwhatsit_xwhatsit_c_LAYOUT_iso_keys[]
     { .row = 5, .col = 7, .x = 9.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 4, .col = 7, .x = 10.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 5, .col = 8, .x = 11.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
-    { .row = 5, .col = 9, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 12.750000, .y = 3.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 0, .x = 0.000000, .y = 4.500000, .w = 1.250000, .h = 1.000000 },
     { .row = 7, .col = 1, .x = 1.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
     { .row = 6, .col = 1, .x = 2.250000, .y = 4.500000, .w = 1.000000, .h = 1.000000 },
@@ -13787,6 +16463,134 @@ struct lay_def keyboards_xwhatsit_ibm_fssk_xwhatsit_xwhatsit_c_lays[] = {
         .keys = keyboards_xwhatsit_ibm_fssk_xwhatsit_xwhatsit_c_LAYOUT_iso_keys,
     },
 };
+struct key_def keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_all_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 15.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 13.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 3.000000, .y = 4.000000, .w = 6.750000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 9.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 10.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_default_keys[] = {
+    { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 3.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 4.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 5.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 6.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 10.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 11.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 12.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 13.000000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 15.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 2.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 6.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 7.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 8.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 9.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 10.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 11.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 12.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 2.000000 },
+    { .row = 2, .col = 0, .x = 0.000000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 1.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 3.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 4.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 5.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 6.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 7.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 8.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 9.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 10.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 11.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 0.000000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 3.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 4.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 5.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 6.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 7.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 8.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 9.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 10.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 11.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 3.000000, .y = 4.000000, .w = 8.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_LAYOUT_default_keys,
+    },
+};
 struct key_def keyboards_xwhatsit_sneakyrobb_beam104_universal_universal_c_LAYOUT_keys[] = {
     { .row = 0, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
     { .row = 1, .col = 1, .x = 2.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
@@ -13957,6 +16761,27 @@ struct kbd_def keyboards[] = {
         .cols = 23,
         .rows = 4,
     },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/3178/universal/universal.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_3178_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_3178_universal_universal_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_3178_universal_universal_c_lays,
+        .cols = 12,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/3178/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_3178_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_3178_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_3178_wcass_wcass_c_lays,
+        .cols = 12,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/3178/xwhatsit/xwhatsit.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_lays)/sizeof(keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_3178_xwhatsit_xwhatsit_c_lays,
+        .cols = 12,
+        .rows = 8,
+    },
     {
         .kbd_name = "keyboards/xwhatsit/ibm/3276_3278_75key/universal/universal.c",
         .n_layouts = sizeof(keyboards_xwhatsit_ibm_3276_3278_75key_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_3276_3278_75key_universal_universal_c_lays[0]),
@@ -14048,6 +16873,27 @@ struct kbd_def keyboards[] = {
         .cols = 12,
         .rows = 8,
     },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f104/universal/universal.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_f104_universal_universal_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f104_universal_universal_c_lays,
+        .cols = 14,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f104/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_f104_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f104_wcass_wcass_c_lays,
+        .cols = 14,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f104/xwhatsit/xwhatsit.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_lays)/sizeof(keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f104_xwhatsit_xwhatsit_c_lays,
+        .cols = 14,
+        .rows = 8,
+    },
     {
         .kbd_name = "keyboards/xwhatsit/ibm/f107/universal/universal.c",
         .n_layouts = sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_f107_universal_universal_c_lays[0]),
@@ -14153,6 +16999,27 @@ struct kbd_def keyboards[] = {
         .cols = 16,
         .rows = 8,
     },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/fext/universal/universal.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_fext_universal_universal_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_fext_universal_universal_c_lays,
+        .cols = 15,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/fext/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_fext_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_fext_wcass_wcass_c_lays,
+        .cols = 15,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/fext/xwhatsit/xwhatsit.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_lays)/sizeof(keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_fext_xwhatsit_xwhatsit_c_lays,
+        .cols = 15,
+        .rows = 8,
+    },
     {
         .kbd_name = "keyboards/xwhatsit/ibm/fssk/universal/universal.c",
         .n_layouts = sizeof(keyboards_xwhatsit_ibm_fssk_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_fssk_universal_universal_c_lays[0]),
@@ -14174,6 +17041,13 @@ struct kbd_def keyboards[] = {
         .cols = 12,
         .rows = 8,
     },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/typewriter_65_85_95/universal/universal.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_typewriter_65_85_95_universal_universal_c_lays,
+        .cols = 16,
+        .rows = 4,
+    },
     {
         .kbd_name = "keyboards/xwhatsit/sneakyrobb/beam104/universal/universal.c",
         .n_layouts = sizeof(keyboards_xwhatsit_sneakyrobb_beam104_universal_universal_c_lays)/sizeof(keyboards_xwhatsit_sneakyrobb_beam104_universal_universal_c_lays[0]),