xhwatsit util gui: updates for simple monitor
authorPurdea Andrei <andrei@purdea.ro>
Sat, 30 May 2020 20:00:51 +0000 (23:00 +0300)
committerPurdea Andrei <andrei@purdea.ro>
Sun, 31 May 2020 10:16:56 +0000 (13:16 +0300)
15 files changed:
keyboards/xwhatsit/util/util/communication.cpp
keyboards/xwhatsit/util/util/communication.h
keyboards/xwhatsit/util/util/device.cpp
keyboards/xwhatsit/util/util/device.h
keyboards/xwhatsit/util/util/generate_layout.py [new file with mode: 0755]
keyboards/xwhatsit/util/util/hidthread.cpp
keyboards/xwhatsit/util/util/hidthread.h
keyboards/xwhatsit/util/util/kbd_defs.cpp [new file with mode: 0644]
keyboards/xwhatsit/util/util/kbd_defs.h [new file with mode: 0644]
keyboards/xwhatsit/util/util/mainwindow.cpp
keyboards/xwhatsit/util/util/mainwindow.h
keyboards/xwhatsit/util/util/monitorwindow.cpp
keyboards/xwhatsit/util/util/monitorwindow.h
keyboards/xwhatsit/util/util/monitorwindow.ui
keyboards/xwhatsit/util/util/util.pro

index 8c6c823..e669fdb 100644 (file)
@@ -49,7 +49,7 @@ std::vector<std::string> Communication::scan()
     return ret;
 }
 
-Device Communication::open(std::string path)
+Device *Communication::open(std::string path)
 {
-    return Device(path, mutex);
+    return new Device(path, mutex);
 }
index 58d2805..812fdb0 100644 (file)
@@ -12,7 +12,7 @@ public:
     Communication();
     virtual ~Communication();
     std::vector<std::string> scan();
-    Device open(std::string path);
+    Device *open(std::string path);
 private:
     QMutex mutex;
 };
index ad6b6c9..7aa9c4d 100644 (file)
@@ -1,6 +1,7 @@
 #include "device.h"
 #include <stdexcept>
 #include <string.h>
+#include <stdio.h>
 #include "../../util_comm.h"
 
 const std::string XWHATSIT_ENDING_STRING = " (Running original xwhatsit firmware)";
@@ -61,11 +62,24 @@ Device::Device(std::string path, QMutex &mutex) :
             hid_close(device);
             throw std::runtime_error("hid_read did not return OK response");
         }
-        if (data[3] != UTIL_COMM_VERSION)
+        version = static_cast<uint32_t>(data[3]);
+        if (version < 1)
         {
             hid_close(device);
             throw std::runtime_error("Protocol version is wrong");
         }
+        if (version >= 2)
+        {
+            version = (static_cast<uint32_t>(data[3]) << 24) |
+                      (static_cast<uint32_t>(data[4]) << 16) |
+                      (static_cast<uint32_t>(data[5]) << 8 ) |
+                      (static_cast<uint32_t>(data[6]) << 0 );
+                                                        ;
+        } else {
+            version = static_cast<uint32_t>(data[3]) << 24;
+        }
+    } else {
+        version = 0;
     }
 }
 
@@ -110,3 +124,204 @@ void Device::enterBootloader()
     }
     close();
 }
+
+void Device::enableKeyboard()
+{
+    QMutexLocker locker(&mutex);
+    if (xwhatsit_original_firmware)
+    {
+        throw std::runtime_error("This doesn't work with xwhatsit original firmware");
+    }
+    uint8_t data[33];
+    data[0] = 0;
+    memcpy(data + 1, magic, sizeof(magic));
+    data[2+1] = UTIL_COMM_ENABLE_KEYBOARD;
+    if (-1==hid_write(device, data, sizeof(data)))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_write failed to enable keyboard");
+    }
+    if ((sizeof(data)-1)!=hid_read_timeout(device, data, sizeof(data)-1, 1000))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_read failed while enabling keyboard");
+    }
+    if ((data[0] != magic[0]) || (data[1] != magic[1]))
+    {
+        throw std::runtime_error("hid_read failed while enabling keyboard -- no magic returned");
+    }
+    if (data[2] != UTIL_COMM_RESPONSE_OK)
+    {
+        throw std::runtime_error("hid_read failed while enabling keyboard -- response not okay");
+    }
+}
+
+void Device::disableKeyboard()
+{
+    QMutexLocker locker(&mutex);
+    if (xwhatsit_original_firmware)
+    {
+        throw std::runtime_error("This doesn't work with xwhatsit original firmware");
+    }
+    uint8_t data[33];
+    data[0] = 0;
+    memcpy(data + 1, magic, sizeof(magic));
+    data[2+1] = UTIL_COMM_DISABLE_KEYBOARD;
+    if (-1==hid_write(device, data, sizeof(data)))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_write failed to disable keyboard");
+    }
+    if ((sizeof(data)-1)!=hid_read_timeout(device, data, sizeof(data)-1, 1000))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_read failed while disabling keyboard");
+    }
+    if ((data[0] != magic[0]) || (data[1] != magic[1]))
+    {
+        throw std::runtime_error("hid_read failed while disabling keyboard -- no magic returned");
+    }
+    if (data[2] != UTIL_COMM_RESPONSE_OK)
+    {
+        throw std::runtime_error("hid_read failed while disabling keyboard -- response not okay");
+    }
+}
+
+std::vector<std::vector<uint8_t>> Device::getThresholds()
+{
+    QMutexLocker locker(&mutex);
+    std::vector<std::vector<uint8_t>> ret;
+    if (xwhatsit_original_firmware)
+    {
+        throw std::runtime_error("This doesn't work with xwhatsit original firmware");
+    }
+    uint8_t bins;
+    uint8_t current_bin = 0;
+    do {
+        uint8_t data[33];
+        data[0] = 0;
+        memcpy(data + 1, magic, sizeof(magic));
+        data[2+1] = UTIL_COMM_GET_THRESHOLDS;
+        data[3+1] = current_bin;
+        if (-1==hid_write(device, data, sizeof(data)))
+        {
+            printf("hid error: %ls\n", hid_error(device));
+            throw std::runtime_error("hid_write failed to disable keyboard");
+        }
+        if ((sizeof(data)-1)!=hid_read_timeout(device, data, sizeof(data)-1, 1000))
+        {
+            printf("hid error: %ls\n", hid_error(device));
+            throw std::runtime_error("hid_read failed while getting thresholds");
+        }
+        if ((data[0] != magic[0]) || (data[1] != magic[1]))
+        {
+            throw std::runtime_error("hid_read failed while getting thresholds -- no magic returned");
+        }
+        if (data[2] != UTIL_COMM_RESPONSE_OK)
+        {
+            throw std::runtime_error("hid_read failed while getting thresholds -- response not okay");
+        }
+        std::vector<uint8_t> trdata(&data[3], &data[33]);
+        ret.push_back(trdata);
+        bins = data[3];
+        current_bin ++;
+    } while (current_bin < bins);
+    return ret;
+}
+
+std::vector<uint8_t> Device::getKeyState()
+{
+    QMutexLocker locker(&mutex);
+    if (xwhatsit_original_firmware)
+    {
+        throw std::runtime_error("This doesn't work with xwhatsit original firmware");
+    }
+    uint8_t data[33];
+    data[0] = 0;
+    memcpy(data + 1, magic, sizeof(magic));
+    data[2+1] = UTIL_COMM_GET_KEYSTATE;
+    if (-1==hid_write(device, data, sizeof(data)))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_write failed to get keystate");
+    }
+    if ((sizeof(data)-1)!=hid_read_timeout(device, data, sizeof(data)-1, 1000))
+    {
+        printf("hid error: %ls\n", hid_error(device));
+        throw std::runtime_error("hid_read failed while getting keystate");
+    }
+    if ((data[0] != magic[0]) || (data[1] != magic[1]))
+    {
+        throw std::runtime_error("hid_read failed while getting keystate -- no magic returned");
+    }
+    if (data[2] != UTIL_COMM_RESPONSE_OK)
+    {
+        throw std::runtime_error("hid_read failed while getting keystate -- response not okay");
+    }
+    std::vector<uint8_t> ret(&data[3], &data[33]);
+    return ret;
+}
+
+uint32_t Device::getVersion()
+{
+    return version;
+}
+
+bool Device::isVersionAtLeast(uint8_t major, uint8_t mid, uint16_t minor)
+{
+    if ((version >> 24) > major) return true;
+    if ((version >> 24) < major) return false;
+    if (((version >> 16) & 0xff) > mid) return true;
+    if (((version >> 16) & 0xff) < mid) return false;
+    if ((version & 0xffff) >= minor) return true;
+    return false;
+}
+
+void Device::assertVersionIsAtLeast(uint8_t major, uint8_t mid, uint16_t minor)
+{
+    if (!isVersionAtLeast(major, mid, minor))
+        throw std::runtime_error("Version of communication protocl is too old. Please update your firmware.");
+}
+
+std::string Device::getKeyboardFilename()
+{
+    QMutexLocker locker(&mutex);
+    if (xwhatsit_original_firmware)
+    {
+        throw std::runtime_error("This doesn't work with xwhatsit original firmware");
+    }
+    int start = 0;
+    std::string s;
+    std::string piece;
+    do
+    {
+        uint8_t data[33];
+        data[0] = 0;
+        memcpy(data + 1, magic, sizeof(magic));
+        data[2+1] = UTIL_COMM_GET_KEYBOARD_FILENAME;
+        data[4] = static_cast<uint8_t>(start);
+        if (-1==hid_write(device, data, sizeof(data)))
+        {
+            printf("hid error: %ls\n", hid_error(device));
+            throw std::runtime_error("hid_write failed to get keyboard firmware");
+        }
+        if ((sizeof(data)-1)!=hid_read_timeout(device, data, sizeof(data)-1, 1000))
+        {
+            printf("hid error: %ls\n", hid_error(device));
+            throw std::runtime_error("hid_read failed to get keyboard firmware");
+        }
+        if ((data[0] != magic[0]) || (data[1] != magic[1]))
+        {
+            throw std::runtime_error("hid_read failed to get keyboard firmware -- no magic returned");
+        }
+        if (data[2] != UTIL_COMM_RESPONSE_OK)
+        {
+            throw std::runtime_error("hid_read failed to get keyboard firmware -- response not okay");
+        }
+        data[32] = 0;
+        piece = std::string(reinterpret_cast<const char *>(data + 3));
+        s += piece;
+        start += piece.size();
+    } while ((piece.length() >= 32 - 3) && (start < 256));
+    return s;
+}
index 5a2c692..33eff6c 100644 (file)
@@ -16,10 +16,19 @@ public:
     virtual ~Device();
     void close();
     void enterBootloader();
+    void disableKeyboard();
+    void enableKeyboard();
+    uint32_t getVersion();
+    bool isVersionAtLeast(uint8_t major, uint8_t mid, uint16_t minor);
+    void assertVersionIsAtLeast(uint8_t major, uint8_t mid, uint16_t minor);
+    std::vector<std::vector<uint8_t>> getThresholds();
+    std::vector<uint8_t> getKeyState();
+    std::string getKeyboardFilename();
 private:
     hid_device *device = NULL;
     QMutex &mutex;
     bool xwhatsit_original_firmware;
+    uint32_t version;
 };
 
 #endif // DEVICE_H
diff --git a/keyboards/xwhatsit/util/util/generate_layout.py b/keyboards/xwhatsit/util/util/generate_layout.py
new file mode 100755 (executable)
index 0000000..5f92605
--- /dev/null
@@ -0,0 +1,107 @@
+#!/usr/bin/python2
+
+import re, glob, os, subprocess, tempfile, json
+
+
+
+def handle_layouts(layouth_fn, layoutc_fn, infojson_fn, config_fn):
+    config = open(config_fn, "r").read()
+    cols = int(re.findall(r"#define\s+MATRIX_COLS\s+([0-9]+)\n", config)[0])
+    rows = int(re.findall(r"#define\s+MATRIX_ROWS\s+([0-9]+)\n", config)[0])
+
+    f = open(infojson_fn, "r")
+    js = json.loads(f.read())['layouts']
+    f.close()
+
+    d = open(layouth_fn, "r").read().replace("\\\n", " ")
+    dd = re.findall(r'#define\s+(LAYOUT[a-zA-Z0-9_]*)\s*\(([^\)]*)\)', d)
+    temp_fn = ".__temp.c"
+    separator = "%%%%%%"
+    f = open(temp_fn, "w")
+    f.write("#include \"" + layouth_fn + "\"\n")
+    for l in dd:
+        le = len(l[1].split(","))
+        f.write(separator + l[0] + separator + "\n" + l[0] + "(" + (",".join([str(i) for i in range(le)])) + ")\n")
+    f.close()
+    i = os.path.split(os.path.abspath(layouth_fn))[0]
+    includes = []
+    while True:
+        includes.append(i)
+        i, j = os.path.split(i)
+        if j == "keyboards" or not i:
+            break
+    for i in "-Iusers/default -I. -Itmk_core -Iquantum -Iquantum/keymap_extras -Iquantum/audio -Iquantum/process_keycode -Iquantum/api -Idrivers -Idrivers/avr -Itmk_core/protocol -Itmk_core/common -Itmk_core/common/avr -Itmk_core/protocol/lufa -Ilib/lufa -Idrivers/avr".split(" "):
+        if i.startswith("-I"):
+            includes.append("../../../../" + i[2:])
+    p = subprocess.Popen(["gcc", "-E"] + ["-I" + i for i in includes] + ["-include", os.path.join(os.path.split(os.path.abspath(layouth_fn))[0], "config.h"), temp_fn], stdout=subprocess.PIPE)
+    data = p.communicate()[0].split(separator)
+    os.unlink(temp_fn)
+    del data[0]
+    laynames = []
+    keybname = re.sub(r'[^a-zA-Z0-9_]', '_', layoutc_fn)
+    for i in range(0, len(data), 2):
+        lname = data[i]
+        desc = "}".join(data[i+1].split("{", 1)[1].split("}")[:-1])
+        desc = [i.replace("{", "").replace("}", "") for i in re.findall("\{[^}]*\}", desc)]
+        desc = [[j.strip() for j in i.split(",")] for i in desc]
+        arr = []
+        for row in range(len(desc)):
+            for col in range(len(desc[row])):
+                if desc[row][col] != "KC_NO":
+                    ind = int(desc[row][col])
+                    while len(arr) <= ind:
+                        arr.append('')
+                    arr[ind] = (row, col)
+        layname = keybname + "_" + re.sub(r'[^a-zA-Z0-9_]', '_', lname)
+        print("struct key_def " + layname + "_keys[] = {")
+        for i in range(len(arr)):
+            item = js[lname]['layout'][i]
+            x = item['x']
+            y = item['y']
+            w = item['w'] if 'w' in item else 1
+            h = item['h'] if 'h' in item else 1
+            print ("    { .row = %d, .col = %d, .x = %f, .y = %f, .w = %f, .h = %f }," % (arr[i][0], arr[i][1], x, y, w, h))
+        print("};")
+        laynames.append((layname, lname))
+    print("struct lay_def " + keybname + "_lays[] = {")
+    for layname, lname in laynames:
+        print("    {")
+        print("        .lay_name = \"" + lname + "\",")
+        print("        .n_keys = sizeof(" + layname + "_keys) / sizeof(" + layname + "_keys[0]),")
+        print("        .keys = " + layname + "_keys,")
+        print("    },")
+    print("};")
+    return keybname, cols, rows
+
+
+def find_layouts(starting_dir):
+    print("#include \"kbd_defs.h\"")
+    keebs = []
+    for root, dirs, files in os.walk(starting_dir):
+        for fil in files:
+            layouth_fn = os.path.join(root, fil)
+            if layouth_fn.endswith(".h"):
+                spl1 = os.path.split(layouth_fn[:-2])
+                spl2 = os.path.split(spl1[0])
+                if spl1[1] == spl2[1]:
+                    infojson_fn = os.path.join(spl1[0], "info.json")
+                    config_fn = os.path.join(spl1[0], "config.h")
+                    layoutc_fn = "keyboards/xwhatsit" + layouth_fn[len(starting_dir):-2] + ".c"
+                    keybname, cols, rows = handle_layouts(layouth_fn, layoutc_fn, infojson_fn, config_fn)
+                    keebs.append((keybname, layoutc_fn, cols, rows))
+    print("struct kbd_def keyboards[] = {")
+    for keybname, layoutc_fn, cols, rows in keebs:
+        print("    {")
+        print("        .kbd_name = \"" + layoutc_fn + "\",")
+        print("        .n_layouts = sizeof(" + keybname + "_lays)/sizeof(" + keybname + "_lays[0]),")
+        print("        .layouts = " + keybname + "_lays,")
+        print("        .cols = %d," % (cols,))
+        print("        .rows = %d," % (rows,))
+        print("    },")
+    print("};")
+    print("int n_keyboards = sizeof(keyboards)/sizeof(keyboards[0]);")
+
+
+find_layouts("../..")
+
+
index f0b0280..a2e3e1d 100644 (file)
@@ -1,5 +1,6 @@
 #include "hidthread.h"
 #include <stdio.h>
+#include <iostream>
 
 HidThread::HidThread(Communication &comm, QObject *parent) : QThread(parent), comm(comm)
 {
@@ -7,6 +8,7 @@ HidThread::HidThread(Communication &comm, QObject *parent) : QThread(parent), co
     abort = false;
     enter_bootloader_path = "";
     autoenter_mode = false;
+    close_monitored_device = false;
 }
 
 HidThread::~HidThread()
@@ -42,20 +44,43 @@ void HidThread::enterBootloader(std::string path)
      condition.wakeOne();
 }
 
+void HidThread::monitor(std::string path)
+{
+    QMutexLocker locker(&mutex);
+    this->monitor_path = path;
+    condition.wakeOne();
+}
+
+void HidThread::closeMonitoredDevice()
+{
+    QMutexLocker locker(&mutex);
+    this->close_monitored_device = true;
+    condition.wakeOne();
+}
+
 void HidThread::run()
 {
+    Device *monitoredDevice = nullptr;
     forever {
         mutex.lock();
-        bool l_keep_scanning, l_abort, nothing_to_do, l_autoenter_mode;
+        bool l_keep_scanning, l_abort, nothing_to_do, l_autoenter_mode, l_close_monitored_device;
         std::string l_enter_bootloader_path;
+        std::string l_monitor_path;
         do {
             l_keep_scanning = this->keep_scanning;
             l_enter_bootloader_path = this->enter_bootloader_path;
+            l_monitor_path = this->monitor_path;
             l_autoenter_mode = this->autoenter_mode;
+            l_close_monitored_device = this->close_monitored_device;
             l_abort = this->abort;
-            nothing_to_do = (!l_keep_scanning) && (!l_abort) && (l_enter_bootloader_path.size()==0) && (!l_autoenter_mode);
+            nothing_to_do = (!l_keep_scanning) &&
+                            (!l_abort) &&
+                            (l_enter_bootloader_path.size()==0) &&
+                            (l_monitor_path.size()==0) &&
+                            (!l_autoenter_mode) &&
+                            (monitoredDevice == nullptr) &&
+                            (!l_close_monitored_device);
             if (nothing_to_do) {
-                printf("Sleeping\n");
                 condition.wait(&mutex);
             }
         } while (nothing_to_do);
@@ -65,8 +90,8 @@ void HidThread::run()
         if (l_enter_bootloader_path.size() != 0)
         {
             try {
-                Device dev = comm.open(l_enter_bootloader_path);
-                dev.enterBootloader();
+                QScopedPointer<Device> dev(comm.open(l_enter_bootloader_path));
+                dev.data()->enterBootloader();
             } catch (const std::runtime_error &e1) {
                 emit reportError(e1.what());
             }
@@ -74,6 +99,39 @@ void HidThread::run()
             this->enter_bootloader_path = "";
             mutex.unlock();
         }
+        if (l_monitor_path.size() != 0)
+        {
+            try {
+                QScopedPointer<Device> dev(comm.open(l_monitor_path));
+                dev.data()->assertVersionIsAtLeast(2, 0, 0);
+                std::string name = dev.data()->getKeyboardFilename();
+                emit keyboardName(name);
+                emit thresholds(dev.data()->getThresholds());
+                dev.data()->disableKeyboard();
+                monitoredDevice = dev.take();
+            } catch (const std::runtime_error &e1) {
+                emit reportMonitorError(e1.what());
+            }
+            mutex.lock();
+            this->monitor_path = "";
+            mutex.unlock();
+        }
+        if (l_close_monitored_device)
+        {
+            if (monitoredDevice != nullptr)
+            {
+                monitoredDevice->enableKeyboard();
+                delete monitoredDevice;
+                monitoredDevice = nullptr;
+            }
+            mutex.lock();
+            this->close_monitored_device = false;
+            mutex.unlock();
+        }
+        if (monitoredDevice != nullptr)
+        {
+            emit keystate(monitoredDevice->getKeyState());
+        }
         if (l_keep_scanning)
         {
             msleep(10);
@@ -84,8 +142,8 @@ void HidThread::run()
                 for(auto value : devices)
                 {
                     try {
-                        Device dev = comm.open(value);
-                        dev.enterBootloader();
+                        QScopedPointer<Device> dev(comm.open(value));
+                        dev.data()->enterBootloader();
                     } catch (...)
                     {
                         // Ignore errors
index 9d2428c..6b6c51e 100644 (file)
@@ -7,6 +7,7 @@
 #include <vector>
 #include <string>
 #include "communication.h"
+#include "device.h"
 
 class HidThread : public QThread
 {
@@ -18,9 +19,16 @@ public:
     bool setScanning(bool enabled);
     bool setAutoEnter(bool enabled);
     void enterBootloader(std::string path);
+    void monitor(std::string path);
+    void closeMonitoredDevice();
+    Device *connectToDevice(std::string path);
 signals:
     void scannedDevices(std::vector<std::string> devices);
     void reportError(std::string error_message);
+    void keyboardName(std::string name);
+    void thresholds(std::vector<std::vector<uint8_t>>);
+    void keystate(std::vector<uint8_t>);
+    void reportMonitorError(std::string error_message);
 
 protected:
     void run() override;
@@ -29,7 +37,9 @@ private:
     bool abort;
     bool keep_scanning;
     bool autoenter_mode;
+    bool close_monitored_device;
     std::string enter_bootloader_path;
+    std::string monitor_path;
     QMutex mutex;
     QWaitCondition condition;
     Communication &comm;
diff --git a/keyboards/xwhatsit/util/util/kbd_defs.cpp b/keyboards/xwhatsit/util/util/kbd_defs.cpp
new file mode 100644 (file)
index 0000000..18ef3e3
--- /dev/null
@@ -0,0 +1,4193 @@
+#include "kbd_defs.h"
+struct key_def keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys[] = {
+    { .row = 0, .col = 1, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 15, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 16, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 17, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 18, .x = 15.500000, .y = 0.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 20, .x = 17.250000, .y = 0.000000, .w = 3.000000, .h = 1.000000 },
+    { .row = 0, .col = 22, .x = 20.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 15, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 16, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 17, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 18, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 0, .col = 19, .x = 17.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 20, .x = 18.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 21, .x = 19.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 22, .x = 20.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 0.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 15, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 16, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 17, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 19, .x = 17.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 20, .x = 18.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 21, .x = 19.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 22, .x = 20.250000, .y = 2.000000, .w = 1.000000, .h = 3.000000 },
+    { .row = 3, .col = 1, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 17, .x = 14.750000, .y = 3.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 2, .col = 18, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 19, .x = 17.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 20, .x = 18.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 21, .x = 19.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 2.500000, .y = 4.000000, .w = 2.500000, .h = 1.000000 },
+    { .row = 3, .col = 16, .x = 5.000000, .y = 4.000000, .w = 8.750000, .h = 1.000000 },
+    { .row = 3, .col = 18, .x = 13.750000, .y = 4.000000, .w = 2.500000, .h = 1.000000 },
+    { .row = 3, .col = 21, .x = 16.250000, .y = 4.000000, .w = 3.000000, .h = 1.000000 },
+    { .row = 3, .col = 22, .x = 19.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_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 = 12, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_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 },
+    { .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 = 1, .col = 9, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.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 = 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 = 3, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 15.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.000000, .y = 2.000000, .w = 1.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 = 4, .col = 14, .x = 23.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 15.500000, .y = 3.000000, .w = 1.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 = 1.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 = 12, .x = 20.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 21.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 14, .x = 23.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys,
+    },
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_keys[] = {
+    { .row = 5, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 11.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 13.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 15.250000, .y = 0.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 17.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 18.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 19.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 20.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 21.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 22.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 23.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 2.250000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 3.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 5.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 10.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 14.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 15.750000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 17.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 18.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 19.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 20.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 21.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 22.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 23.750000, .y = 1.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 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 = 7, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 15.000000, .y = 2.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 17.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 18.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 19.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 20.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 21.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 22.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .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 = 0, .col = 2, .x = 2.250000, .y = 3.000000, .w = 2.250000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 14.500000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 17.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 18.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 19.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 20.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 21.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 22.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 23.750000, .y = 3.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.250000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 14.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 18.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 19.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 20.750000, .y = 4.000000, .w = 2.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_all_keys[] = {
+    { .row = 5, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 1.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 2.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 3.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 3, .x = 4.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 4, .x = 5.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 6.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 7.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 8.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 7, .x = 11.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 7, .x = 12.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 8, .x = 13.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 8, .x = 14.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 10, .x = 17.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 11, .x = 18.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 11, .x = 19.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 12, .x = 20.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 13, .x = 21.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 14, .x = 22.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 14, .x = 23.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 2.250000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 3.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 4.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 5.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 4, .x = 6.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 7.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 9.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 10.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 7, .x = 11.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 7, .x = 12.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 13.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 14.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 15.750000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 10, .x = 17.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 11, .x = 18.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 11, .x = 19.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 12, .x = 20.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 13, .x = 21.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 13, .x = 22.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 14, .x = 23.750000, .y = 1.000000, .w = 1.000000, .h = 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 = 7, .col = 2, .x = 2.250000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 6.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 11.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 12.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 13.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 14.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 15.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.000000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 17.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 10, .x = 18.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 19.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 20.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 13, .x = 21.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 22.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 23.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .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 = 0, .col = 2, .x = 2.250000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 4.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 6.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 11.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 12.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 13.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 14.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 15.500000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 17.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 18.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 19.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 20.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 21.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 22.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 23.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 3.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 6.250000, .y = 4.000000, .w = 7.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.250000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 14.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 15.750000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 18.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 19.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 20.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 21.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 22.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 23.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f107_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_keys,
+    },
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f107_wcass_wcass_c_LAYOUT_all_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_wcass_wcass_c_LAYOUT_default_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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .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 = 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_all_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 = 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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .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 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 },
+    { .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 = 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_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 },
+    { .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 = 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 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 },
+    { .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 = 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 = 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 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 },
+    { .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 = 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 = 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_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 },
+    { .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 = 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_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 },
+    { .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 = 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 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_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_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_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_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_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,
+    },
+    {
+        .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,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_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 key_def keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_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 },
+    { .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 = 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_modelf_xwhatsit_modelf_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 = 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_modelf_xwhatsit_modelf_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 },
+    { .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 = 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_modelf_xwhatsit_modelf_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_f62_xwhatsit_modelf_xwhatsit_modelf_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 lay_def keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_default",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_default_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_default_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_default_keys,
+    },
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_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_modelf_xwhatsit_modelf_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f50_wcass_wcass_c_LAYOUT_keys[] = {
+    { .row = 4, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .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.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .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 = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 5, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 6, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.000000, .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 = 7, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 1, .x = 2.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .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 = 5, .col = 6, .x = 10.000000, .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 = 7, .col = 0, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 1, .x = 2.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 2, .x = 3.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 4.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 3, .x = 5.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 7.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 9.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .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.000000, .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 = 1, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 7.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 8.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 9.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 10.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 = 1, .col = 0, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 2.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 3.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 2, .x = 4.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 5.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f50_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f50_wcass_wcass_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_f50_wcass_wcass_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f50_wcass_wcass_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys[] = {
+    { .row = 1, .col = 0, .x = 0.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .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.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .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 = 4, .x = 7.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 8.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 9.000000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 10.000000, .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 = 3, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 1, .x = 2.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 3.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 3, .x = 4.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 5.500000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .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 = 2, .col = 6, .x = 10.000000, .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 = 3, .col = 0, .x = 1.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 1, .x = 2.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 2, .x = 3.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 4.500000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 3, .x = 5.500000, .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 = 4, .col = 5, .x = 8.000000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .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 = 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.000000, .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 = 6, .col = 3, .x = 5.500000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 4, .x = 7.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 5, .x = 8.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 6, .x = 9.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 6, .x = 10.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 = 6, .col = 0, .x = 1.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 1, .x = 2.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 2, .x = 3.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 2, .x = 4.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 3, .x = 5.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 4, .x = 7.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 5, .x = 8.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 5, .x = 9.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 6, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_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 = 0, .col = 3, .x = 2.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 4, .x = 3.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 5, .x = 4.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 6, .x = 5.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 7, .x = 6.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 7.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 8.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 10, .x = 9.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 11, .x = 10.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 12, .x = 11.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 13, .x = 12.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 14, .x = 13.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 15, .x = 14.500000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 16, .x = 15.500000, .y = 0.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 0, .col = 18, .x = 17.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 19, .x = 18.750000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 0, .x = 0.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 1, .x = 1.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 3, .x = 2.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 4, .x = 4.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 5, .x = 5.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 6.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 7.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 8.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 9.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 10, .x = 10.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 11, .x = 11.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 12, .x = 12.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 13, .x = 13.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 14, .x = 14.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 15, .x = 15.000000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 16, .x = 16.000000, .y = 1.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 1, .col = 18, .x = 17.750000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 19, .x = 18.750000, .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 = 1, .col = 2, .x = 2.500000, .y = 2.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 2, .col = 4, .x = 4.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 5, .x = 5.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 6, .x = 6.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 7.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 8.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 9.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 10, .x = 10.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 11, .x = 11.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 12, .x = 12.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 13, .x = 13.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 14, .x = 14.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 15, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 16, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 2.000000 },
+    { .row = 2, .col = 18, .x = 17.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 19, .x = 18.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 0, .x = 0.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 1, .x = 1.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 2, .x = 2.500000, .y = 3.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 3, .x = 3.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 4, .x = 4.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 5, .x = 5.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 6.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 7.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 8.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 9.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 10.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 11, .x = 11.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 12, .x = 12.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 13, .x = 13.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 17, .x = 14.750000, .y = 3.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 18, .x = 17.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 19, .x = 18.750000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 2, .x = 2.500000, .y = 4.000000, .w = 2.500000, .h = 1.000000 },
+    { .row = 3, .col = 14, .x = 5.000000, .y = 4.000000, .w = 8.750000, .h = 1.000000 },
+    { .row = 3, .col = 17, .x = 13.750000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 15, .x = 14.750000, .y = 4.000000, .w = 2.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays[] = {
+    {
+        .lay_name = "LAYOUT",
+        .n_keys = sizeof(keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys) / sizeof(keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys[0]),
+        .keys = keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_LAYOUT_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_all_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 = 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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .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 = 6.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_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 },
+    { .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 = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_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 = 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 = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_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 },
+    { .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 = 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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 },
+    { .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 = 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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_hhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_hhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_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_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_hhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_hhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_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_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
+    },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_all_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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 7, .x = 13.750000, .y = 2.000000, .w = 1.250000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 6.000000, .h = 1.000000 },
+    { .row = 3, .col = 6, .x = 10.000000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 0, .col = 7, .x = 12.250000, .y = 3.000000, .w = 1.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 7, .col = 7, .x = 13.500000, .y = 1.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .y = 2.000000, .w = 1.000000, .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 = 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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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 = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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 = 1, .col = 7, .x = 12.250000, .y = 3.000000, .w = 2.750000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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 = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_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 },
+    { .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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct key_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_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 = 6, .col = 8, .x = 15.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 4, .col = 9, .x = 16.250000, .y = 0.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 6, .col = 9, .x = 17.250000, .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 = 5, .col = 8, .x = 15.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 9, .x = 16.250000, .y = 1.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 5, .col = 9, .x = 17.250000, .y = 1.000000, .w = 1.000000, .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 = 7, .col = 6, .x = 12.750000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 8, .x = 15.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 7, .col = 8, .x = 16.250000, .y = 2.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 2, .col = 9, .x = 17.250000, .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.750000, .h = 1.000000 },
+    { .row = 1, .col = 7, .x = 14.000000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 8, .x = 15.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 0, .col = 9, .x = 16.250000, .y = 3.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 1, .col = 9, .x = 17.250000, .y = 3.000000, .w = 1.000000, .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 = 1, .col = 6, .x = 11.000000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 3, .col = 7, .x = 12.500000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 8, .x = 13.500000, .y = 4.000000, .w = 1.500000, .h = 1.000000 },
+    { .row = 1, .col = 8, .x = 15.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 9, .x = 16.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+    { .row = 3, .col = 10, .x = 17.250000, .y = 4.000000, .w = 1.000000, .h = 1.000000 },
+};
+struct lay_def keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_lays[] = {
+    {
+        .lay_name = "LAYOUT_all",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_all_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_all_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_all_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_hhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_hhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_hhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_ansi_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_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_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_ansi_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_regular_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_regular_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_nonhhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_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_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_nonhhkb_split_shift_split_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_hhkb_split_shift_regular_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_regular_backspace_keys,
+    },
+    {
+        .lay_name = "LAYOUT_iso_hhkb_split_shift_split_backspace",
+        .n_keys = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys) / sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys[0]),
+        .keys = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_LAYOUT_iso_hhkb_split_shift_split_backspace_keys,
+    },
+};
+struct kbd_def keyboards[] = {
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/5251/xwhatsit_beamspring_rev_4/xwhatsit_beamspring_rev_4.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays)/sizeof(keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_5251_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays,
+        .cols = 23,
+        .rows = 4,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f107/xwhatsit_modelf/xwhatsit_modelf.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_lays)/sizeof(keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f107_xwhatsit_modelf_xwhatsit_modelf_c_lays,
+        .cols = 15,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f107/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_f107_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f107_wcass_wcass_c_lays,
+        .cols = 15,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f62/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_f62_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f62_wcass_wcass_c_lays,
+        .cols = 8,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f62/xwhatsit_modelf/xwhatsit_modelf.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_lays)/sizeof(keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f62_xwhatsit_modelf_xwhatsit_modelf_c_lays,
+        .cols = 8,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f50/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f50_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_ibm_f50_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f50_wcass_wcass_c_lays,
+        .cols = 7,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/f50/xwhatsit_modelf/xwhatsit_modelf.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_lays)/sizeof(keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_f50_xwhatsit_modelf_xwhatsit_modelf_c_lays,
+        .cols = 7,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/ibm/3276_3278/xwhatsit_beamspring_rev_4/xwhatsit_beamspring_rev_4.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays)/sizeof(keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays[0]),
+        .layouts = keyboards_xwhatsit_ibm_3276_3278_xwhatsit_beamspring_rev_4_xwhatsit_beamspring_rev_4_c_lays,
+        .cols = 20,
+        .rows = 4,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/brand_new_model_f/f62/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_brand_new_model_f_f62_wcass_wcass_c_lays,
+        .cols = 9,
+        .rows = 8,
+    },
+    {
+        .kbd_name = "keyboards/xwhatsit/brand_new_model_f/f77/wcass/wcass.c",
+        .n_layouts = sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_lays)/sizeof(keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_lays[0]),
+        .layouts = keyboards_xwhatsit_brand_new_model_f_f77_wcass_wcass_c_lays,
+        .cols = 11,
+        .rows = 8,
+    },
+};
+int n_keyboards = sizeof(keyboards)/sizeof(keyboards[0]);
diff --git a/keyboards/xwhatsit/util/util/kbd_defs.h b/keyboards/xwhatsit/util/util/kbd_defs.h
new file mode 100644 (file)
index 0000000..bc61637
--- /dev/null
@@ -0,0 +1,30 @@
+#pragma once
+
+struct key_def
+{
+    unsigned int row;
+    unsigned int col;
+    double x;
+    double y;
+    double w;
+    double h;
+};
+
+struct lay_def
+{
+    const char *lay_name;
+    int n_keys;
+    const struct key_def *keys;
+};
+
+struct kbd_def
+{
+    const char *kbd_name;
+    int n_layouts;
+    const struct lay_def *layouts;
+    unsigned int cols;
+    unsigned int rows;
+};
+
+extern struct kbd_def keyboards[];
+extern int n_keyboards;
index a9896d1..3818ce1 100644 (file)
@@ -8,6 +8,8 @@
 
 Q_DECLARE_METATYPE(std::vector<std::string>)
 Q_DECLARE_METATYPE(std::string)
+Q_DECLARE_METATYPE(std::vector<std::vector<uint8_t> >)
+Q_DECLARE_METATYPE(std::vector<uint8_t>)
 
 MainWindow::MainWindow(Communication &comm, QWidget *parent) :
     QMainWindow(parent),
@@ -17,8 +19,10 @@ MainWindow::MainWindow(Communication &comm, QWidget *parent) :
 {
     ui->setupUi(this);
     qRegisterMetaType<std::vector<std::string>>("vector_of_strings");
-    connect(&thread, &HidThread::scannedDevices, this, &MainWindow::on_updateScannedDevices);
     qRegisterMetaType<std::string>("std_string");
+    qRegisterMetaType<std::vector<std::vector<uint8_t>>>("vector_of_vector_of_uint8t");
+    qRegisterMetaType<std::vector<uint8_t>>("vector_of_uint8t");
+    connect(&thread, &HidThread::scannedDevices, this, &MainWindow::on_updateScannedDevices);
     connect(&thread, &HidThread::reportError, this, &MainWindow::on_reportError);
     thread.start();
     thread.setScanning(true);
@@ -78,7 +82,7 @@ void MainWindow::on_listWidget_itemSelectionChanged()
     }
     bool enabled = !!ui->listWidget->currentItem();
     ui->enterBootloaderPushbutton->setEnabled(enabled);
-    //ui->keypressMinotorPushButton->setEnabled(enabled && !is_xwhatsit);
+    ui->keypressMinotorPushButton->setEnabled(enabled && !is_xwhatsit);
     Q_UNUSED(is_xwhatsit);
 }
 
@@ -94,10 +98,13 @@ void MainWindow::on_reportError(std::string error_message)
 
 void MainWindow::on_keypressMinotorPushButton_clicked()
 {
-    mw.loadLayout("../../brand_new_model_f_keyboards/f62/info.json");
+    MonitorWindow *mw = new MonitorWindow(thread, this);
+    mw->setAttribute(Qt::WA_DeleteOnClose);
+    //mw->setWindowModality(Qt::WindowModal);
+    thread.monitor(ui->listWidget->currentItem()->text().toStdString());
     bool previousScanning = thread.setScanning(false);
     ui->listWidget->setEnabled(false);
-    mw.exec();
+    mw->exec();
     ui->listWidget->setEnabled(true);
     thread.setScanning(previousScanning);
 }
index 03036de..52ab76e 100644 (file)
@@ -30,7 +30,6 @@ private slots:
 
 private:
     Ui::MainWindow *ui;
-    MonitorWindow mw;
     Communication &comm;
     HidThread thread;
 };
dissimilarity index 75%
index 072209b..f96b1bc 100644 (file)
-#include "monitorwindow.h"
-#include "ui_monitorwindow.h"
-#include <QGraphicsView>
-#include <QPainter>
-#include <QFile>
-#include <QJsonParseError>
-#include <QJsonDocument>
-#include <QJsonObject>
-#include <QJsonArray>
-#include <iostream>
-
-MonitorWindow::MonitorWindow(QWidget *parent) :
-    QDialog(parent),
-    ui(new Ui::MonitorWindow)
-{
-    ui->setupUi(this);
-}
-
-MonitorWindow::~MonitorWindow()
-{
-    delete ui;
-}
-
-void MonitorWindow::loadLayout(const QString &name)
-{
-    QFile f(name);
-    f.open(QIODevice::ReadOnly|QIODevice::Text);
-    QByteArray data = f.readAll();
-    f.close();
-    QJsonParseError errorPtr;
-    doc = QJsonDocument::fromJson(data, &errorPtr);
-    if (doc.isNull()) {
-        return;
-    }
-    ui->layoutSel->clear();
-    QJsonObject root = doc.object();
-    QJsonValue layoutsValue = root.value("layouts");
-    QJsonObject layouts = layoutsValue.toObject();
-    for (const auto &i : layouts.keys())
-    {
-        ui->layoutSel->addItem(i);
-    }
-}
-
-void MonitorWindow::paintEvent(QPaintEvent *event)
-{
-
-    QJsonArray keys = doc.object().value("layouts").toObject().value(ui->layoutSel->currentText()).toObject().value("layout").toArray();
-    Q_UNUSED(event);
-    QPainter painter(this);
-    painter.setPen(QPen(Qt::black));
-    painter.setBrush(QBrush(QColor("#FFFFFF")));
-    int xadd = ui->layoutSel->geometry().x();
-    int yadd = ui->last_label->geometry().y() + ui->last_label->geometry().height() + ui->layoutSel->geometry().y();
-    int maxy = 0;
-    int maxx = 0;
-    for (const auto i : keys)
-    {
-        double scale = 32;
-        int x = static_cast<int>(scale * i.toObject().value("x").toDouble() + 0.5);
-        int y = static_cast<int>(scale * i.toObject().value("y").toDouble() + 0.5);
-        int w = static_cast<int>(scale * 1 + 0.5);
-        int h = static_cast<int>(scale * 1 + 0.5);
-        if (!i.toObject().value("w").isUndefined())
-        {
-            w = static_cast<int>(scale * i.toObject().value("w").toDouble() + 0.5);
-        }
-        if (!i.toObject().value("h").isUndefined())
-        {
-            h = static_cast<int>(scale * i.toObject().value("h").toDouble() + 0.5);
-        }
-        y += yadd;
-        x += xadd;
-        painter.drawRect(x, y, w, h);
-        if (y+h > maxy)
-        {
-            maxy = y + h;
-        }
-        if (x+w > maxx)
-        {
-            maxx = x + w;
-        }
-    }
-    int minwidth1 = ui->layoutSel->geometry().width() + 2 * ui->layoutSel->geometry().x();
-    int minwidth2 = ui->layoutSel->geometry().x() + maxx;
-    int minwidth = (minwidth1 > minwidth2) ? minwidth1 : minwidth2;
-    int minheight = maxy + ui->layoutSel->geometry().y();
-    this->setFixedSize(minwidth, minheight);
-}
-
-void MonitorWindow::on_layoutSel_activated(const QString &arg1)
-{
-    Q_UNUSED(arg1);
-    this->repaint();
-}
+#include "monitorwindow.h"
+#include "ui_monitorwindow.h"
+#include <QGraphicsView>
+#include <QPainter>
+#include <QFile>
+#include <QMessageBox>
+#include <iostream>
+#include "kbd_defs.h"
+
+MonitorWindow::MonitorWindow(HidThread &thread, QWidget *parent) :
+    QDialog(parent),
+    ui(new Ui::MonitorWindow),
+    thread(thread)
+{
+    ui->setupUi(this);
+    keyboard = nullptr;
+    connect(&thread, &HidThread::keyboardName, this, &MonitorWindow::on_keyboardName);
+    connect(&thread, &HidThread::reportMonitorError, this, &MonitorWindow::on_reportMonitorError);
+    connect(&thread, &HidThread::thresholds, this, &MonitorWindow::on_thresholds);
+    connect(&thread, &HidThread::keystate, this, &MonitorWindow::on_keystate);
+}
+
+MonitorWindow::~MonitorWindow()
+{
+    delete ui;
+}
+
+void MonitorWindow::loadLayout(QString name)
+{
+    int i;
+    if (name.compare(QString("keyboards/xwhatsit/brand_new_model_f_keyboards/f62/f62.c")) == 0)
+    {
+        name = QString("keyboards/xwhatsit/brand_new_model_f/f62/wcass/wcass.c");
+    }
+    if (name.compare(QString("keyboards/xwhatsit/brand_new_model_f_keyboards/f77/f77.c")) == 0)
+    {
+        name = QString("keyboards/xwhatsit/brand_new_model_f/f77/wcass/wcass.c");
+    }
+    ui->layoutSel->clear();
+    for (i=0;i<n_keyboards;i++)
+    {
+        if (name.compare(QString(keyboards[i].kbd_name))==0)
+        {
+            keyboard = &keyboards[i];
+            int j;
+            for (j=0;j<keyboard->n_layouts;j++)
+            {
+                ui->layoutSel->addItem(QString(keyboard->layouts[j].lay_name));
+            }
+            break;
+        }
+    }
+    QString name_simp = name;
+    if (name.startsWith("keyboards/")) name_simp = name.mid(strlen("keyboards/"));
+    int lastslash = name_simp.lastIndexOf("/");
+    if (lastslash > 0) name_simp = name_simp.left(lastslash);
+    ui->label_keyboardname->setText(QString("Keyboard: ") + name_simp);
+    ui->layoutSel->setEnabled(true);
+    if (!keyboard) on_reportMonitorError("Unknown keyboard (you may need to update the util version)!");
+    keyboard_width_uis = 0;
+    keyboard_height_uis = 0;
+    for (i=0;i<keyboard->n_layouts;i++)
+    {
+        const struct lay_def *layout = &keyboard->layouts[i];
+        int j;
+        for (j=0;j<layout->n_keys;j++)
+        {
+            int w = static_cast<int>(layout->keys[j].x + layout->keys[j].w + 0.5);
+            int h = static_cast<int>(layout->keys[j].y + layout->keys[j].h + 0.5);
+            if (w > keyboard_width_uis) keyboard_width_uis = w;
+            if (h > keyboard_height_uis) keyboard_height_uis = h;
+        }
+    }
+    this->setMinimumSize(static_cast<int>(keyboard_width_uis * MIN_HORIZONTAL_SCALE + 2 * HORIZONTAL_MARGIN),
+                         ui->last_label->geometry().y() + ui->last_label->geometry().height() +
+                             static_cast<int>(keyboard_height_uis * MIN_VERTICAL_SCALE + 2 * VERTICAL_MARGIN));
+    is_was_key_pressed = std::vector<std::vector<int>>(static_cast<unsigned long>(keyboard->rows), std::vector<int>(static_cast<unsigned long>(keyboard->cols), 0));
+}
+
+void MonitorWindow::paintEvent(QPaintEvent *event)
+{
+    Q_UNUSED(event);
+    if (!keyboard) return;
+    QPainter painter(this);
+    int xadd = HORIZONTAL_MARGIN;
+    int yadd = ui->last_label->geometry().y() + ui->last_label->geometry().height() + VERTICAL_MARGIN;
+    int maxy = 0;
+    int maxx = 0;
+    double scale_x = (1. * this->width() - 2 * HORIZONTAL_MARGIN) / (keyboard_width_uis);
+    double scale_y = (1. * this->height() - VERTICAL_MARGIN - yadd) / keyboard_height_uis;
+    int i;
+    for (i=0;i<keyboard->n_layouts;i++)
+    {
+        if (ui->layoutSel->currentText().compare(QString(keyboard->layouts[i].lay_name))==0)
+        {
+            const struct lay_def *layout = &keyboard->layouts[i];
+            int j;
+            for (j=0;j<layout->n_keys;j++)
+            {
+                unsigned int col = layout->keys[j].col;
+                unsigned int row = layout->keys[j].row;
+                int x_ = static_cast<int>(layout->keys[j].x * 8 + 0.5);
+                int y_ = static_cast<int>(layout->keys[j].y * 8 + 0.5);
+                int w_ = static_cast<int>(layout->keys[j].w * 8 + 0.5);
+                int h_ = static_cast<int>(layout->keys[j].h * 8 + 0.5);
+                int x = static_cast<int>(scale_x * x_ / 8 + 0.5);
+                int y = static_cast<int>(scale_y * y_ / 8 + 0.5);
+                int w = static_cast<int>(scale_x * (x_ + w_) / 8 + 0.5) - x;
+                int h = static_cast<int>(scale_y * (y_ + h_) / 8 + 0.5) - y;
+                y += yadd;
+                x += xadd;
+                QPen textColor(Qt::black);
+                painter.setPen(QPen(Qt::black));
+                switch (is_was_key_pressed[row][col])
+                {
+                    case 1:
+                    case 3:
+                        textColor = QPen(Qt::white);
+                        painter.setBrush(QBrush(QColor("#008000")));
+                        break;
+                    case 2:
+                        painter.setBrush(QBrush(QColor("#00FF00")));
+                        break;
+                    default:
+                        painter.setBrush(QBrush(QColor("#FFFFFF")));
+                        break;
+                }
+
+                QRectF rect(x, y, w, h);
+                painter.drawRect(rect);
+                if (y+h > maxy)
+                {
+                    maxy = y + h;
+                }
+                if (x+w > maxx)
+                {
+                    maxx = x + w;
+                }
+                if (thresholds.size())
+                {
+                    uint16_t threshold = get_threshold(col, row);
+                    painter.setPen(textColor);
+                    painter.drawText(rect, Qt::AlignCenter, QString::number(threshold));
+                }
+            }
+            break;
+        }
+    }
+}
+
+void MonitorWindow::on_layoutSel_activated(const QString &arg1)
+{
+    Q_UNUSED(arg1);
+    this->repaint();
+}
+
+void MonitorWindow::on_keyboardName(std::string name)
+{
+    loadLayout(QString::fromStdString(name));
+    this->repaint();
+}
+
+void MonitorWindow::on_thresholds(std::vector<std::vector<uint8_t>> thresholds)
+{
+    this->thresholds = thresholds;
+    this->repaint();
+}
+
+void MonitorWindow::on_keystate(std::vector<uint8_t> data)
+{
+    unsigned int col, row;
+    int different = 0;
+    if (!keyboard) return;
+    for (col=0; col < keyboard->cols; col++)
+    {
+        for (row=0; row < keyboard->rows; row++)
+        {
+            uint8_t pressed = (data[col / 8 + row * ((keyboard->cols + 7) / 8)] >> (col % 8)) >> 1;
+            int new_is_was_key_pressed = is_was_key_pressed[row][col];
+            if (pressed) new_is_was_key_pressed |= 3;
+            else new_is_was_key_pressed &= ~1;
+            if (is_was_key_pressed[row][col] != new_is_was_key_pressed) different = 1;
+            is_was_key_pressed[row][col]= new_is_was_key_pressed;
+        }
+    }
+    if (different) this->repaint();
+}
+
+uint16_t MonitorWindow::get_threshold(unsigned int col, unsigned int row)
+{
+    if (thresholds[0][0] == 0) return static_cast<uint16_t>((thresholds[0][1] | (thresholds[0][2] << 8)));
+    unsigned int i;
+    for (i=0;i<thresholds[0][0]; i++)
+    {
+        if ((thresholds[i][3 + col / 8 + row * ((keyboard->cols + 7) / 8)] >> (col % 8)) & 1)
+        {
+            return static_cast<uint16_t>(thresholds[i][1] | (thresholds[i][2] << 8));
+        }
+    }
+    return 0;
+}
+
+void MonitorWindow::on_reportMonitorError(std::string error_message)
+{
+    QMessageBox::critical(this, "Error", error_message.c_str());
+}
+
+void MonitorWindow::on_MonitorWindow_finished(int result)
+{
+    Q_UNUSED(result);
+    thread.closeMonitoredDevice();
+}
index fe3c12c..28ac1ea 100644 (file)
@@ -4,6 +4,7 @@
 #include <QDialog>
 #include <QGraphicsScene>
 #include <QJsonDocument>
+#include "hidthread.h"
 
 namespace Ui {
 class MonitorWindow;
@@ -14,20 +15,38 @@ class MonitorWindow : public QDialog
     Q_OBJECT
 
 public:
-    explicit MonitorWindow(QWidget *parent = nullptr);
+    explicit MonitorWindow(HidThread &thread, QWidget *parent = nullptr);
     ~MonitorWindow();
-    void loadLayout(const QString &name);
+    void loadLayout(QString name);
 
 protected:
     void paintEvent(QPaintEvent *event);
 
 private slots:
     void on_layoutSel_activated(const QString &arg1);
+    void on_keyboardName(std::string name);
+    void on_thresholds(std::vector<std::vector<uint8_t>>);
+    void on_keystate(std::vector<uint8_t>);
+    void on_reportMonitorError(std::string error_message);
+
+    void on_MonitorWindow_finished(int result);
 
 private:
     Ui::MonitorWindow *ui;
     QGraphicsScene scene;
     QJsonDocument doc;
+    const struct kbd_def *keyboard;
+    HidThread &thread;
+    std::vector<std::vector<uint8_t>> thresholds;
+    uint16_t get_threshold(unsigned int col, unsigned int row);
+    std::vector<std::vector<int>> is_was_key_pressed;
+
+    int keyboard_width_uis;
+    int keyboard_height_uis;
+    static constexpr double MIN_HORIZONTAL_SCALE = 32;
+    static constexpr double MIN_VERTICAL_SCALE = 32;
+    static const int HORIZONTAL_MARGIN = 10;
+    static const int VERTICAL_MARGIN = 10;
 };
 
 #endif // MONITORWINDOW_H
index 8aed151..70df557 100644 (file)
@@ -7,11 +7,11 @@
     <x>0</x>
     <y>0</y>
     <width>494</width>
-    <height>127</height>
+    <height>129</height>
    </rect>
   </property>
   <property name="sizePolicy">
-   <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
     <horstretch>0</horstretch>
     <verstretch>0</verstretch>
    </sizepolicy>
    <string>Keypress Monitor (Simple)</string>
   </property>
   <widget class="QComboBox" name="layoutSel">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
    <property name="geometry">
     <rect>
      <x>10</x>
-     <y>10</y>
+     <y>30</y>
      <width>471</width>
      <height>25</height>
     </rect>
    </property>
+   <property name="currentText">
+    <string>LOADING...</string>
+   </property>
    <item>
     <property name="text">
-     <string>LAYOUT_??</string>
-    </property>
-   </item>
-   <item>
-    <property name="text">
-     <string>LAYOUT_????</string>
+     <string>LOADING...</string>
     </property>
    </item>
   </widget>
@@ -43,7 +44,7 @@
    <property name="geometry">
     <rect>
      <x>10</x>
-     <y>40</y>
+     <y>60</y>
      <width>471</width>
      <height>17</height>
     </rect>
@@ -56,7 +57,7 @@
    <property name="geometry">
     <rect>
      <x>10</x>
-     <y>60</y>
+     <y>80</y>
      <width>471</width>
      <height>17</height>
     </rect>
@@ -69,7 +70,7 @@
    <property name="geometry">
     <rect>
      <x>10</x>
-     <y>80</y>
+     <y>100</y>
      <width>121</width>
      <height>17</height>
     </rect>
@@ -82,7 +83,7 @@
    <property name="geometry">
     <rect>
      <x>120</x>
-     <y>80</y>
+     <y>100</y>
      <width>131</width>
      <height>17</height>
     </rect>
    <property name="geometry">
     <rect>
      <x>260</x>
-     <y>80</y>
+     <y>100</y>
      <width>101</width>
      <height>17</height>
     </rect>
    <property name="geometry">
     <rect>
      <x>370</x>
-     <y>80</y>
+     <y>100</y>
      <width>111</width>
      <height>17</height>
     </rect>
     <set>Qt::AlignCenter</set>
    </property>
   </widget>
+  <widget class="QLabel" name="label_keyboardname">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>10</y>
+     <width>471</width>
+     <height>17</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Keyboard: LOADING...</string>
+   </property>
+  </widget>
  </widget>
  <resources/>
  <connections/>
index 4ba3366..59af629 100644 (file)
@@ -30,14 +30,16 @@ SOURCES += \
     monitorwindow.cpp \
     communication.cpp \
     device.cpp \
-    hidthread.cpp
+    hidthread.cpp \
+    kbd_defs.cpp
 
 HEADERS += \
         mainwindow.h \
     monitorwindow.h \
     communication.h \
     device.h \
-    hidthread.h
+    hidthread.h \
+    kbd_defs.h
 
 unix:!macx {
     LIBS += -lhidapi-libusb