summary refs log tree commit diff
path: root/keyboards/unicomp
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/unicomp')
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/info.json2640
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h10
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json20
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h88
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md2
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/info.json2646
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h10
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json20
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h88
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md2
-rw-r--r--keyboards/unicomp/pc122/info.json2006
-rw-r--r--keyboards/unicomp/pc122/overnumpad_1xb/config.h10
-rw-r--r--keyboards/unicomp/pc122/overnumpad_1xb/info.json20
-rw-r--r--keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h49
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/info.json2652
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h10
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json18
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c7
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h88
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/info.json2658
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h10
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json18
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c7
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h88
24 files changed, 12640 insertions, 527 deletions
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/info.json b/keyboards/unicomp/classic_ultracl_post_2013/info.json
index 4535371186..693250310d 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_post_2013/info.json
@@ -1,34 +1,2636 @@
 {
-    "keyboard_name": "Unicomp Classic / Ultra Classic (post-2013)", 
-    "manufacturer": "Unicomp/Purdea Andrei",
-    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", 
-    "maintainer": "purdeaandrei", 
+    "matrix_pins": {
+        "ghost": true
+    },
     "usb": {
         "vid": "0x16C0",
         "pid": "0x27DB",
         "device_version": "0.0.1"
     },
-    "matrix_pins": {
-        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
-        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
-    },
-    "diode_direction": "ROW2COL",
-    "indicators": {
-        "caps_lock": "C11",
-        "num_lock": "C12",
-        "scroll_lock": "C10"
-    },
-    "processor": "STM32F446",
-    "bootloader": "stm32-dfu",
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 13,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 14,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 3.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 12.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 13.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 4,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 5,
+                    "y": 5.5,
+                    "w": 4.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 18.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_ansi": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 12.75,
+                    "y": 3.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_iso": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 2.5,
+                    "w": 1.25,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         }
     }
 }
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
index c02ea1f913..71e60e9cfe 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
@@ -15,17 +15,17 @@
  */
 #pragma once
 
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
 
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
 
 #define STM32_HSECLK 16000000
 
 #define SOLENOID_PIN B5
 #define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
 #define SOLENOID_MIN_DWELL 4
 #define HAPTIC_OFF_IN_LOW_POWER 1
 #define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..13615db22d
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+    "keyboard_name": "Unicomp Classic / Ultra Classic / New M (post-2013)",
+    "manufacturer": "Unicomp/Purdea Andrei",
+    "maintainer": "purdeaandrei",
+    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+    "indicators": {
+        "caps_lock": "C11",
+        "num_lock": "C12",
+        "scroll_lock": "C10"
+    },
+    "processor": "STM32F446",
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "matrix_pins": {
+        // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+        // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+    }
+}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index a62e8cfbab..0000000000
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt, k_code,      k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,    kp_0_hidden, kp_0,   kp_dot,  kp_enter_hidden  \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    k_bsp_hidden, kp_nl,    k_pgup, k_code, k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    k_rshift_hidden, kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           kp_0_hidden,     k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          kp_enter_hidden, KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_ansi( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote,        k_return,                               kp_4,        kp_5,   kp_6,                     \
-    k_lshift,       k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           KC_NO,           KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { KC_NO,  KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, KC_NO,           KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_iso( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,      k_return,  k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,                                        kp_4,        kp_5,   kp_6,                     \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   KC_NO,        k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           KC_NO,           KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
index fe8fc769e4..7889bf6d82 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/readme.md
@@ -2,7 +2,7 @@
 
 ![unicomp/classic_ultracl_post_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
 
-Will support the following Unicomp Classic and Ultra Classic keyboards:
+Will support the following Unicomp Classic, Ultra Classic, and New Model M keyboards:
   * 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
   * It will likely also support 103-key ANSI or 104-key ISO keyboard variants (not tested) (these are the keyboards with no menu key)
   * At this point in time it's unclear if it supports 101-key keyboard variants built after 2013.
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
index 44262e071c..8423c67555 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/info.json
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/info.json
@@ -1,35 +1,2643 @@
 {
-    "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)", 
-    "manufacturer": "Unicomp/Purdea Andrei",
-    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", 
-    "maintainer": "purdeaandrei", 
+    "matrix_pins": {
+        "ghost": true
+    },
     "usb": {
         "vid": "0x16C0",
         "pid": "0x27DB",
         "device_version": "0.0.1"
     },
-    "matrix_pins": {
-        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
-        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
-    },
-    "diode_direction": "ROW2COL",
-    "indicators": {
-        "caps_lock": "C11",
-        "num_lock": "C12",
-        "scroll_lock": "C10"
-    },
-    "processor": "STM32F446", // RET6
-    "bootloader": "stm32-dfu",
     "community_layouts": ["fullsize_ansi", "fullsize_iso"],
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 13,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 14,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 3.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 12.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 13.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 4,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 5,
+                    "y": 5.5,
+                    "w": 4.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 18.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_fullsize_ansi": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 12.75,
+                    "y": 3.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_fullsize_iso": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 2.5,
+                    "w": 1.25,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         }
     }
 }
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
index c02ea1f913..71e60e9cfe 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
@@ -15,17 +15,17 @@
  */
 #pragma once
 
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
 
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
 
 #define STM32_HSECLK 16000000
 
 #define SOLENOID_PIN B5
 #define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
 #define SOLENOID_MIN_DWELL 4
 #define HAPTIC_OFF_IN_LOW_POWER 1
 #define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..1c2f5b300b
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+    "keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)",
+    "manufacturer": "Unicomp/Purdea Andrei",
+    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+    "maintainer": "purdeaandrei",
+    "indicators": {
+        "caps_lock": "C11",
+        "num_lock": "C12",
+        "scroll_lock": "C10"
+    },
+    "processor": "STM32F446", // RET6
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "matrix_pins": {
+        // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+        // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+    }
+}
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index a939e986dd..0000000000
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt, k_code,      k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,    kp_0_hidden, kp_0,   kp_dot,  kp_enter_hidden  \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    k_bsp_hidden, kp_nl,    k_pgup, k_code, k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    k_rshift_hidden, kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           kp_0_hidden,     k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          kp_enter_hidden, KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_fullsize_ansi( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote,        k_return,                               kp_4,        kp_5,   kp_6,                     \
-    k_lshift,       k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           KC_NO,           KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { KC_NO,  KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, KC_NO,           KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_fullsize_iso( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,                 k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,                               kp_4,        kp_5,   kp_6,                     \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   KC_NO,        k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           KC_NO,           KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
index c25024b477..b972de3074 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/readme.md
@@ -3,7 +3,7 @@
 ![unicomp/classic_ultracl_pre_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
 
 Will support the following Unicomp Classic and Ultra Classic keyboards:
-  * 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
+  * 104-key ANSI and 105-key ISO keyboards with pre-2013 bottom row are supported.
 
 * Keyboard Maintainer: [Purdea Andrei](https://github.com/purdeaandrei)
 * Hardware Supported: OverNumpad controller v1.Xb
diff --git a/keyboards/unicomp/pc122/info.json b/keyboards/unicomp/pc122/info.json
index 6b8a6cf9c7..0c580e729f 100644
--- a/keyboards/unicomp/pc122/info.json
+++ b/keyboards/unicomp/pc122/info.json
@@ -1,28 +1,2000 @@
 {
-    "keyboard_name": "Unicomp PC122", 
-    "manufacturer": "Unicomp/Purdea Andrei",
-    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", 
-    "maintainer": "purdeaandrei", 
+    "matrix_pins": {
+        "ghost": true
+    },
     "usb": {
         "vid": "0x16C0",
         "pid": "0x27DB",
         "device_version": "0.0.1"
     },
-    "matrix_pins": {
-        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
-        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
-    },
-    "diode_direction": "ROW2COL",
-    "indicators": {
-        "caps_lock": "C11",
-        "num_lock": "C12",
-        "scroll_lock": "C10"
-    },
-    "processor": "STM32F446", // RET6
-    "bootloader": "stm32-dfu",
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":13.25, "y":1}, {"x":14.25, "y":1}, {"x":0, "y":2.5}, {"x":1, "y":2.5}, {"x":2.25, "y":2.5}, {"x":3.25, "y":2.5}, {"x":4.25, "y":2.5}, {"x":5.25, "y":2.5}, {"x":6.25, "y":2.5}, {"x":7.25, "y":2.5}, {"x":8.25, "y":2.5}, {"x":9.25, "y":2.5}, {"x":10.25, "y":2.5}, {"x":11.25, "y":2.5}, {"x":12.25, "y":2.5}, {"x":13.25, "y":2.5}, {"x":14.25, "y":2.5}, {"x":15.25, "y":2.5, "w":2}, {"x":17.75, "y":2.5}, {"x":18.75, "y":2.5}, {"x":19.75, "y":2.5}, {"x":21.25, "y":2.5}, {"x":22.25, "y":2.5}, {"x":23.25, "y":2.5}, {"x":24.25, "y":2.5}, {"x":0, "y":3.5}, {"x":1, "y":3.5}, {"x":2.25, "y":3.5, "w":1.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5}, {"x":14.75, "y":3.5}, {"x":15.75, "y":3.5, "w":1.5}, {"x":17.75, "y":3.5}, {"x":18.75, "y":3.5}, {"x":19.75, "y":3.5}, {"x":21.25, "y":3.5}, {"x":22.25, "y":3.5}, {"x":23.25, "y":3.5}, {"x":24.25, "y":3.5}, {"x":0, "y":4.5}, {"x":1, "y":4.5}, {"x":2.25, "y":4.5, "w":1.75}, {"x":4, "y":4.5}, {"x":5, "y":4.5}, {"x":6, "y":4.5}, {"x":7, "y":4.5}, {"x":8, "y":4.5}, {"x":9, "y":4.5}, {"x":10, "y":4.5}, {"x":11, "y":4.5}, {"x":12, "y":4.5}, {"x":13, "y":4.5}, {"x":14, "y":4.5}, {"x":15, "y":4.5}, {"x":16, "y":4.5, "w":1.25}, {"x":18.75, "y":4.5}, {"x":21.25, "y":4.5}, {"x":22.25, "y":4.5}, {"x":23.25, "y":4.5}, {"x":24.25, "y":4.5}, {"x":0, "y":5.5}, {"x":1, "y":5.5}, {"x":2.25, "y":5.5, "w":1.25}, {"x":3.5, "y":5.5}, {"x":4.5, "y":5.5}, {"x":5.5, "y":5.5}, {"x":6.5, "y":5.5}, {"x":7.5, "y":5.5}, {"x":8.5, "y":5.5}, {"x":9.5, "y":5.5}, {"x":10.5, "y":5.5}, {"x":11.5, "y":5.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5}, {"x":14.5, "y":5.5, "w":2.75}, {"x":17.75, "y":5.5}, {"x":18.75, "y":5.5}, {"x":19.75, "y":5.5}, {"x":21.25, "y":5.5}, {"x":22.25, "y":5.5}, {"x":23.25, "y":5.5}, {"x":24.25, "y":5.5, "h":2}, {"x":0, "y":6.5}, {"x":1, "y":6.5}, {"x":2.25, "y":6.5, "w":1.5}, {"x":4.75, "y":6.5, "w":1.5}, {"x":6.25, "y":6.5, "w":7}, {"x":13.25, "y":6.5, "w":1.5}, {"x":15.75, "y":6.5, "w":1.5}, {"x":18.75, "y":6.5}, {"x":21.25, "y":6.5, "w":2}, {"x":23.25, "y":6.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        3,
+                        14
+                    ],
+                    "x": 3.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        14
+                    ],
+                    "x": 4.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 5.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        15
+                    ],
+                    "x": 6.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 7.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        1
+                    ],
+                    "x": 8.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 9.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 10.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        1
+                    ],
+                    "x": 11.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        4
+                    ],
+                    "x": 12.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 13.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        3,
+                        13
+                    ],
+                    "x": 14.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 4.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 5.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 6.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 7.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 8.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 9.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 1,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 3.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 4.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 5.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 7.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 9.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 10.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 11.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 12.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 13.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 14.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 2.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 17.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 18.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 19.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 21.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 22.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 23.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 24.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 0,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 1,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 3.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 13.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 14.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 15.75,
+                    "y": 3.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 17.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 18.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 19.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 24.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        15
+                    ],
+                    "x": 1,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 2.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 4,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 6,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 7,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 8,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 9,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 10,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 11,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 12,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 13,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 14,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 15,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 16,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 18.75,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 24.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 0,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 1,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 2.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 3.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 4.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 5.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 6.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 7.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 8.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 9.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 10.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 11.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 13.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 14.5,
+                    "y": 5.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 17.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        13
+                    ],
+                    "x": 18.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 19.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 24.25,
+                    "y": 5.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 0,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        15
+                    ],
+                    "x": 1,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 2.25,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 4.75,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 6.25,
+                    "y": 6.5,
+                    "w": 7
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 13.25,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 15.75,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 18.75,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 21.25,
+                    "y": 6.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 6.5
+                }
+            ]
+        },
+        "LAYOUT_ansi": {
+            "layout": [
+                {
+                    "matrix": [
+                        3,
+                        14
+                    ],
+                    "x": 3.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        14
+                    ],
+                    "x": 4.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 5.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        15
+                    ],
+                    "x": 6.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 7.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        1
+                    ],
+                    "x": 8.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 9.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 10.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        1
+                    ],
+                    "x": 11.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        4
+                    ],
+                    "x": 12.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 13.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        3,
+                        13
+                    ],
+                    "x": 14.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 4.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 5.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 6.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 7.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 8.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 9.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14.25,
+                    "y": 1
+                },
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 1,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 3.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 4.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 5.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 7.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 9.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 10.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 11.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 12.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 13.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 14.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 2.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 17.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 18.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 19.75,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 21.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 22.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 23.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 24.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 0,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 1,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 3.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 13.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 14.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 15.75,
+                    "y": 3.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 17.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 18.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 19.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 24.25,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        15
+                    ],
+                    "x": 1,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 2.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 4,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 6,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 7,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 8,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 9,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 10,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 11,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 12,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 13,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 14,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 15,
+                    "y": 4.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 18.75,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 24.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 0,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 1,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 2.25,
+                    "y": 5.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 4.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 5.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 6.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 7.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 8.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 9.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 10.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 11.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 13.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 14.5,
+                    "y": 5.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 17.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        13
+                    ],
+                    "x": 18.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 19.75,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 21.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 22.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 24.25,
+                    "y": 5.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 0,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        15
+                    ],
+                    "x": 1,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 2.25,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 4.75,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 6.25,
+                    "y": 6.5,
+                    "w": 7
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 13.25,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 15.75,
+                    "y": 6.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 18.75,
+                    "y": 6.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 21.25,
+                    "y": 6.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 23.25,
+                    "y": 6.5
+                }
+            ]
         }
     }
 }
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/config.h b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
index c02ea1f913..71e60e9cfe 100644
--- a/keyboards/unicomp/pc122/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
@@ -15,17 +15,17 @@
  */
 #pragma once
 
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
 
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
 
 #define STM32_HSECLK 16000000
 
 #define SOLENOID_PIN B5
 #define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
 #define SOLENOID_MIN_DWELL 4
 #define HAPTIC_OFF_IN_LOW_POWER 1
 #define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/info.json b/keyboards/unicomp/pc122/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..16e3916823
--- /dev/null
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/info.json
@@ -0,0 +1,20 @@
+{
+    "keyboard_name": "Unicomp PC122",
+    "manufacturer": "Unicomp/Purdea Andrei",
+    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+    "maintainer": "purdeaandrei",
+    "indicators": {
+        "caps_lock": "C11",
+        "num_lock": "C12",
+        "scroll_lock": "C10"
+    },
+    "processor": "STM32F446", // RET6
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "matrix_pins": {
+        // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+        // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+    }
+}
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index e0dc0d8f33..0000000000
--- a/keyboards/unicomp/pc122/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
-                         k_f13, k_f14, k_f15, k_f16, k_f17, k_f18, k_f19, k_f20, k_f21, k_f22, k_f23, k_f24, \
-                         k_f1,  k_f2,  k_f3,  k_f4,  k_f5,  k_f6,  k_f7,  k_f8,  k_f9,  k_f10, k_f11, k_f12, \
-k_lb1, k_lb2,    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,   k_ins,   k_home,   k_pgup,   kp_nl,       kp_div, kp_mult, kp_minus,        \
-k_lb3, k_lb4,    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,      k_backsl,   k_del,   k_end,    k_pgdn,   kp_7,        kp_8,   kp_9,    kp_plus,         \
-k_lb5, k_lb6,    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,            k_up,               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-k_lb7, k_lb8,    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,   k_left,  k_navmid, k_right,  kp_1,        kp_2,   kp_3,    kp_enter,        \
-k_lb9, k_lb10,   k_lctrl,       k_lalt,                     k_space,                              k_ralt,       k_rctrl,            k_down,             kp_0,                kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4        5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_lb1,  k_lb4,        k_f3,     k_f1,   k_ins,   k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_lb3,   k_right,         k_lb2,           k_lb6   }, \
-    /* 1 */ { k_tab,  k_f21,        k_del,    k_pgdn, k_f22,   k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_f23,           k_f14,           k_caps  }, \
-    /* 2 */ { k_1,    k_f19,        kp_nl,    k_pgup, k_f17,   k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lb9,           k_f16   }, \
-    /* 3 */ { k_q,    k_rshift,     kp_9,     k_2,    KC_NO,   k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    k_f24,           k_f13,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt,  k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    k_f20,           k_f15,           k_lb10  }, \
-    /* 5 */ { k_z,    k_lshift,     kp_dot,   k_x,    KC_NO,   k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    k_navmid,        kp_plus_hidden,  k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_ralt,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          k_lb7,           KC_NO   }, \
-    /* 7 */ { k_tild, k_f18,        kp_minus, k_f2,   k_f4,    k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_lb8,   k_space,         kp_enter,        k_lb5   }  \
-}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/info.json b/keyboards/unicomp/spacesaver_m_post_2013/info.json
index 7afe842b8a..fc91057391 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_post_2013/info.json
@@ -1,32 +1,2650 @@
 {
-    "keyboard_name": "Unicomp Spacesaver M", 
-    "manufacturer": "Unicomp/Purdea Andrei",
-    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", 
-    "maintainer": "purdeaandrei", 
+    "matrix_pins": {
+        "ghost": true
+    },
     "usb": {
         "vid": "0x16C0",
         "pid": "0x27DB",
         "device_version": "0.0.1"
     },
-    "matrix_pins": {
-        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
-        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
-    },
-    "diode_direction": "ROW2COL",
-    "indicators": {
-        "caps_lock": "C12"
-    },
-    "processor": "STM32F446", // RET6
-    "bootloader": "stm32-dfu",
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 13,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 14,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 3.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 12.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 13.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 4,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 5,
+                    "y": 5.5,
+                    "w": 4.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 18.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_ansi": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 12.75,
+                    "y": 3.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_iso": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.5}, {"x":12.5, "y":5.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 2.5,
+                    "w": 1.25,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         }
     }
 }
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
index c02ea1f913..71e60e9cfe 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
@@ -15,17 +15,17 @@
  */
 #pragma once
 
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
 
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
 
 #define STM32_HSECLK 16000000
 
 #define SOLENOID_PIN B5
 #define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
 #define SOLENOID_MIN_DWELL 4
 #define HAPTIC_OFF_IN_LOW_POWER 1
 #define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..cf25addc9e
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/info.json
@@ -0,0 +1,18 @@
+{
+    "keyboard_name": "Unicomp Spacesaver M (post-2013)",
+    "manufacturer": "Unicomp/Purdea Andrei",
+    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+    "maintainer": "purdeaandrei",
+    "indicators": {
+        "caps_lock": "C12"
+    },
+    "processor": "STM32F446", // RET6
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "matrix_pins": {
+        // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+        // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+    }
+}
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
index eda367804d..f0c1161cfe 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -14,18 +14,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "overnumpad_1xb.h"
+#include "quantum.h"
 
 void keyboard_post_init_kb(void)
 {
     // Led pins:
-    // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
+    // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
     setPinOutput(C11); // middle led, always off on Spacesaver M
     writePin(C11, 0);
     setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
-
-    //debug_enable=true;
-    //debug_matrix=true;
 }
 
 
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index faffbcd4ec..0000000000
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt, k_code,      k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,    kp_0_hidden, kp_0,   kp_dot,  kp_enter_hidden  \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    k_bsp_hidden, kp_nl,    k_pgup, k_code, k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    k_rshift_hidden, kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           kp_0_hidden,     k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          kp_enter_hidden, KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_ansi( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote,        k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,       k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { KC_NO,  KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, KC_NO,           KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_iso( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,      k_return,  k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,                                        kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_1_d,  k_6_4,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   KC_NO,        k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/info.json b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
index 52d2849e8a..57ac811dd9 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/info.json
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/info.json
@@ -1,32 +1,2656 @@
 {
-    "keyboard_name": "Unicomp Spacesaver M", 
-    "manufacturer": "Unicomp/Purdea Andrei",
-    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb", 
-    "maintainer": "purdeaandrei", 
+    "matrix_pins": {
+        "ghost": true
+    },
     "usb": {
         "vid": "0x16C0",
         "pid": "0x27DB",
         "device_version": "0.0.1"
     },
-    "matrix_pins": {
-        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
-        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
-    },
-    "diode_direction": "ROW2COL",
-    "indicators": {
-        "caps_lock": "C12"
-    },
-    "processor": "STM32F446", // RET6
-    "bootloader": "stm32-dfu",
     "layouts": {
         "LAYOUT_all": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":4.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        1
+                    ],
+                    "x": 13,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 14,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 3.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        13
+                    ],
+                    "x": 12.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 13.25,
+                    "y": 4.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        2,
+                        4
+                    ],
+                    "x": 4,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 5,
+                    "y": 5.5,
+                    "w": 4.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        14
+                    ],
+                    "x": 18.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_ansi": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        8
+                    ],
+                    "x": 13.5,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 12.75,
+                    "y": 3.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 2.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         },
         "LAYOUT_iso": {
-            "layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":1.5, "y":5.5, "w":1.25}, {"x":2.75, "y":5.5, "w":1.25}, {"x":4, "y":5.5, "w":5.75}, {"x":9.75, "y":5.5, "w":1.25}, {"x":11, "y":5.5, "w":1.25}, {"x":12.25, "y":5.5, "w":1.25}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
+            "layout": [
+                {
+                    "matrix": [
+                        0,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        3
+                    ],
+                    "x": 3,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        2
+                    ],
+                    "x": 4,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        4
+                    ],
+                    "x": 5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        8
+                    ],
+                    "x": 6.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        8
+                    ],
+                    "x": 7.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        9
+                    ],
+                    "x": 8.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        10
+                    ],
+                    "x": 11,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        10
+                    ],
+                    "x": 12,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        11
+                    ],
+                    "x": 13,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        11
+                    ],
+                    "x": 14,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        12
+                    ],
+                    "x": 15.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        14
+                    ],
+                    "x": 16.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        0,
+                        1
+                    ],
+                    "x": 17.25,
+                    "y": 0
+                },
+                {
+                    "matrix": [
+                        7,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        0
+                    ],
+                    "x": 1,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        3
+                    ],
+                    "x": 2,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        5
+                    ],
+                    "x": 3,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        6
+                    ],
+                    "x": 4,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        6
+                    ],
+                    "x": 5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        7
+                    ],
+                    "x": 6,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        7
+                    ],
+                    "x": 7,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        5
+                    ],
+                    "x": 8,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        9
+                    ],
+                    "x": 9,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        10
+                    ],
+                    "x": 10,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        9
+                    ],
+                    "x": 11,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        8
+                    ],
+                    "x": 12,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        8
+                    ],
+                    "x": 13,
+                    "y": 1.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        0,
+                        4
+                    ],
+                    "x": 15.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        12
+                    ],
+                    "x": 16.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        2
+                    ],
+                    "x": 18.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        12
+                    ],
+                    "x": 19.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        11
+                    ],
+                    "x": 20.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        2
+                    ],
+                    "x": 21.5,
+                    "y": 1.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        0
+                    ],
+                    "x": 0,
+                    "y": 2.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        0
+                    ],
+                    "x": 1.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        3
+                    ],
+                    "x": 2.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        5
+                    ],
+                    "x": 3.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        6
+                    ],
+                    "x": 4.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        6
+                    ],
+                    "x": 5.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        7
+                    ],
+                    "x": 6.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        7
+                    ],
+                    "x": 7.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        5
+                    ],
+                    "x": 8.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        9
+                    ],
+                    "x": 9.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        10
+                    ],
+                    "x": 10.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        9
+                    ],
+                    "x": 11.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        8
+                    ],
+                    "x": 12.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        8
+                    ],
+                    "x": 13.75,
+                    "y": 2.5,
+                    "w": 1.25,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        1,
+                        2
+                    ],
+                    "x": 15.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        11
+                    ],
+                    "x": 16.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        3
+                    ],
+                    "x": 17.25,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        12
+                    ],
+                    "x": 21.5,
+                    "y": 2.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 3.5,
+                    "w": 1.75
+                },
+                {
+                    "matrix": [
+                        4,
+                        0
+                    ],
+                    "x": 1.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        3
+                    ],
+                    "x": 2.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        5
+                    ],
+                    "x": 3.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        6
+                    ],
+                    "x": 4.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        6
+                    ],
+                    "x": 5.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        7
+                    ],
+                    "x": 6.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        7
+                    ],
+                    "x": 7.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        5
+                    ],
+                    "x": 8.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        9
+                    ],
+                    "x": 9.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        10
+                    ],
+                    "x": 10.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        10
+                    ],
+                    "x": 11.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        13
+                    ],
+                    "x": 12.75,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        4,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 3.5
+                },
+                {
+                    "matrix": [
+                        3,
+                        1
+                    ],
+                    "x": 0,
+                    "y": 4.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        6,
+                        0
+                    ],
+                    "x": 1.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        0
+                    ],
+                    "x": 2.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        3
+                    ],
+                    "x": 3.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        5
+                    ],
+                    "x": 4.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        6
+                    ],
+                    "x": 5.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        6
+                    ],
+                    "x": 6.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        7
+                    ],
+                    "x": 7.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        7
+                    ],
+                    "x": 8.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        5
+                    ],
+                    "x": 9.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        9
+                    ],
+                    "x": 10.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        10
+                    ],
+                    "x": 11.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        1
+                    ],
+                    "x": 12.25,
+                    "y": 4.5,
+                    "w": 2.75
+                },
+                {
+                    "matrix": [
+                        2,
+                        13
+                    ],
+                    "x": 16.25,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        12
+                    ],
+                    "x": 18.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        11
+                    ],
+                    "x": 19.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 4.5
+                },
+                {
+                    "matrix": [
+                        7,
+                        14
+                    ],
+                    "x": 21.5,
+                    "y": 4.5,
+                    "h": 2
+                },
+                {
+                    "matrix": [
+                        3,
+                        15
+                    ],
+                    "x": 0,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        2,
+                        14
+                    ],
+                    "x": 1.5,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        4,
+                        4
+                    ],
+                    "x": 2.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        13
+                    ],
+                    "x": 4,
+                    "y": 5.5,
+                    "w": 5.75
+                },
+                {
+                    "matrix": [
+                        6,
+                        4
+                    ],
+                    "x": 9.75,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        1,
+                        13
+                    ],
+                    "x": 11,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        7,
+                        12
+                    ],
+                    "x": 12.25,
+                    "y": 5.5,
+                    "w": 1.25
+                },
+                {
+                    "matrix": [
+                        5,
+                        15
+                    ],
+                    "x": 13.5,
+                    "y": 5.5,
+                    "w": 1.5
+                },
+                {
+                    "matrix": [
+                        6,
+                        8
+                    ],
+                    "x": 15.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        1,
+                        10
+                    ],
+                    "x": 16.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        0,
+                        13
+                    ],
+                    "x": 17.25,
+                    "y": 5.5
+                },
+                {
+                    "matrix": [
+                        5,
+                        11
+                    ],
+                    "x": 18.5,
+                    "y": 5.5,
+                    "w": 2
+                },
+                {
+                    "matrix": [
+                        5,
+                        2
+                    ],
+                    "x": 20.5,
+                    "y": 5.5
+                }
+            ]
         }
     }
 }
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
index c02ea1f913..71e60e9cfe 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
@@ -15,17 +15,17 @@
  */
 #pragma once
 
+#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
 
-#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-#define MATRIX_HAS_GHOST
+#ifndef SERIAL_NUMBER
+#define SERIAL_NUMBER DEF_SERIAL_NUMBER
+#endif
 
 #define STM32_HSECLK 16000000
 
 #define SOLENOID_PIN B5
 #define HAPTIC_ENABLE_PIN C13
-#define SOLENOID_DEFAULT_DWELL 4
+#define SOLENOID_DEFAULT_DWELL 20
 #define SOLENOID_MIN_DWELL 4
 #define HAPTIC_OFF_IN_LOW_POWER 1
 #define NO_HAPTIC_MOD
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json
new file mode 100644
index 0000000000..31fc97a527
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/info.json
@@ -0,0 +1,18 @@
+{
+    "keyboard_name": "Unicomp Spacesaver M (pre-2013)",
+    "manufacturer": "Unicomp/Purdea Andrei",
+    "url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
+    "maintainer": "purdeaandrei",
+    "indicators": {
+        "caps_lock": "C12"
+    },
+    "processor": "STM32F446", // RET6
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "matrix_pins": {
+        // The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
+        // the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
+        "cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
+        "rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
+    }
+}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
index b7e3fd9632..517df0035a 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -14,18 +14,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "overnumpad_1xb.h"
+#include "quantum.h"
 
 void keyboard_post_init_kb(void)
 {
     // Led pins:
-    // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
+    // C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
     setPinOutput(C11); // middle led, always off on Spacesaver M
     writePin(C11, 0);
     setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
-
-    //debug_enable=true;
-    //debug_matrix=true;
 }
 
 layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h
deleted file mode 100644
index 0938d456d1..0000000000
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2020 Purdea Andrei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt, k_code,      k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,    kp_0_hidden, kp_0,   kp_dot,  kp_enter_hidden  \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    k_bsp_hidden, kp_nl,    k_pgup, k_code, k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    k_rshift_hidden, kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           kp_0_hidden,     k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          kp_enter_hidden, KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_ansi( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl,       k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote,        k_return,                               kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,       k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   k_backsl,     k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { KC_NO,  KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, KC_NO,           KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}
-
-#define LAYOUT_iso( \
-    k_esc,       k_f1, k_f2, k_f3, k_f4,    k_f5, k_f6, k_f7, k_f8,    k_f9, k_f10, k_f11, k_f12,            k_prscr, k_scrl, k_pause, \
-    k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals,               k_backspace,  k_ins,   k_home, k_pgup,     kp_nl,       kp_div, kp_mult, kp_minus,        \
-    k_tab,     k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,      k_return,  k_del,   k_end,  k_pgdn,     kp_7,        kp_8,   kp_9,    kp_plus,         \
-    k_caps,       k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,                                        kp_4,        kp_5,   kp_6,    kp_plus_hidden,  \
-    k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash,                  k_rshift,           k_up,               kp_1,        kp_2,   kp_3,    kp_enter,        \
-    k_lctrl, k_lwin, k_lalt,              k_space,             k_6_4,  k_1_d,  k_rmenu, k_rctrl,             k_left,  k_down, k_right,           kp_0,         kp_dot                    \
-) \
-{ \
-    /*        0       1             2         3       4       5      6      7      8             9             A              B        C        D                E                F   */ \
-    /* 0 */ { k_esc,  k_pause,      k_f3,     k_f1,   k_ins,  k_3,   k_4,   k_6,   k_f5,         k_f7,         k_f9,          k_f11,   k_prscr, k_right,         k_scrl,          KC_NO   }, \
-    /* 1 */ { k_tab,  KC_NO,        k_del,    k_pgdn, KC_NO,  k_e,   k_t,   k_u,   k_backspace,  k_minus,      k_down,        k_end,   k_home,  k_1_d,           KC_NO,           k_caps  }, \
-    /* 2 */ { k_1,    KC_NO,        kp_nl,    k_pgup, KC_NO,  k_i,   k_r,   k_y,   k_equals,     k_9,          k_0,           kp_mult, kp_div,  k_up,            k_lwin,          KC_NO   }, \
-    /* 3 */ { k_q,    k_lshift,     kp_9,     k_2,    KC_NO,  k_k,   k_f,   k_h,   k_squarebrcl, k_o,          k_semicolon,   kp_8,    kp_7,    KC_NO,           KC_NO,           k_lctrl }, \
-    /* 4 */ { k_a,    KC_NO,        kp_6,     k_w,    k_lalt, k_d,   k_g,   k_j,   KC_NO,        k_squarebrop, k_singlequote, kp_5,    kp_4,    KC_NO,           kp_plus_hidden,  KC_NO   }, \
-    /* 5 */ { k_z,    k_rshift,     kp_dot,   k_x,    KC_NO,  k_cm,  k_b,   k_m,   k_return,     k_period,     k_p,           kp_0,    kp_1,    KC_NO,           KC_NO,           k_rctrl }, \
-    /* 6 */ { k_nubs, KC_NO,        kp_3,     k_s,    k_6_4,  k_c,   k_v,   k_n,   k_left,       k_l,          k_fwslash,     kp_2,    kp_plus, k_nuhs,          KC_NO,           KC_NO   }, \
-    /* 7 */ { k_tild, KC_NO,        kp_minus, k_f2,   k_f4,   k_8,   k_5,   k_7,   k_f6,         k_f8,         k_f10,         k_f12,   k_rmenu, k_space,         kp_enter,        KC_NO   }  \
-}