Move keyboard USB IDs and strings to data driven: 0-9 (#16481)

This commit is contained in:
Ryan
2022-03-14 10:54:49 +11:00
committed by GitHub
parent df3770551a
commit c0f4179117
70 changed files with 237 additions and 269 deletions
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // 40%
#define PRODUCT_ID 0x0F25
#define DEVICE_VER 0x0100
#define MANUFACTURER di0ib
#define PRODUCT The 5x5 Keyboard
#define USE_SERIAL
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "foobar",
"keyboard_name": "The 5x5 Keyboard",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0F25",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT_ortho_5x5": {
"layout": [
-7
View File
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER 40percentclub
#define PRODUCT 4pack
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
+9 -3
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "4pack",
"url": "",
"maintainer": "qmk",
"keyboard_name": "4pack",
"manufacturer": "40percentclub",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0000",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}]
-7
View File
@@ -4,13 +4,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered.
#define PRODUCT_ID 0x0A0C
#define DEVICE_VER 0x4444
#define MANUFACTURER di0ib
#define PRODUCT The 4x4 Keyboard
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 16
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "40percent.club 4x4",
"keyboard_name": "The 4x4 Keyboard",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0A0C",
"device_version": "44.4.4"
},
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
-7
View File
@@ -4,13 +4,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // 40%
#define PRODUCT_ID 0x05B5
#define DEVICE_VER 0x0100
#define MANUFACTURER di0ib
#define PRODUCT The 5x5 Keyboard
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "40percent.club 5x5",
"keyboard_name": "The 5x5 Keyboard",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x05B5",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT_ortho_5x5": {
"layout": [
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // 40%
#define PRODUCT_ID 0x0F61
#define DEVICE_VER 0x0100
#define MANUFACTURER di0ib
#define PRODUCT The 6lit Macropad
#define USE_SERIAL
/* serial.c configuration for split keyboard */
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "6lit",
"keyboard_name": "The 6lit Macropad",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0F61",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // 40%
#define PRODUCT_ID 0x0F00
#define DEVICE_VER 0x0100
#define MANUFACTURER di0ib
#define PRODUCT The foobar Keyboard
#define USE_SERIAL
/* serial.c configuration for split keyboard */
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "foobar",
"keyboard_name": "The foobar Keyboard",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0F00",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT_ortho_3x5": {
"layout": [
-7
View File
@@ -2,13 +2,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered.
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER 40 Percent Club
#define PRODUCT Gherkin
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
@@ -1,7 +1,13 @@
{
"keyboard_name": "Gherkin",
"manufacturer": "40 Percent Club",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x6060",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_ortho_3x10": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}]
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // 40%
#define PRODUCT_ID 0x4A1F
#define DEVICE_VER 0x0100
#define MANUFACTURER di0ib
#define PRODUCT half_n_half
/* key matrix size */
#define MATRIX_ROWS 4*2
#define MATRIX_COLS 7
@@ -1,7 +1,13 @@
{
"keyboard_name": "half_n_half",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x4A1F",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT": {
"layout": [
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x0A0C
#define DEVICE_VER 0x0175
#define MANUFACTURER di0ib
#define PRODUCT i75
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+6
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "i75",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0A0C",
"device_version": "1.7.5"
},
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
-7
View File
@@ -2,13 +2,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered
#define PRODUCT_ID 0x4C55 // "LU"
#define DEVICE_VER 0x1001
#define MANUFACTURER di0ib
#define PRODUCT Luddite
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
@@ -1,7 +1,13 @@
{
"keyboard_name": "Luddite",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x4C55",
"device_version": "10.0.1"
},
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
-7
View File
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered
#define PRODUCT_ID 0x4D68 // "M68"
#define DEVICE_VER 0x0101
#define MANUFACTURER di0ib
#define PRODUCT MF68
/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 9
+6
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "MF68",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x4D68",
"device_version": "1.0.1"
},
"layouts": {
"LAYOUT_68_ansi": {
"layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"x":15.25, "y":1}, {"x":16.25, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"x":15.25, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
-7
View File
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 //"40 %", to make it consistent with other 40percent.club boards.
#define PRODUCT_ID 0x0007
#define DEVICE_VER 0x0001
#define MANUFACTURER di0ib
#define PRODUCT Nano
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
+6
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "Nano",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x0007",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_ortho_2x4": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}]
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 // "40%", changed since 0x3430 is already officially registered
#define PRODUCT_ID 0x9999
#define DEVICE_VER 0x9999
#define MANUFACTURER di0ib
#define PRODUCT The nein Keyboard
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 3
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "nein",
"keyboard_name": "The nein Keyboard",
"manufacturer": "di0ib",
"url": "http://www.40percent.club/2019/04/nein.html",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"vid": "0x9999",
"device_version": "99.9.9"
},
"layouts": {
"LAYOUT_ortho_3x3": {
"layout": [
-7
View File
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x0A0C
#define DEVICE_VER 0x0444
#define MANUFACTURER di0ib
#define PRODUCT The nori Keyboard
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "nori",
"keyboard_name": "The nori Keyboard",
"manufacturer": "di0ib",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0xA0C",
"device_version": "4.4.4"
},
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
@@ -18,13 +18,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER di0ib
#define PRODUCT Polypad
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "Polyandry",
"keyboard_name": "Polypad",
"manufacturer": "di0ib",
"url": "",
"maintainer": "QMK",
"usb": {
"vid": "0x4025",
"pid": "0x6060",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [
-7
View File
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025 //"40 %", since 0x3430 is already registered.
#define PRODUCT_ID 0x5350 // "SP"
#define DEVICE_VER 0x1001
#define MANUFACTURER di0ib
#define PRODUCT Six Pack
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
@@ -1,7 +1,13 @@
{
"keyboard_name": "Six Pack",
"manufacturer": "di0ib",
"url": "https://www.40percent.club/2017/05/six-pack-11.html",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x5350",
"device_version": "10.0.1"
},
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
-7
View File
@@ -2,13 +2,6 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x546F //"To", was duplicate with polyandry
#define DEVICE_VER 0x0001
#define MANUFACTURER 40 Percent Club
#define PRODUCT Tomato
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
+6
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "Tomato",
"manufacturer": "40 Percent Club",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"pid": "0x546F",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_ortho_3x10": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}]
-7
View File
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4025
#define PRODUCT_ID 0x7574 //"ut"
#define DEVICE_VER 0x0001
#define MANUFACTURER 40percent.club
#define PRODUCT ut47
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
+7 -1
View File
@@ -1,7 +1,13 @@
{
"keyboard_name": "UT47",
"keyboard_name": "ut47",
"manufacturer": "40percent.club",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
"vid": "0x7574",
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.5}, {"label":"LT(3) / Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.25}, {"label":"Shift", "x":0, "y":2, "w":1.5}, {"label":"Z", "x":1.5, "y":2}, {"label":"X", "x":2.5, "y":2}, {"label":"C", "x":3.5, "y":2}, {"label":"V", "x":4.5, "y":2}, {"label":"B", "x":5.5, "y":2}, {"label":"N", "x":6.5, "y":2}, {"label":"M", "x":7.5, "y":2}, {"label":"<", "x":8.5, "y":2}, {"label":">", "x":9.5, "y":2}, {"label":"?", "x":10.5, "y":2}, {"label":"Shift / Enter", "x":11.5, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Alt", "x":1, "y":3}, {"label":"GUI", "x":2, "y":3}, {"label":"Menu", "x":3, "y":3}, {"label":"MO(2)", "x":4, "y":3, "w":1.25}, {"x":5.25, "y":3, "w":2}, {"label":"MO(1)", "x":7.25, "y":3, "w":1.25}, {"label":"\u2190", "x":8.5, "y":3}, {"label":"\u2193", "x":9.5, "y":3}, {"label":"\u2191", "x":10.5, "y":3}, {"label":"\u2192", "x":11.5, "y":3}]