Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
e669656
Added Polygon from github.com/adamnaldal/qmk_firmware
Rotwitt Jan 30, 2023
9fd8d70
- Added essential product information into info.json.
Rotwitt Jan 30, 2023
6dfb953
The Firmware finally compiles succesfully.
Rotwitt Jan 31, 2023
3fb44e2
Fixed LED number warning on ANSI layout
Rotwitt Jan 31, 2023
6836a7f
Added bootloader info to info.json
Rotwitt Feb 1, 2023
30b1124
Enabled Bootmagic
Rotwitt Mar 8, 2023
3dbe130
Merge remote-tracking branch 'upstream/master'
Rotwitt Mar 8, 2023
a9e6447
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Rotwitt Mar 8, 2023
4c41017
subproject update
Rotwitt Mar 8, 2023
f84e38e
Fulfilled PR checklist
Rotwitt Mar 8, 2023
3984a1e
Enabled LED backlight and light
Rotwitt Mar 8, 2023
41ef4db
Removed MCU and bootloader from rules.mk
Rotwitt Mar 8, 2023
724efa6
Reordering info.json
Rotwitt Mar 8, 2023
d904153
Revert "subproject update"
Rotwitt Mar 8, 2023
4874b1f
Update keyboards/polygon/rules.mk
Rotwitt Mar 8, 2023
e19d807
Update keyboards/polygon/config.h
Rotwitt Mar 8, 2023
e9982a0
Update keyboards/polygon/config.h
Rotwitt Mar 8, 2023
b018c38
Update keyboards/polygon/config.h
Rotwitt Mar 13, 2023
f2f0346
Cleanup
Rotwitt Mar 30, 2023
62602ce
Add default keymap (Default is ANSI)
Rotwitt Mar 30, 2023
5e676fd
info.json update
Rotwitt Mar 30, 2023
dda1bf2
Added fallback for encoder
Rotwitt Mar 30, 2023
74fd40f
Revert "Added fallback for encoder"
Rotwitt Mar 30, 2023
60baba3
Merge branch 'polygon65' of https://github.com/Rotwitt/qmk_firmware i…
Rotwitt Mar 30, 2023
e492a37
Added Matrix to LAYOUT_65_ansi_blocker
Rotwitt Apr 5, 2023
7dd1da0
Added matrix to "LAYOUT_65_iso_blocker"
Rotwitt Apr 5, 2023
9b91637
Added encoder fallback
Rotwitt Apr 5, 2023
7ab162c
Cleanup
Rotwitt Apr 5, 2023
51a1e33
Added Bootmagic
Rotwitt Apr 5, 2023
390fa4f
renamed ansi folder to default
Rotwitt Apr 5, 2023
d28e88f
Added matrix pins, and cleanup
Rotwitt Apr 5, 2023
5b01ccd
Info.json update
Rotwitt Apr 5, 2023
195ef45
Cleanup
Rotwitt Apr 5, 2023
b4edeee
Added encoder mapping and reorganized ansi layout
Rotwitt Apr 5, 2023
faabb11
Enocder mapping mod and add MUTE on layer 1
Rotwitt Apr 5, 2023
4f12318
Changed RESET to QK_BOOT and added encoder map
Rotwitt Apr 5, 2023
5b120d5
Encoder map update
Rotwitt Apr 5, 2023
8adab88
Clean up
Rotwitt Apr 5, 2023
67f9bb8
The great purge
Rotwitt Apr 7, 2023
9db4b4f
Separate ANSIi and ISO firmware
Rotwitt Apr 7, 2023
a7d3593
Move keymaps
Rotwitt Apr 7, 2023
c800bd4
rename rotwitt folder to lowercase
Rotwitt Apr 9, 2023
83d8cf6
QMK firmware compiles
Rotwitt Apr 9, 2023
b26ab60
Merge branch 'master' of https://github.com/qmk/qmk_firmware into pol…
Rotwitt Apr 9, 2023
6bc3720
Enable via
Rotwitt Apr 9, 2023
211fd38
Via now fully functional
Rotwitt Apr 9, 2023
842c47e
File removal
Rotwitt Apr 9, 2023
dfbb0a4
Ansi ready for VIA testing
Rotwitt Apr 9, 2023
36bea92
Iso Encoder fixes
Rotwitt Apr 9, 2023
6cb71d0
Add matrix lighting to via and QMK
Rotwitt Apr 21, 2023
fac4833
Trying to fix wake from S3 suspend
Rotwitt Jun 28, 2023
65456f1
Remove freamebuffer effects and reactive effects to create smaller fi…
Rotwitt Jun 28, 2023
b6394d7
Remove console from info.json - Created issues with restarting the bo…
Rotwitt Jun 28, 2023
7306030
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Aug 7, 2025
c56dea6
Changed PID and renamed to keyboard.json
Rotwitt Aug 7, 2025
9c0c4d7
added support for IS31FL3741
Rotwitt Aug 7, 2025
c1a10c2
cleanup
Rotwitt Aug 7, 2025
e19ad04
added support for IS31FL3741 on iso
Rotwitt Aug 7, 2025
232a5d1
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Mar 19, 2026
d0b596b
converted to keyboard.json -- It now functions fully
Rotwitt Mar 23, 2026
f2c4f58
Vendor and product ID corrected
Rotwitt Mar 23, 2026
c4b23a9
Move iso
Rotwitt Mar 24, 2026
dac3d56
add ANSI and introduce readme.md
Rotwitt Mar 24, 2026
de2bd6e
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Mar 24, 2026
d115b18
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Mar 28, 2026
11e680a
Added licenses and updated readme
Rotwitt Mar 28, 2026
d479a71
Merge branch 'polygon65-dev-build' of https://github.com/Rotwitt/qmk_…
Rotwitt Mar 28, 2026
566ed6b
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Mar 31, 2026
454041e
Updated vid to unique value: rw
Rotwitt Mar 31, 2026
750f88a
Renamed info.json and updated layout to be reflected correct in confi…
Rotwitt Mar 31, 2026
d906704
Added timeout to RGB matrix, adjusted animations
Rotwitt Mar 31, 2026
1ef24fe
Lint .c, add animations to PR
Rotwitt Mar 31, 2026
4f93f8a
Update keyboards/polygon/ansi/ansi.c
Rotwitt Apr 6, 2026
a972f32
Update keyboards/polygon/ansi/keyboard.json
Rotwitt Apr 6, 2026
333cc64
Update keyboards/polygon/iso/iso.c
Rotwitt Apr 6, 2026
3e284ab
Update keyboards/polygon/iso/keyboard.json
Rotwitt Apr 6, 2026
0d3bbc4
Update keyboards/polygon/ansi/keyboard.json
Rotwitt Apr 6, 2026
fb70cab
Added image to readme.md
Rotwitt Apr 6, 2026
c1b2d2f
Update keyboards/polygon/ansi/keyboard.json
Rotwitt Apr 23, 2026
ef9523b
Update keyboards/polygon/iso/keyboard.json
Rotwitt Apr 23, 2026
e6e497a
Merge branch 'qmk:master' into polygon65-dev-build
Rotwitt Apr 28, 2026
ced6853
Added ASCII keyboard layouts for layout readability
Apr 28, 2026
95e1a03
Minor correction to comment
Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions keyboards/polygon/ansi/ansi.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/* Copyright 2024 Your Name (@rotwitt)
*
* 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/>.
*/

#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | |
* ROW 1*/
{0, SW9_CS1, SW9_CS2, SW9_CS3}, // RGB 1
{0, SW9_CS4, SW9_CS5, SW9_CS6}, // RGB 2
{0, SW9_CS7, SW9_CS8, SW9_CS9}, // RGB 3
{0, SW8_CS10, SW8_CS11, SW8_CS12}, // RGB 4
{0, SW9_CS10, SW9_CS11, SW9_CS12}, // RGB 5
{0, SW8_CS13, SW8_CS14, SW8_CS15}, // RGB 6
{0, SW9_CS13, SW9_CS14, SW9_CS15}, // RGB 7
{0, SW8_CS16, SW8_CS17, SW8_CS18}, // RGB 8
{0, SW9_CS16, SW9_CS17, SW9_CS18}, // RGB 9
{0, SW9_CS19, SW9_CS20, SW9_CS21}, // RGB 10
{0, SW9_CS22, SW9_CS23, SW9_CS24}, // RGB 11
{0, SW9_CS25, SW9_CS26, SW9_CS27}, // RGB 12
{0, SW9_CS28, SW9_CS29, SW9_CS30}, // RGB 13
{0, SW9_CS36, SW9_CS35, SW9_CS34}, // RGB 14

// ROW 2
{0, SW7_CS1, SW7_CS2, SW7_CS3}, // RGB 15
{0, SW7_CS4, SW7_CS5, SW7_CS6}, // RGB 16
{0, SW7_CS7, SW7_CS8, SW7_CS9}, // RGB 17
{0, SW6_CS10, SW6_CS11, SW6_CS12}, // RGB 18
{0, SW7_CS10, SW7_CS11, SW7_CS12}, // RGB 19
{0, SW6_CS13, SW6_CS14, SW6_CS15}, // RGB 20
{0, SW7_CS13, SW7_CS14, SW7_CS15}, // RGB 21
{0, SW6_CS16, SW6_CS17, SW6_CS18}, // RGB 22
{0, SW7_CS16, SW7_CS17, SW7_CS18}, // RGB 23
{0, SW7_CS19, SW7_CS20, SW7_CS21}, // RGB 24
{0, SW7_CS22, SW7_CS23, SW7_CS24}, // RGB 25
{0, SW7_CS25, SW7_CS26, SW7_CS27}, // RGB 26
{0, SW7_CS28, SW7_CS29, SW7_CS30}, // RGB 27
{0, SW7_CS31, SW7_CS32, SW7_CS33}, // RGB 28
{0, SW7_CS39, SW7_CS38, SW7_CS37}, // RGB 29

// ROW 3
{0, SW5_CS1, SW5_CS2, SW5_CS3}, // RGB 30
{0, SW5_CS4, SW5_CS5, SW5_CS6}, // RGB 31
{0, SW5_CS7, SW5_CS8, SW5_CS9}, // RGB 32
{0, SW4_CS10, SW4_CS11, SW4_CS12}, // RGB 33
{0, SW5_CS10, SW5_CS11, SW5_CS12}, // RGB 34
{0, SW4_CS13, SW4_CS14, SW4_CS15}, // RGB 35
{0, SW5_CS13, SW5_CS14, SW5_CS15}, // RGB 36
{0, SW4_CS16, SW4_CS17, SW4_CS18}, // RGB 37
{0, SW5_CS16, SW5_CS17, SW5_CS18}, // RGB 38
{0, SW5_CS19, SW5_CS20, SW5_CS21}, // RGB 39
{0, SW5_CS22, SW5_CS23, SW5_CS24}, // RGB 40
{0, SW5_CS25, SW5_CS26, SW5_CS27}, // RGB 41
{0, SW5_CS36, SW5_CS35, SW5_CS34}, // RGB 42
{0, SW5_CS39, SW5_CS38, SW5_CS37}, // RGB 43

// ROW 4
{0, SW3_CS1, SW3_CS2, SW3_CS3}, // RGB 44
{0, SW3_CS7, SW3_CS8, SW3_CS9}, // RGB 46 (NOT A MISCOUNT)
{0, SW2_CS10, SW2_CS11, SW2_CS12}, // RGB 47
{0, SW3_CS10, SW3_CS11, SW3_CS12}, // RGB 48
{0, SW2_CS13, SW2_CS14, SW2_CS15}, // RGB 49
{0, SW3_CS13, SW3_CS14, SW3_CS15}, // RGB 50
{0, SW2_CS16, SW2_CS17, SW2_CS18}, // RGB 51
{0, SW3_CS16, SW3_CS17, SW3_CS18}, // RGB 52
{0, SW3_CS19, SW3_CS20, SW3_CS21}, // RGB 53
{0, SW3_CS22, SW3_CS23, SW3_CS24}, // RGB 54
{0, SW3_CS25, SW3_CS26, SW3_CS27}, // RGB 55
{0, SW3_CS28, SW3_CS29, SW3_CS30}, // RGB 56
{0, SW3_CS36, SW3_CS35, SW3_CS34}, // RGB 57
{0, SW3_CS39, SW3_CS38, SW3_CS37}, // RGB 58

// ROW 5
{0, SW1_CS1, SW1_CS2, SW1_CS3}, // RGB 59
{0, SW1_CS4, SW1_CS5, SW1_CS6}, // RGB 60
{0, SW1_CS7, SW1_CS8, SW1_CS9}, // RGB 61
{0, SW1_CS13, SW1_CS14, SW1_CS15}, // RGB 63 (NOT A MISCOUNT)
{0, SW1_CS22, SW1_CS23, SW1_CS24}, // RGB 66 (NOT A MISCOUNT)
{0, SW1_CS25, SW1_CS26, SW1_CS27}, // RGB 67
{0, SW1_CS31, SW1_CS32, SW1_CS33}, // RGB 68
{0, SW1_CS36, SW1_CS35, SW1_CS34}, // RGB 69
{0, SW1_CS39, SW1_CS38, SW1_CS37} // RGB 70
};
#endif
21 changes: 21 additions & 0 deletions keyboards/polygon/ansi/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2024 Your Name (@rotwitt)
*
* 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

#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND


227 changes: 227 additions & 0 deletions keyboards/polygon/ansi/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
{
"manufacturer": "Rotwitt",
"keyboard_name": "polygon_ansi",
"maintainer": "rotwitt",
"processor": "atmega32u4",
"url": "",
"usb": {
"device_version": "1.0.1",
"pid": "0x0002",
"vid": "0x7277"
},
"rgb_matrix": {
"driver": "is31fl3741",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4 },
{ "matrix": [0, 2], "x": 32, "y": 0, "flags": 4 },
{ "matrix": [0, 3], "x": 48, "y": 0, "flags": 4 },
{ "matrix": [0, 4], "x": 64, "y": 0, "flags": 4 },
{ "matrix": [0, 5], "x": 80, "y": 0, "flags": 4 },
{ "matrix": [0, 6], "x": 96, "y": 0, "flags": 4 },
{ "matrix": [0, 7], "x": 112, "y": 0, "flags": 4 },
{ "matrix": [0, 8], "x": 128, "y": 0, "flags": 4 },
{ "matrix": [0, 9], "x": 144, "y": 0, "flags": 4 },
{ "matrix": [0, 10], "x": 160, "y": 0, "flags": 4 },
{ "matrix": [0, 11], "x": 176, "y": 0, "flags": 4 },
{ "matrix": [0, 12], "x": 192, "y": 0, "flags": 4 },
{ "matrix": [0, 14], "x": 208, "y": 0, "flags": 4 },

{ "matrix": [1, 0], "x": 0, "y": 16, "flags": 4 },
{ "matrix": [1, 1], "x": 16, "y": 16, "flags": 4 },
{ "matrix": [1, 2], "x": 32, "y": 16, "flags": 4 },
{ "matrix": [1, 3], "x": 48, "y": 16, "flags": 4 },
{ "matrix": [1, 4], "x": 64, "y": 16, "flags": 4 },
{ "matrix": [1, 5], "x": 80, "y": 16, "flags": 4 },
{ "matrix": [1, 6], "x": 96, "y": 16, "flags": 4 },
{ "matrix": [1, 7], "x": 112, "y": 16, "flags": 4 },
{ "matrix": [1, 8], "x": 128, "y": 16, "flags": 4 },
{ "matrix": [1, 9], "x": 144, "y": 16, "flags": 4 },
{ "matrix": [1, 10], "x": 160, "y": 16, "flags": 4 },
{ "matrix": [1, 11], "x": 176, "y": 16, "flags": 4 },
{ "matrix": [1, 12], "x": 192, "y": 16, "flags": 4 },
{ "matrix": [1, 13], "x": 208, "y": 16, "flags": 4},
{ "matrix": [1, 15], "x": 224, "y": 16, "flags": 4 },

{ "matrix": [2, 0], "x": 0, "y": 32, "flags": 4 },
{ "matrix": [2, 1], "x": 16, "y": 32, "flags": 4 },
{ "matrix": [2, 2], "x": 32, "y": 32, "flags": 4 },
{ "matrix": [2, 3], "x": 48, "y": 32, "flags": 4 },
{ "matrix": [2, 4], "x": 64, "y": 32, "flags": 4 },
{ "matrix": [2, 5], "x": 80, "y": 32, "flags": 4 },
{ "matrix": [2, 6], "x": 96, "y": 32, "flags": 4 },
{ "matrix": [2, 7], "x": 112, "y": 32, "flags": 4 },
{ "matrix": [2, 8], "x": 128, "y": 32, "flags": 4 },
{ "matrix": [2, 9], "x": 144, "y": 32, "flags": 4 },
{ "matrix": [2, 10], "x": 160, "y": 32, "flags": 4 },
{ "matrix": [2, 11], "x": 176, "y": 32, "flags": 4 },
{ "matrix": [2, 14], "x": 192, "y": 32, "flags": 4 },
{ "matrix": [2, 15], "x": 208, "y": 32, "flags": 4 },

{ "matrix": [3, 0], "x": 0, "y": 48, "flags": 4 },
{ "matrix": [3, 2], "x": 32, "y": 48, "flags": 4 },
{ "matrix": [3, 3], "x": 48, "y": 48, "flags": 4 },
{ "matrix": [3, 4], "x": 64, "y": 48, "flags": 4 },
{ "matrix": [3, 5], "x": 80, "y": 48, "flags": 4 },
{ "matrix": [3, 6], "x": 96, "y": 48, "flags": 4 },
{ "matrix": [3, 7], "x": 112, "y": 48, "flags": 4 },
{ "matrix": [3, 8], "x": 128, "y": 48, "flags": 4 },
{ "matrix": [3, 9], "x": 144, "y": 48, "flags": 4 },
{ "matrix": [3, 10], "x": 160, "y": 48, "flags": 4 },
{ "matrix": [3, 11], "x": 176, "y": 48, "flags": 4 },
{ "matrix": [3, 12], "x": 192, "y": 48, "flags": 4 },
{ "matrix": [3, 14], "x": 208, "y": 48, "flags": 4 },
{ "matrix": [3, 15], "x": 224, "y": 48, "flags": 4 },

{ "matrix": [4, 0], "x": 0, "y": 64, "flags": 4 },
{ "matrix": [4, 1], "x": 16, "y": 64, "flags": 4 },
{ "matrix": [4, 2], "x": 32, "y": 64, "flags": 4 },
{ "matrix": [4, 6], "x": 96, "y": 64, "flags": 4 },
{ "matrix": [4, 10], "x": 160, "y": 64, "flags": 4 },
{ "matrix": [4, 11], "x": 176, "y": 64, "flags": 4 },
{ "matrix": [4, 13], "x": 192, "y": 64, "flags": 4 },
{ "matrix": [4, 14], "x": 128, "y": 64, "flags": 4 },
{ "matrix": [4, 15], "x": 208, "y": 64, "flags": 4 }
],
"sleep": true,
"timeout": 100000,
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"splash": true,
"multisplash": true
},
"default": {
"animation": "breathing"
},
"center_point": [96, 32]
},
"matrix_pins": {
"cols": ["D4","D6","D7","B4","B5","B6","C6","C7","F7","F6","F5","F4","F1","F0","E6","D2"],
"rows": ["B0","B1","B2","B3","B7"]
},
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
"features": {
"encoder": true,
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"layouts": {
"LAYOUT_65_ansi": {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks to match the 64_ansi layout?

"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": [0, 6], "x": 6, "y": 0 },
{ "matrix": [0, 7], "x": 7, "y": 0 },
{ "matrix": [0, 8], "x": 8, "y": 0 },
{ "matrix": [0, 9], "x": 9, "y": 0 },
{ "matrix": [0, 10], "x": 10, "y": 0 },
{ "matrix": [0, 11], "x": 11, "y": 0 },
{ "matrix": [0, 12], "x": 12, "y": 0 },
{ "matrix": [0, 14], "x": 13, "y": 0, "w": 2 },
{ "matrix": [0, 15], "x": 15.5, "y": 0, "encoder": 0 },

{ "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 },
{ "matrix": [1, 1], "x": 1.5, "y": 1 },
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
{ "matrix": [1, 3], "x": 3.5, "y": 1 },
{ "matrix": [1, 4], "x": 4.5, "y": 1 },
{ "matrix": [1, 5], "x": 5.5, "y": 1 },
{ "matrix": [1, 6], "x": 6.5, "y": 1 },
{ "matrix": [1, 7], "x": 7.5, "y": 1 },
{ "matrix": [1, 8], "x": 8.5, "y": 1 },
{ "matrix": [1, 9], "x": 9.5, "y": 1 },
{ "matrix": [1, 10], "x": 10.5, "y": 1 },
{ "matrix": [1, 11], "x": 11.5, "y": 1 },
{ "matrix": [1, 12], "x": 12.5, "y": 1 },
{ "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 },
{ "matrix": [1, 15], "x": 15.5, "y": 1 },

{ "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 },
{ "matrix": [2, 1], "x": 1.75, "y": 2 },
{ "matrix": [2, 2], "x": 2.75, "y": 2 },
{ "matrix": [2, 3], "x": 3.75, "y": 2 },
{ "matrix": [2, 4], "x": 4.75, "y": 2 },
{ "matrix": [2, 5], "x": 5.75, "y": 2 },
{ "matrix": [2, 6], "x": 6.75, "y": 2 },
{ "matrix": [2, 7], "x": 7.75, "y": 2 },
{ "matrix": [2, 8], "x": 8.75, "y": 2 },
{ "matrix": [2, 9], "x": 9.75, "y": 2 },
{ "matrix": [2, 10], "x": 10.75, "y": 2 },
{ "matrix": [2, 11], "x": 11.75, "y": 2 },
{ "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25 },
{ "matrix": [2, 15], "x": 15.5, "y": 2 },

{ "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 },
{ "matrix": [3, 2], "x": 2.25, "y": 3 },
{ "matrix": [3, 3], "x": 3.25, "y": 3 },
{ "matrix": [3, 4], "x": 4.25, "y": 3 },
{ "matrix": [3, 5], "x": 5.25, "y": 3 },
{ "matrix": [3, 6], "x": 6.25, "y": 3 },
{ "matrix": [3, 7], "x": 7.25, "y": 3 },
{ "matrix": [3, 8], "x": 8.25, "y": 3 },
{ "matrix": [3, 9], "x": 9.25, "y": 3 },
{ "matrix": [3, 10], "x": 10.25, "y": 3 },
{ "matrix": [3, 11], "x": 11.25, "y": 3 },
{ "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75 },
{ "matrix": [3, 14], "x": 14.25, "y": 3.25 },
{ "matrix": [3, 15], "x": 15.5, "y": 3 },

{ "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25 },
{ "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25 },
{ "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25 },
{ "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25 },
{ "matrix": [4, 10], "x": 10, "y": 4, "w": 1.5 },
{ "matrix": [4, 11], "x": 11.5, "y": 4, "w": 1.5 },
{ "matrix": [4, 13], "x": 13.25, "y": 4.25 },
{ "matrix": [4, 14], "x": 14.25, "y": 4.25 },
{ "matrix": [4, 15], "x": 15.25, "y": 4.25 }
]
}
},
"encoder": {
"rotary": [
{
"pin_a": "D3",
"pin_b": "D5",
}
]
}
}
Loading
Loading