forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] Add Fine!40 PCB Support (qmk#17426)
Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]>
- Loading branch information
1 parent
5e347f4
commit 7a73f9a
Showing
9 changed files
with
446 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
// Copyright 2022 Aidan Smith (@Aidan-OS) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#include "config_common.h" | ||
|
||
#define ENCODER_RESOLUTION 2 | ||
#define ENCODERS_PAD_A { D5 } | ||
#define ENCODERS_PAD_B { B7 } | ||
|
||
#define OLED_DISPLAY_128X64 //Comment this out to change the screen size |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
// Copyright 2022 Aidan Smith (@Aidan-OS) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
#include "fine40.h" | ||
|
||
enum keyboard_layers { | ||
_MAIN, | ||
_RIGHT, | ||
_LEFT, | ||
_TAB, | ||
}; | ||
|
||
#ifdef OLED_ENABLE | ||
//static void render_logo(void) { | ||
// static const char PROGMEM raw_logo[] = { | ||
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224,240,240,248,248,248,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,248,248,248,240,240,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,224,224,192, 0, 0, 0, 0, 96,240,240, 96, 0, 0, 0, 0, 0, 0,240,240,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0, 0, 0, 0,128,192,224,240,248,252,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 15, 7, 7, 7, 15,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,252,248,240,224,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,240,254,255,127,115,127,127,255,252,224, 0,255,255,255,254, 48,254,254,255,199,135,255,255,255, 0,224,247,255,191,191,255,255,254, 0,254,255,255,255, 7,255,255,254,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0,192,248,254,255,255,255,255,255,255,255,255,255,127, 31, 15, 7, 3, 1,192,224,240,251,255,255,255,255,255, 0, 0, 0, 0, 0,255,255,255,255,255,255,241,225,192, 1, 3, 7, 15, 31,127,255,255,255,255,255,255,255,255,255,254,248,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3,128,128,128,128, 0, 1, 3, 3, 1, 1, 3, 3, 1, 0, 0, 1, 1, 3, 3, 3, 3,129,192,128, 1, 3, 3, 3, 3, 1, 1, 0,129,195,195,193, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255, 7, 0, 0, 0,240,252,255,255,255,255,255,255,255,255,255,255,255,254,252,254,255,255,255,255,255,255,255,255,255,255,255,252,240, 0, 0, 0, 7,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 63, 63,127,123,243,247,231,193, 0,252,252,252, 28, 60,252,252,252, 28,252,252,248,224, 0,255,255,255, 0,255,255,255,255, 28, 28, 0,255,255,255,255, 28,252,252,248,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,240, 0, 0, 0, 7, 31,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127, 31, 7, 0, 0, 0,240,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 15, 15, 14, 15, 7, 7, 3, 0, 15, 15, 15, 0, 0, 15, 15, 15, 0, 7, 15, 15, 7, 0, 15, 15, 15, 0, 1, 7, 7, 15, 14, 14, 6, 7, 7, 7, 7, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0, 1, 15, 63,255,255,255,255,255,255,255,255,255,255,254,248,240,224,192,128,129, 3, 7, 15, 15, 31, 31, 31, 63, 63, 63, 63, 63, 31, 31, 31, 15, 15, 7, 3,129,128,192,224,240,248,254,255,255,255,255,255,255,255,255,255,255, 63, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,224,224,252,254,254, 0, 0,128,192,224,224,224,224,192,128, 96,224,224,224, 0, 0,224,224,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 31, 63,127,255,255,255,255,255,255,255,255,255,255,254,254,254,254,254,252,252,252,252,252,252,252,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,127, 63, 31, 15, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,120,120, 48, 31, 63, 63,120,112,127,127, 63, 0, 6, 31, 63, 63,127,119,119, 63, 55, 0, 3, 15, 63,127,127, 63, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 7, 7, 15, 15, 15, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 15, 15, 15, 7, 7, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
// }; | ||
// oled_write_raw_P(raw_logo, sizeof(raw_logo)); | ||
//} | ||
|
||
static void render_mochi(void) | ||
{ | ||
static const char PROGMEM mochi_logo[] = { | ||
0, 0, 0, 0, 0,224,240,240,240,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,240,240,240,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,252,252,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,248,248,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,224,240,240,240,224, 0, 0, 0, 0, 0, 0,128,192,224,240,240,240,240,240,240,224,224,192, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0,224,255,255,255, 15, 63,255,254,248,224, 0, 0, 0, 0,224,248,254,255, 31, 31,255,255,255,128, 0, 0, 0,128,224,240,248,252, 60, 28, 28, 30, 28, 60,124,248,248,240,192, 0, 0, 0,128,224,240,248,252, 60, 60, 28, 30, 28, 28, 60, 28, 0, 0, 0,255,255,255,255, 28, 28, 28, 28, 60,124,252,248,240,192, 0, 0, 0, 0,252,252,252,252, 0, 0, 0, 0, 0,192,224,248,252, 63, 31, 7, 3,255,255,255,255, 0, 0, 0, 0,224,254,255,255, 15, 1, 0, 0, 0, 0, 1, 15,255,255,255,248, 0, 0, 0, | ||
0, 0, 0, 0,255,255,255,255, 0, 0, 0, 3, 15, 63,255,252,252,255, 63, 15, 3, 0, 0, 0,255,255,255,255, 0, 0, 0, 63,255,255,255,224,128, 0, 0, 0, 0,128,192,255,255,255,127, 4, 0, 0, 63,255,255,255,224,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 60, 63, 63, 63, 61, 60, 60, 60, 60, 60,255,255,255,255, 60, 60, 0, 0, 7,127,255,255,248,128, 0, 0, 0, 0,128,240,255,255,127, 31, 0, 0, 0, | ||
0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 15, 15, 15, 0, 0, 0, 0, 0, 1, 3, 7, 7, 15, 15, 15, 15, 15, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 3, 3, 7, 7, 15, 15, 15, 15, 15, 15, 7, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 7, 15, 15, 15, 0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 7, 0, 0, 0, 0, 0, 0, 1, 3, 7, 7, 15, 15, 15, 15, 7, 7, 3, 1, 0, 0, 0, 0, 0, | ||
}; | ||
|
||
oled_write_raw_P(mochi_logo, sizeof(mochi_logo)); | ||
} | ||
|
||
|
||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) { | ||
return OLED_ROTATION_180; // flips the display 180 degrees | ||
} | ||
bool oled_task_kb(void) { | ||
if (!oled_task_user()) { | ||
return false; | ||
} | ||
render_mochi(); | ||
oled_set_cursor(0, 4); | ||
oled_write_P(PSTR("Layer: "), false); | ||
|
||
switch(get_highest_layer(layer_state)) | ||
{ | ||
case _MAIN: | ||
oled_write_ln_P(PSTR("Main"), false); | ||
break; | ||
case _LEFT: | ||
oled_write_ln_P(PSTR("Left"), false); | ||
break; | ||
case _RIGHT: | ||
oled_write_ln_P(PSTR("Right"), false); | ||
break; | ||
case _TAB: | ||
oled_write_ln_P(PSTR("Tab"), false); | ||
break; | ||
} | ||
|
||
//render_logo(); | ||
return(true); | ||
} | ||
#endif | ||
|
||
#ifdef ENCODER_ENABLE | ||
bool encoder_update_kb(uint8_t index, bool clockwise) { | ||
if (!encoder_update_user(index, clockwise)) { | ||
return false; | ||
} | ||
// Volume control | ||
if (clockwise) { | ||
tap_code(KC_VOLU); | ||
} else { | ||
tap_code(KC_VOLD); | ||
} | ||
return false; | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
// Copyright 2022 Aidan Smith (@Aidan-OS) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
#include "quantum.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,231 @@ | ||
{ | ||
"manufacturer": "Aidan Smith", | ||
"keyboard_name": "aidansmithdotdev/fine40", | ||
"maintainer": "Aidan-OS", | ||
"bootloader": "atmel-dfu", | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": true, | ||
"command": false, | ||
"console": false, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"encoder": true, | ||
"oled": true, | ||
"nkro": true | ||
}, | ||
"matrix_pins": { | ||
"cols": [ "B3", "E6", "B1", "D7", "F7", "C6" ], | ||
"rows": [ "F5", "F6", "B2", "B5", "F4", "D4", "B4", "B6" ] | ||
}, | ||
"processor": "atmega32u4", | ||
"url": "https://aidansmith.dev", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"pid": "0x4564", | ||
"vid": "0xA059" | ||
}, | ||
"layouts": { | ||
"LAYOUT_2u_single_space": { | ||
"layout": [ | ||
{ "matrix": [0, 0], "x": 0, "y": 0 }, | ||
{ "matrix": [0, 1], "x": 1, "y": 0 }, | ||
{ "matrix": [0, 2], "x": 2, "y": 0 }, | ||
{ "matrix": [0, 3], "x": 3, "y": 0 }, | ||
{ "matrix": [0, 4], "x": 4, "y": 0 }, | ||
{ "matrix": [0, 5], "x": 5, "y": 0 }, | ||
{ "matrix": [4, 5], "x": 6, "y": 0 }, | ||
{ "matrix": [4, 4], "x": 7, "y": 0 }, | ||
{ "matrix": [4, 3], "x": 8, "y": 0 }, | ||
{ "matrix": [4, 2], "x": 9, "y": 0 }, | ||
{ "matrix": [4, 1], "x": 10, "y": 0 }, | ||
{ "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 }, | ||
{ "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 }, | ||
{ "matrix": [1, 1], "x": 1.25, "y": 1 }, | ||
{ "matrix": [1, 2], "x": 2.25, "y": 1 }, | ||
{ "matrix": [1, 3], "x": 3.25, "y": 1 }, | ||
{ "matrix": [1, 4], "x": 4.25, "y": 1 }, | ||
{ "matrix": [1, 5], "x": 5.25, "y": 1 }, | ||
{ "matrix": [5, 5], "x": 6.25, "y": 1 }, | ||
{ "matrix": [5, 4], "x": 7.25, "y": 1 }, | ||
{ "matrix": [5, 3], "x": 8.25, "y": 1 }, | ||
{ "matrix": [5, 2], "x": 9.25, "y": 1 }, | ||
{ "matrix": [5, 1], "x": 10.25, "y": 1 }, | ||
{ "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 }, | ||
{ "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 }, | ||
{ "matrix": [2, 1], "x": 1.5, "y": 2 }, | ||
{ "matrix": [2, 2], "x": 2.5, "y": 2 }, | ||
{ "matrix": [2, 3], "x": 3.5, "y": 2 }, | ||
{ "matrix": [2, 4], "x": 4.5, "y": 2 }, | ||
{ "matrix": [2, 5], "x": 5.5, "y": 2 }, | ||
{ "matrix": [6, 5], "x": 6.5, "y": 2 }, | ||
{ "matrix": [6, 4], "x": 7.5, "y": 2 }, | ||
{ "matrix": [6, 3], "x": 8.5, "y": 2 }, | ||
{ "matrix": [6, 2], "x": 9.5, "y": 2 }, | ||
{ "matrix": [6, 1], "x": 10.5, "y": 2 }, | ||
{ "matrix": [6, 0], "x": 11.5, "y": 2 }, | ||
{ "matrix": [3, 0], "x": 0, "y": 3 }, | ||
{ "matrix": [3, 1], "x": 1, "y": 3 }, | ||
{ "matrix": [3, 2], "x": 2, "y": 3 }, | ||
{ "matrix": [3, 3], "x": 3, "y": 3 }, | ||
{ "matrix": [3, 4], "x": 4, "y": 3, "w": 1.25 }, | ||
{ "matrix": [3, 5], "x": 5.25, "y": 3, "w": 2 }, | ||
{ "matrix": [7, 5], "x": 7.25, "y": 3, "w": 1.25 }, | ||
{ "matrix": [7, 4], "x": 8.5, "y": 3 }, | ||
{ "matrix": [7, 3], "x": 9.5, "y": 3 }, | ||
{ "matrix": [7, 2], "x": 10.5, "y": 3 }, | ||
{ "matrix": [7, 1], "x": 11.5, "y": 3 }, | ||
{ "matrix": [7, 0], "x": 13, "y": 3 } | ||
] | ||
}, | ||
"LAYOUT_2u_split_space": { | ||
"layout": [ | ||
{ "matrix": [0, 0], "x": 0, "y": 0 }, | ||
{ "matrix": [0, 1], "x": 1, "y": 0 }, | ||
{ "matrix": [0, 2], "x": 2, "y": 0 }, | ||
{ "matrix": [0, 3], "x": 3, "y": 0 }, | ||
{ "matrix": [0, 4], "x": 4, "y": 0 }, | ||
{ "matrix": [0, 5], "x": 5, "y": 0 }, | ||
{ "matrix": [4, 5], "x": 6, "y": 0 }, | ||
{ "matrix": [4, 4], "x": 7, "y": 0 }, | ||
{ "matrix": [4, 3], "x": 8, "y": 0 }, | ||
{ "matrix": [4, 2], "x": 9, "y": 0 }, | ||
{ "matrix": [4, 1], "x": 10, "y": 0 }, | ||
{ "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 }, | ||
{ "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 }, | ||
{ "matrix": [1, 1], "x": 1.25, "y": 1 }, | ||
{ "matrix": [1, 2], "x": 2.25, "y": 1 }, | ||
{ "matrix": [1, 3], "x": 3.25, "y": 1 }, | ||
{ "matrix": [1, 4], "x": 4.25, "y": 1 }, | ||
{ "matrix": [1, 5], "x": 5.25, "y": 1 }, | ||
{ "matrix": [5, 5], "x": 6.25, "y": 1 }, | ||
{ "matrix": [5, 4], "x": 7.25, "y": 1 }, | ||
{ "matrix": [5, 3], "x": 8.25, "y": 1 }, | ||
{ "matrix": [5, 2], "x": 9.25, "y": 1 }, | ||
{ "matrix": [5, 1], "x": 10.25, "y": 1 }, | ||
{ "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 }, | ||
{ "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 }, | ||
{ "matrix": [2, 1], "x": 1.5, "y": 2 }, | ||
{ "matrix": [2, 2], "x": 2.5, "y": 2 }, | ||
{ "matrix": [2, 3], "x": 3.5, "y": 2 }, | ||
{ "matrix": [2, 4], "x": 4.5, "y": 2 }, | ||
{ "matrix": [2, 5], "x": 5.5, "y": 2 }, | ||
{ "matrix": [6, 5], "x": 6.5, "y": 2 }, | ||
{ "matrix": [6, 4], "x": 7.5, "y": 2 }, | ||
{ "matrix": [6, 3], "x": 8.5, "y": 2 }, | ||
{ "matrix": [6, 2], "x": 9.5, "y": 2 }, | ||
{ "matrix": [6, 1], "x": 10.5, "y": 2 }, | ||
{ "matrix": [6, 0], "x": 11.5, "y": 2 }, | ||
{ "matrix": [3, 0], "x": 0, "y": 3 }, | ||
{ "matrix": [3, 1], "x": 1, "y": 3 }, | ||
{ "matrix": [3, 2], "x": 2, "y": 3 }, | ||
{ "matrix": [3, 3], "x": 3, "y": 3, "w": 1.25 }, | ||
{ "matrix": [3, 4], "x": 4.25, "y": 3, "w": 2 }, | ||
{ "matrix": [7, 5], "x": 6.25, "y": 3, "w": 2 }, | ||
{ "matrix": [7, 4], "x": 8.25, "y": 3, "w": 1.25 }, | ||
{ "matrix": [7, 3], "x": 9.5, "y": 3 }, | ||
{ "matrix": [7, 2], "x": 10.5, "y": 3 }, | ||
{ "matrix": [7, 1], "x": 11.5, "y": 3 }, | ||
{ "matrix": [7, 0], "x": 13, "y": 3 } | ||
] | ||
}, | ||
"LAYOUT_225u_split_space": { | ||
"layout": [ | ||
{ "matrix": [0, 0], "x": 0, "y": 0 }, | ||
{ "matrix": [0, 1], "x": 1, "y": 0 }, | ||
{ "matrix": [0, 2], "x": 2, "y": 0 }, | ||
{ "matrix": [0, 3], "x": 3, "y": 0 }, | ||
{ "matrix": [0, 4], "x": 4, "y": 0 }, | ||
{ "matrix": [0, 5], "x": 5, "y": 0 }, | ||
{ "matrix": [4, 5], "x": 6, "y": 0 }, | ||
{ "matrix": [4, 4], "x": 7, "y": 0 }, | ||
{ "matrix": [4, 3], "x": 8, "y": 0 }, | ||
{ "matrix": [4, 2], "x": 9, "y": 0 }, | ||
{ "matrix": [4, 1], "x": 10, "y": 0 }, | ||
{ "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 }, | ||
{ "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 }, | ||
{ "matrix": [1, 1], "x": 1.25, "y": 1 }, | ||
{ "matrix": [1, 2], "x": 2.25, "y": 1 }, | ||
{ "matrix": [1, 3], "x": 3.25, "y": 1 }, | ||
{ "matrix": [1, 4], "x": 4.25, "y": 1 }, | ||
{ "matrix": [1, 5], "x": 5.25, "y": 1 }, | ||
{ "matrix": [5, 5], "x": 6.25, "y": 1 }, | ||
{ "matrix": [5, 4], "x": 7.25, "y": 1 }, | ||
{ "matrix": [5, 3], "x": 8.25, "y": 1 }, | ||
{ "matrix": [5, 2], "x": 9.25, "y": 1 }, | ||
{ "matrix": [5, 1], "x": 10.25, "y": 1 }, | ||
{ "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 }, | ||
{ "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 }, | ||
{ "matrix": [2, 1], "x": 1.5, "y": 2 }, | ||
{ "matrix": [2, 2], "x": 2.5, "y": 2 }, | ||
{ "matrix": [2, 3], "x": 3.5, "y": 2 }, | ||
{ "matrix": [2, 4], "x": 4.5, "y": 2 }, | ||
{ "matrix": [2, 5], "x": 5.5, "y": 2 }, | ||
{ "matrix": [6, 5], "x": 6.5, "y": 2 }, | ||
{ "matrix": [6, 4], "x": 7.5, "y": 2 }, | ||
{ "matrix": [6, 3], "x": 8.5, "y": 2 }, | ||
{ "matrix": [6, 2], "x": 9.5, "y": 2 }, | ||
{ "matrix": [6, 1], "x": 10.5, "y": 2 }, | ||
{ "matrix": [6, 0], "x": 11.5, "y": 2 }, | ||
{ "matrix": [3, 0], "x": 0, "y": 3 }, | ||
{ "matrix": [3, 1], "x": 1, "y": 3 }, | ||
{ "matrix": [3, 2], "x": 2, "y": 3 }, | ||
{ "matrix": [3, 3], "x": 3, "y": 3 }, | ||
{ "matrix": [3, 4], "x": 4, "y": 3, "w": 2.25 }, | ||
{ "matrix": [7, 5], "x": 6.25, "y": 3, "w": 2.25 }, | ||
{ "matrix": [7, 4], "x": 8.5, "y": 3 }, | ||
{ "matrix": [7, 3], "x": 9.5, "y": 3 }, | ||
{ "matrix": [7, 2], "x": 10.5, "y": 3 }, | ||
{ "matrix": [7, 1], "x": 11.5, "y": 3 }, | ||
{ "matrix": [7, 0], "x": 13, "y": 3 } | ||
] | ||
}, | ||
"LAYOUT_7u_space": { | ||
"layout": [ | ||
{ "matrix": [0, 0], "x": 0, "y": 0 }, | ||
{ "matrix": [0, 1], "x": 1, "y": 0 }, | ||
{ "matrix": [0, 2], "x": 2, "y": 0 }, | ||
{ "matrix": [0, 3], "x": 3, "y": 0 }, | ||
{ "matrix": [0, 4], "x": 4, "y": 0 }, | ||
{ "matrix": [0, 5], "x": 5, "y": 0 }, | ||
{ "matrix": [4, 5], "x": 6, "y": 0 }, | ||
{ "matrix": [4, 4], "x": 7, "y": 0 }, | ||
{ "matrix": [4, 3], "x": 8, "y": 0 }, | ||
{ "matrix": [4, 2], "x": 9, "y": 0 }, | ||
{ "matrix": [4, 1], "x": 10, "y": 0 }, | ||
{ "matrix": [4, 0], "x": 11, "y": 0, "w": 1.5 }, | ||
{ "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 }, | ||
{ "matrix": [1, 1], "x": 1.25, "y": 1 }, | ||
{ "matrix": [1, 2], "x": 2.25, "y": 1 }, | ||
{ "matrix": [1, 3], "x": 3.25, "y": 1 }, | ||
{ "matrix": [1, 4], "x": 4.25, "y": 1 }, | ||
{ "matrix": [1, 5], "x": 5.25, "y": 1 }, | ||
{ "matrix": [5, 5], "x": 6.25, "y": 1 }, | ||
{ "matrix": [5, 4], "x": 7.25, "y": 1 }, | ||
{ "matrix": [5, 3], "x": 8.25, "y": 1 }, | ||
{ "matrix": [5, 2], "x": 9.25, "y": 1 }, | ||
{ "matrix": [5, 1], "x": 10.25, "y": 1 }, | ||
{ "matrix": [5, 0], "x": 11.25, "y": 1, "w": 1.25 }, | ||
{ "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 }, | ||
{ "matrix": [2, 1], "x": 1.5, "y": 2 }, | ||
{ "matrix": [2, 2], "x": 2.5, "y": 2 }, | ||
{ "matrix": [2, 3], "x": 3.5, "y": 2 }, | ||
{ "matrix": [2, 4], "x": 4.5, "y": 2 }, | ||
{ "matrix": [2, 5], "x": 5.5, "y": 2 }, | ||
{ "matrix": [6, 5], "x": 6.5, "y": 2 }, | ||
{ "matrix": [6, 4], "x": 7.5, "y": 2 }, | ||
{ "matrix": [6, 3], "x": 8.5, "y": 2 }, | ||
{ "matrix": [6, 2], "x": 9.5, "y": 2 }, | ||
{ "matrix": [6, 1], "x": 10.5, "y": 2 }, | ||
{ "matrix": [6, 0], "x": 11.5, "y": 2 }, | ||
{ "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 }, | ||
{ "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25 }, | ||
{ "matrix": [3, 5], "x": 2.5, "y": 3, "w": 7 }, | ||
{ "matrix": [7, 3], "x": 9.5, "y": 3 }, | ||
{ "matrix": [7, 2], "x": 10.5, "y": 3 }, | ||
{ "matrix": [7, 1], "x": 11.5, "y": 3 }, | ||
{ "matrix": [7, 0], "x": 13, "y": 3 } | ||
] | ||
} | ||
} | ||
} |
Oops, something went wrong.