From bd93d9cdcabe376dcfba3bbf6321a2c3da884682 Mon Sep 17 00:00:00 2001 From: "Peter J. Jones" Date: Sun, 6 Oct 2024 22:50:12 +0200 Subject: [PATCH] Add support for keebio/quefrency revisions 3 and 5 (#794) --- .../quefrency/rev3/keymaps/vial/config.h | 13 + .../quefrency/rev3/keymaps/vial/keymap.c | 48 ++ .../quefrency/rev3/keymaps/vial/rules.mk | 26 + .../quefrency/rev3/keymaps/vial/vial.json | 504 ++++++++++++++++++ .../quefrency/rev5/keymaps/vial/config.h | 12 + .../quefrency/rev5/keymaps/vial/keymap.c | 42 ++ .../quefrency/rev5/keymaps/vial/rules.mk | 26 + .../quefrency/rev5/keymaps/vial/vial.json | 292 ++++++++++ 8 files changed, 963 insertions(+) create mode 100644 keyboards/keebio/quefrency/rev3/keymaps/vial/config.h create mode 100644 keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c create mode 100644 keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk create mode 100644 keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json create mode 100644 keyboards/keebio/quefrency/rev5/keymaps/vial/config.h create mode 100644 keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c create mode 100644 keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk create mode 100644 keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json diff --git a/keyboards/keebio/quefrency/rev3/keymaps/vial/config.h b/keyboards/keebio/quefrency/rev3/keymaps/vial/config.h new file mode 100644 index 00000000000..a2fa24096d8 --- /dev/null +++ b/keyboards/keebio/quefrency/rev3/keymaps/vial/config.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0xBF, 0x59, 0x7D, 0x4C, 0xDF, 0x1C, 0xBC, 0x81} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 7 } +#define VIAL_UNLOCK_COMBO_COLS { 2, 7 } + +// Reduce the firmware size! +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE +#define LAYER_STATE_8BIT diff --git a/keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c b/keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c new file mode 100644 index 00000000000..859ee216519 --- /dev/null +++ b/keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c @@ -0,0 +1,48 @@ +// Copyright 2022 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layer { + _BASE, + _FN1, +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_with_macro( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_65_with_macro( + _______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) } +}; +#endif + +#ifndef MAGIC_ENABLE +uint16_t keycode_config(uint16_t keycode) { + return keycode; +} +#endif diff --git a/keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk b/keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk new file mode 100644 index 00000000000..ba9b0f32873 --- /dev/null +++ b/keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk @@ -0,0 +1,26 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +LTO_ENABLE = yes +QMK_SETTINGS = yes +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +AVR_USE_MINIMAL_PRINTF = yes +EXTRAKEY_ENABLE = yes + +# Reduce the firmware size: +BACKLIGHT_ENABLE = no +BOOTMAGIC_ENABLE = no +COMBO_ENABLE = no +COMMAND_ENABLE = no +CONSOLE_ENABLE = no +GRAVE_ESC_ENABLE = no +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +MAGIC_ENABLE = no +MOUSEKEY_ENABLE = no +RGB_MATRIX_ENABLE = no +SPACE_CADET_ENABLE = no +TAP_DANCE_ENABLE = no +VIALRGB_ENABLE = no diff --git a/keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json b/keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json new file mode 100644 index 00000000000..a897eaa90c8 --- /dev/null +++ b/keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json @@ -0,0 +1,504 @@ +{ + "name": "Quefrency Rev. 3", + "vendorId": "0xCB10", + "productId": "0x3357", + "matrix": { + "rows": 10, + "cols": 9 + }, + "lighting": "qmk_backlight_rgblight", + "layouts": { + "labels": [ + [ + "Left Macropad", + "Enabled", + "W/Encoder", + "No Macro" + ], + "Split Left Shift", + [ + "Left Space", + "1.25-2.25u", + "2.25-1.25u", + "1.25-1-1.25u" + ], + "Split Backspace", + "ISO Enter", + [ + "Right Column", + "Enabled", + "W/Encoder", + "Disabled" + ], + [ + "Right Shift", + "1.75u Shift-1u", + "2.75u", + "1.75u /" + ], + [ + "Right Mods", + "6x1u", + "2x1.25u__3x1u", + "4x1.25u-1u" + ], + "Split Right Space" + ], + "keymap": [ + [ + { + "x": 1.75 + }, + "0,0\n\n\n0,1\n\n\n\n\n\ne", + { + "c": "#aaaaaa" + }, + "0,1\n\n\n0,1\n\n\n\n\n\ne", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "\n\n\n0,0", + { + "d": true + }, + "\n\n\n0,0", + { + "x": 16.5, + "c": "#aaaaaa", + "d": true + }, + "\n\n\n5,0", + { + "d": true + }, + "\n\n\n5,0", + { + "x": 3.75 + }, + "1,0\n\n\n5,1\n\n\n\n\n\ne", + "1,1\n\n\n5,1\n\n\n\n\n\ne" + ], + [ + { + "c": "#cccccc", + "d": true + }, + "0,0\n\n\n0,2", + { + "d": true + }, + "0,1\n\n\n0,2", + { + "x": 0.25, + "c": "#aaaaaa" + }, + "0,0\n\n\n0,1", + "0,1\n\n\n0,1", + { + "x": 0.25 + }, + "0,0\n\n\n0,0", + "0,1\n\n\n0,0", + { + "x": 0.5, + "c": "#777777" + }, + "0,2", + { + "c": "#cccccc" + }, + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 1 + }, + "5,0", + "5,1", + "5,2", + "5,3", + "5,4", + "5,5", + { + "c": "#aaaaaa", + "w": 2 + }, + "5,7\n\n\n3,0", + "5,8\n\n\n5,0", + { + "x": 0.75 + }, + "5,6\n\n\n3,1", + "5,7\n\n\n3,1", + { + "x": 2 + }, + "5,8\n\n\n5,1\n\n\n\n\n\ne1", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "5,8\n\n\n5,2" + ], + [ + { + "d": true + }, + "1,0\n\n\n0,2", + { + "d": true + }, + "1,1\n\n\n0,2", + { + "x": 0.25, + "c": "#aaaaaa" + }, + "1,0\n\n\n0,1", + "1,1\n\n\n0,1", + { + "x": 0.25 + }, + "1,0\n\n\n0,0", + "1,1\n\n\n0,0", + { + "x": 0.5, + "w": 1.5 + }, + "1,2", + { + "c": "#cccccc" + }, + "1,3", + "1,4", + "1,5", + "1,6", + "1,7", + { + "x": 1 + }, + "6,0", + "6,1", + "6,2", + "6,3", + "6,4", + "6,5", + "6,6", + { + "w": 1.5 + }, + "6,7\n\n\n4,0", + { + "c": "#aaaaaa" + }, + "6,8\n\n\n5,0", + { + "x": 2, + "c": "#777777", + "w": 1.25, + "h": 2, + "w2": 1.5, + "h2": 1, + "x2": -0.25 + }, + "7,7\n\n\n4,1", + { + "x": 1.5, + "c": "#aaaaaa" + }, + "6,8\n\n\n5,1", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "6,8\n\n\n5,2" + ], + [ + { + "d": true + }, + "2,0\n\n\n0,2", + { + "d": true + }, + "2,1\n\n\n0,2", + { + "x": 0.25, + "c": "#aaaaaa" + }, + "2,0\n\n\n0,1", + "2,1\n\n\n0,1", + { + "x": 0.25 + }, + "2,0\n\n\n0,0", + "2,1\n\n\n0,0", + { + "x": 0.5, + "w": 1.75 + }, + "2,2", + { + "c": "#cccccc" + }, + "2,3", + "2,4", + "2,5", + "2,6", + "2,7", + { + "x": 1 + }, + "7,0", + "7,1", + "7,2", + "7,3", + "7,4", + "7,5", + { + "c": "#777777", + "w": 2.25 + }, + "7,7\n\n\n4,0", + { + "c": "#aaaaaa" + }, + "7,8\n\n\n5,0", + { + "x": 1, + "c": "#cccccc" + }, + "7,6\n\n\n4,1", + { + "x": 2.75, + "c": "#aaaaaa" + }, + "7,8\n\n\n5,1", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "7,8\n\n\n5,2" + ], + [ + { + "d": true + }, + "3,0\n\n\n0,2", + { + "d": true + }, + "3,1\n\n\n0,2", + { + "x": 0.25, + "c": "#aaaaaa" + }, + "3,0\n\n\n0,1", + "3,1\n\n\n0,1", + { + "x": 0.25 + }, + "3,0\n\n\n0,0", + "3,1\n\n\n0,0", + { + "x": 0.5, + "w": 2.25 + }, + "3,2\n\n\n1,0", + { + "c": "#cccccc" + }, + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + { + "x": 1 + }, + "8,0", + "8,1", + "8,2", + "8,3", + "8,4\n\n\n6,0", + { + "c": "#aaaaaa", + "w": 1.75 + }, + "8,6\n\n\n6,0", + "8,7\n\n\n6,0", + "8,8\n\n\n5,0", + { + "x": 0.75, + "c": "#cccccc" + }, + "8,4\n\n\n6,1", + { + "c": "#aaaaaa", + "w": 2.75 + }, + "8,6\n\n\n6,1", + { + "x": 0.25 + }, + "8,8\n\n\n5,1", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "8,8\n\n\n5,2" + ], + [ + { + "d": true + }, + "4,0\n\n\n0,2", + { + "d": true + }, + "4,1\n\n\n0,2", + { + "x": 0.25, + "c": "#aaaaaa" + }, + "4,0\n\n\n0,1", + "4,1\n\n\n0,1", + { + "x": 0.25 + }, + "4,0\n\n\n0,0", + "4,1\n\n\n0,0", + { + "x": 0.5, + "w": 1.25 + }, + "4,2", + { + "w": 1.25 + }, + "4,3", + { + "w": 1.25 + }, + "4,4", + { + "w": 1.25 + }, + "4,5\n\n\n2,0", + { + "w": 2.25 + }, + "4,7\n\n\n2,0", + { + "x": 1, + "w": 2.75 + }, + "9,1\n\n\n8,0", + "9,2\n\n\n7,0", + "9,3\n\n\n7,0", + "9,4\n\n\n7,0", + "9,6\n\n\n7,0", + "9,7\n\n\n7,0", + "9,8\n\n\n5,0", + { + "x": 0.75, + "c": "#cccccc", + "w": 1.75 + }, + "8,4\n\n\n6,2", + { + "c": "#aaaaaa" + }, + "8,6\n\n\n6,2", + "8,7\n\n\n6,2", + { + "x": 0.25 + }, + "9,8\n\n\n5,1", + { + "x": 0.25, + "c": "#cccccc", + "d": true + }, + "9,8\n\n\n5,2" + ], + [ + { + "x": 7, + "c": "#aaaaaa", + "w": 1.25 + }, + "3,2\n\n\n1,1", + "3,3\n\n\n1,1", + { + "x": 1.5, + "w": 2.25 + }, + "4,5\n\n\n2,1", + { + "w": 1.25 + }, + "4,7\n\n\n2,1", + { + "x": 1, + "w": 1.25 + }, + "9,0\n\n\n8,1", + { + "w": 1.5 + }, + "9,1\n\n\n8,1", + { + "w": 1.25 + }, + "9,2\n\n\n7,1", + { + "w": 1.25 + }, + "9,3\n\n\n7,1", + { + "x": 0.5 + }, + "9,6\n\n\n7,1", + "9,7\n\n\n7,1" + ], + [ + { + "x": 10.75, + "w": 1.25 + }, + "4,5\n\n\n2,2", + "4,6\n\n\n2,2", + { + "w": 1.25 + }, + "4,7\n\n\n2,2", + { + "x": 3.75, + "w": 1.25 + }, + "9,2\n\n\n7,2", + { + "w": 1.25 + }, + "9,3\n\n\n7,2", + { + "w": 1.25 + }, + "9,6\n\n\n7,2", + { + "w": 1.25 + }, + "9,7\n\n\n7,2" + ] +] + } +} diff --git a/keyboards/keebio/quefrency/rev5/keymaps/vial/config.h b/keyboards/keebio/quefrency/rev5/keymaps/vial/config.h new file mode 100644 index 00000000000..8c840039a70 --- /dev/null +++ b/keyboards/keebio/quefrency/rev5/keymaps/vial/config.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x71, 0xE4, 0x34, 0x62, 0x9C, 0x8E, 0x31, 0x68} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 7 } +#define VIAL_UNLOCK_COMBO_COLS { 2, 7 } + +// Reduce the firmware size! +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE diff --git a/keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c b/keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c new file mode 100644 index 00000000000..551208e87d7 --- /dev/null +++ b/keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c @@ -0,0 +1,42 @@ +// Copyright 2022 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layer { + _BASE, + _FN1, +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_with_macro( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_HOME, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_65_with_macro( + _______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______, + _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) } +}; +#endif diff --git a/keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk b/keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk new file mode 100644 index 00000000000..ba9b0f32873 --- /dev/null +++ b/keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk @@ -0,0 +1,26 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +LTO_ENABLE = yes +QMK_SETTINGS = yes +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +AVR_USE_MINIMAL_PRINTF = yes +EXTRAKEY_ENABLE = yes + +# Reduce the firmware size: +BACKLIGHT_ENABLE = no +BOOTMAGIC_ENABLE = no +COMBO_ENABLE = no +COMMAND_ENABLE = no +CONSOLE_ENABLE = no +GRAVE_ESC_ENABLE = no +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +MAGIC_ENABLE = no +MOUSEKEY_ENABLE = no +RGB_MATRIX_ENABLE = no +SPACE_CADET_ENABLE = no +TAP_DANCE_ENABLE = no +VIALRGB_ENABLE = no diff --git a/keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json b/keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json new file mode 100644 index 00000000000..a97d0feba4d --- /dev/null +++ b/keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json @@ -0,0 +1,292 @@ +{ + "name": "Quefrency Rev. 5", + "vendorId": "0xCB10", + "productId": "0x5357", + "matrix": { + "rows": 10, + "cols": 9 + }, + "lighting": "qmk_rgblight", + "layouts": { + "labels": [ + "Split Backspace", + [ + "Left Macropad", + "Enabled", + "W/Encoder", + "No Macro" + ], + [ + "Right Mods", + "6x1u", + "2x1.25u__3x1u" + ], + "Right Encoder" + ], + "keymap": [ + [ + { + "y": 1, + "x": 1.75 + }, + "0,0\n\n\n1,1\n\n\n\n\n\ne", + { + "c": "#aaaaaa" + }, + "0,1\n\n\n1,1\n\n\n\n\n\ne", + { + "x": 0.25, + "d": true + }, + "\n\n\n1,0", + { + "d": true + }, + "\n\n\n1,0", + { + "x": 16.5, + "c": "#cccccc", + "d": true + }, + "\n\n\n3,0", + { + "d": true + }, + "\n\n\n3,0", + { + "x": 0.25 + }, + "1,0\n\n\n3,1\n\n\n\n\n\ne", + "1,1\n\n\n3,1\n\n\n\n\n\ne" + ], + [ + { + "x": 2.25, + "c": "#aaaaaa" + }, + "0,0\n\n\n1,1", + "0,1\n\n\n1,1", + { + "x": 0.25 + }, + "0,0\n\n\n1,0", + "0,1\n\n\n1,0", + { + "x": 0.5, + "c": "#777777" + }, + "0,2", + { + "c": "#cccccc" + }, + "0,3", + "0,4", + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 1 + }, + "5,0", + "5,1", + "5,2", + "5,3", + "5,4", + "5,5", + { + "c": "#aaaaaa", + "w": 2 + }, + "5,7\n\n\n0,0", + "5,8", + { + "x": 0.5 + }, + "5,6\n\n\n0,1", + "5,7\n\n\n0,1" + ], + [ + { + "x": 2.25 + }, + "1,0\n\n\n1,1", + "1,1\n\n\n1,1", + { + "x": 0.25 + }, + "1,0\n\n\n1,0", + "1,1\n\n\n1,0", + { + "x": 0.5, + "w": 1.5 + }, + "1,2", + { + "c": "#cccccc" + }, + "1,3", + "1,4", + "1,5", + "1,6", + "1,7", + { + "x": 1 + }, + "6,0", + "6,1", + "6,2", + "6,3", + "6,4", + "6,5", + "6,6", + { + "w": 1.5 + }, + "6,7", + { + "c": "#aaaaaa" + }, + "6,8" + ], + [ + { + "x": 2.25 + }, + "2,0\n\n\n1,1", + "2,1\n\n\n1,1", + { + "x": 0.25 + }, + "2,0\n\n\n1,0", + "2,1\n\n\n1,0", + { + "x": 0.5, + "w": 1.75 + }, + "2,2", + { + "c": "#cccccc" + }, + "2,3", + "2,4", + "2,5", + "2,6", + "2,7", + { + "x": 1 + }, + "7,0", + "7,1", + "7,2", + "7,3", + "7,4", + "7,5", + { + "c": "#777777", + "w": 2.25 + }, + "7,7", + { + "c": "#aaaaaa" + }, + "7,8" + ], + [ + { + "x": 2.25 + }, + "3,0\n\n\n1,1", + "3,1\n\n\n1,1", + { + "x": 0.25 + }, + "3,0\n\n\n1,0", + "3,1\n\n\n1,0", + { + "x": 0.5, + "w": 2.25 + }, + "3,2", + { + "c": "#cccccc" + }, + "3,4", + "3,5", + "3,6", + "3,7", + "3,8", + { + "x": 1 + }, + "8,0", + "8,1", + "8,2", + "8,3", + "8,4", + { + "c": "#aaaaaa", + "w": 1.75 + }, + "8,6", + "8,7", + "8,8" + ], + [ + { + "x": 2.25 + }, + "4,0\n\n\n1,1", + "4,1\n\n\n1,1", + { + "x": 0.25 + }, + "4,0\n\n\n1,0", + "4,1\n\n\n1,0", + { + "x": 0.5, + "w": 1.25 + }, + "4,2", + { + "w": 1.25 + }, + "4,3", + { + "w": 1.25 + }, + "4,4", + { + "w": 1.25 + }, + "4,5", + { + "w": 2.25 + }, + "4,7", + { + "x": 1, + "w": 2.75 + }, + "9,1", + "9,2\n\n\n2,0", + "9,3\n\n\n2,0", + "9,4\n\n\n2,0", + "9,6", + "9,7", + "9,8" + ], + [ + { + "x": 18, + "w": 1.25 + }, + "9,2\n\n\n2,1", + { + "w": 1.25 + }, + "9,3\n\n\n2,1" + ] + ] + } +}