[Keyboard] Vault35 WKL universal (#23519)
This commit is contained in:
		
							parent
							
								
									b99e09ee0e
								
							
						
					
					
						commit
						4f4602abd5
					
				
					 8 changed files with 860 additions and 0 deletions
				
			
		
							
								
								
									
										11
									
								
								keyboards/jlw/vault35_wkl_universal/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								keyboards/jlw/vault35_wkl_universal/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					// Copyright 2024 jlw
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define WS2812_PWM_DRIVER PWMD17
 | 
				
			||||||
 | 
					#define WS2812_PWM_CHANNEL 1
 | 
				
			||||||
 | 
					#define WS2812_PWM_PAL_MODE 2
 | 
				
			||||||
 | 
					#define WS2812_PWM_COMPLEMENTARY_OUTPUT
 | 
				
			||||||
 | 
					#define WS2812_DMA_STREAM STM32_DMA1_STREAM1
 | 
				
			||||||
 | 
					#define WS2812_DMA_CHANNEL 1
 | 
				
			||||||
							
								
								
									
										8
									
								
								keyboards/jlw/vault35_wkl_universal/halconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								keyboards/jlw/vault35_wkl_universal/halconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					// Copyright 2024 jlw
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_PWM TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <halconf.h>
 | 
				
			||||||
							
								
								
									
										765
									
								
								keyboards/jlw/vault35_wkl_universal/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										765
									
								
								keyboards/jlw/vault35_wkl_universal/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,765 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "manufacturer": "jlw",
 | 
				
			||||||
 | 
					    "keyboard_name": "vault 35 WKL universal",
 | 
				
			||||||
 | 
					    "maintainer": "jlw",
 | 
				
			||||||
 | 
					    "bootloader": "stm32-dfu",
 | 
				
			||||||
 | 
					    "diode_direction": "COL2ROW",
 | 
				
			||||||
 | 
					    "encoder": {
 | 
				
			||||||
 | 
					        "rotary": [
 | 
				
			||||||
 | 
					            {"pin_a": "B0", "pin_b": "A7"},
 | 
				
			||||||
 | 
					            {"pin_a": "B2", "pin_b": "B1"},
 | 
				
			||||||
 | 
					            {"pin_a": "B3", "pin_b": "A15"},
 | 
				
			||||||
 | 
					            {"pin_a": "B5", "pin_b": "B4"},
 | 
				
			||||||
 | 
					            {"pin_a": "A1", "pin_b": "A2"}
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "features": {
 | 
				
			||||||
 | 
					        "bootmagic": true,
 | 
				
			||||||
 | 
					        "encoder": true,
 | 
				
			||||||
 | 
					        "extrakey": true,
 | 
				
			||||||
 | 
					        "mousekey": true,
 | 
				
			||||||
 | 
					        "nkro": true,
 | 
				
			||||||
 | 
					        "rgb_matrix": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "matrix_pins": {
 | 
				
			||||||
 | 
					        "cols": ["B6", "B8", "A13", "B13", "B14", "A14", "A0", "A3", "A4", "A5", "A6"],
 | 
				
			||||||
 | 
					        "rows": ["B9", "B12", "B15", "A8"]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "processor": "STM32F072",
 | 
				
			||||||
 | 
					    "rgb_matrix": {
 | 
				
			||||||
 | 
					        "animations": {
 | 
				
			||||||
 | 
					            "alphas_mods": true,
 | 
				
			||||||
 | 
					            "band_pinwheel_sat": true,
 | 
				
			||||||
 | 
					            "band_pinwheel_val": true,
 | 
				
			||||||
 | 
					            "band_sat": true,
 | 
				
			||||||
 | 
					            "band_spiral_sat": true,
 | 
				
			||||||
 | 
					            "band_spiral_val": true,
 | 
				
			||||||
 | 
					            "band_val": true,
 | 
				
			||||||
 | 
					            "breathing": true,
 | 
				
			||||||
 | 
					            "cycle_all": true,
 | 
				
			||||||
 | 
					            "cycle_left_right": true,
 | 
				
			||||||
 | 
					            "cycle_out_in": true,
 | 
				
			||||||
 | 
					            "cycle_out_in_dual": true,
 | 
				
			||||||
 | 
					            "cycle_pinwheel": true,
 | 
				
			||||||
 | 
					            "cycle_spiral": true,
 | 
				
			||||||
 | 
					            "cycle_up_down": true,
 | 
				
			||||||
 | 
					            "digital_rain": true,
 | 
				
			||||||
 | 
					            "dual_beacon": true,
 | 
				
			||||||
 | 
					            "gradient_left_right": true,
 | 
				
			||||||
 | 
					            "gradient_up_down": true,
 | 
				
			||||||
 | 
					            "hue_breathing": true,
 | 
				
			||||||
 | 
					            "hue_pendulum": true,
 | 
				
			||||||
 | 
					            "hue_wave": true,
 | 
				
			||||||
 | 
					            "jellybean_raindrops": true,
 | 
				
			||||||
 | 
					            "multisplash": true,
 | 
				
			||||||
 | 
					            "pixel_flow": true,
 | 
				
			||||||
 | 
					            "pixel_fractal": true,
 | 
				
			||||||
 | 
					            "pixel_rain": true,
 | 
				
			||||||
 | 
					            "rainbow_beacon": true,
 | 
				
			||||||
 | 
					            "rainbow_moving_chevron": true,
 | 
				
			||||||
 | 
					            "rainbow_pinwheels": true,
 | 
				
			||||||
 | 
					            "raindrops": true,
 | 
				
			||||||
 | 
					            "solid_multisplash": true,
 | 
				
			||||||
 | 
					            "solid_reactive": true,
 | 
				
			||||||
 | 
					            "solid_reactive_cross": true,
 | 
				
			||||||
 | 
					            "solid_reactive_multicross": true,
 | 
				
			||||||
 | 
					            "solid_reactive_multinexus": true,
 | 
				
			||||||
 | 
					            "solid_reactive_multiwide": true,
 | 
				
			||||||
 | 
					            "solid_reactive_nexus": true,
 | 
				
			||||||
 | 
					            "solid_reactive_simple": true,
 | 
				
			||||||
 | 
					            "solid_reactive_wide": true,
 | 
				
			||||||
 | 
					            "solid_splash": true,
 | 
				
			||||||
 | 
					            "splash": true,
 | 
				
			||||||
 | 
					            "typing_heatmap": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "driver": "ws2812",
 | 
				
			||||||
 | 
					        "hue_steps": 4,
 | 
				
			||||||
 | 
					        "layout": [
 | 
				
			||||||
 | 
					            {"matrix": [1, 0], "x": 1, "y": 22, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 0], "x": 1, "y": 11, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 0], "x": 3, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 0], "x": 12, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 1], "x": 23, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 1], "x": 30, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 1], "x": 42, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 2], "x": 51, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 2], "x": 60, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 3], "x": 70, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 3], "x": 79, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 4], "x": 88, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 5], "x": 98, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 6], "x": 107, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 7], "x": 116, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 7], "x": 126, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 7], "x": 135, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 8], "x": 144, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 8], "x": 154, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 9], "x": 163, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 9], "x": 173, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 10], "x": 183, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 10], "x": 192, "y": 2, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [0, 10], "x": 195, "y": 13, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 10], "x": 195, "y": 23, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 10], "x": 195, "y": 32, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 10], "x": 195, "y": 43, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 10], "x": 195, "y": 55, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 10], "x": 195, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 10], "x": 190, "y": 79, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 10], "x": 195, "y": 87, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 10], "x": 185, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 9], "x": 176, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 9], "x": 171, "y": 82, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 9], "x": 171, "y": 73, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 9], "x": 170, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 9], "x": 164, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 8], "x": 157, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 8], "x": 151, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 8], "x": 150, "y": 74, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 8], "x": 150, "y": 81, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 8], "x": 147, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 7], "x": 139, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 7], "x": 130, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 7], "x": 122, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 6], "x": 113, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 5], "x": 102, "y": 85, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 5], "x": 94, "y": 85, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 4], "x": 85, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 3], "x": 75, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 3], "x": 66, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 2], "x": 57, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 2], "x": 49, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 2], "x": 46, "y": 83, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 2], "x": 46, "y": 75, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 45, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 39, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 33, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 1], "x": 26, "y": 67, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 25, "y": 73, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 25, "y": 82, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 21, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 12, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 1, "y": 88, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 6, "y": 80, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [3, 0], "x": 1, "y": 70, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 0], "x": 1, "y": 58, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [2, 0], "x": 1, "y": 46, "flags": 4},
 | 
				
			||||||
 | 
					            {"matrix": [1, 0], "x": 1, "y": 34, "flags": 4}
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "sat_steps": 4,
 | 
				
			||||||
 | 
					        "val_steps": 4
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "url": "https://jlw-kb.com",
 | 
				
			||||||
 | 
					    "usb": {
 | 
				
			||||||
 | 
					        "device_version": "0.0.1",
 | 
				
			||||||
 | 
					        "pid": "0xA457",
 | 
				
			||||||
 | 
					        "vid": "0x1209"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ws2812": {
 | 
				
			||||||
 | 
					        "driver": "pwm",
 | 
				
			||||||
 | 
					        "pin": "B7"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "layouts": {
 | 
				
			||||||
 | 
					        "LAYOUT_all": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_alpha": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 6.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 7.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 8.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 9.5, "y": 2, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_katana": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [0, 1], "x": 1.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 2], "x": 2.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 3], "x": 3.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 4], "x": 4.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 6], "x": 5.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 7], "x": 6.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 8], "x": 7.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 9], "x": 8.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 10], "x": 9.5, "y": 0, "w": 1.25, "h": 2},
 | 
				
			||||||
 | 
					                {"matrix": [1, 0], "x": 0.25, "y": 1},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 6.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 7.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 8.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 9.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_katana_iso": {
 | 
				
			||||||
 | 
					            "layout": [
 | 
				
			||||||
 | 
					                {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [0, 1], "x": 1.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 2], "x": 2.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 3], "x": 3.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 4], "x": 4.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 6], "x": 5.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 7], "x": 6.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 8], "x": 7.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 9], "x": 8.5, "y": 0},
 | 
				
			||||||
 | 
					                {"matrix": [0, 10], "x": 9.5, "y": 0, "w": 1.25, "h": 2},
 | 
				
			||||||
 | 
					                {"matrix": [1, 0], "x": 0.25, "y": 1},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 6.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 7.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 8.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 9.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_125_center1u": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.25, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_150_center1u": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_2u_bars": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 5.5, "y": 3, "w": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_3u_bars": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 5.5, "y": 3, "w": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_6u_bar": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_cain_bars": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 5.5, "y": 3, "w": 1.75},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.25, "y": 3, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_ortho_centered_3u": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 4], "x": 4, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 5], "x": 5, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 6], "x": 6, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 7, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 8, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 9, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 10, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4, "y": 3, "w": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_row": {
 | 
				
			||||||
 | 
					            "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": [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, 6], "x": 5.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 6.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 7.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 8.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 9.25, "y": 1, "w": 1.75},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.75, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 6.75, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 7.75, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 8.75, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 9.75, "y": 2, "w": 1.25},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_treadstone": {
 | 
				
			||||||
 | 
					            "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": [1, 0], "x": 0.25, "y": 1},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 6.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 7.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 8.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 9.75, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [2, 0], "x": 0, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 1], "x": 1, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 2], "x": 2, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 4], "x": 4, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 5], "x": 5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 6], "x": 6, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 7, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 8, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 9, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 10, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "LAYOUT_uniform": {
 | 
				
			||||||
 | 
					            "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": [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, 6], "x": 5.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 7], "x": 6.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 8], "x": 7.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 9], "x": 8.25, "y": 1},
 | 
				
			||||||
 | 
					                {"matrix": [1, 10], "x": 9.25, "y": 1, "w": 1.75},
 | 
				
			||||||
 | 
					                {"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, 6], "x": 5.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 7], "x": 6.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 8], "x": 7.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 9], "x": 8.5, "y": 2},
 | 
				
			||||||
 | 
					                {"matrix": [2, 10], "x": 9.5, "y": 2, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
 | 
				
			||||||
 | 
					                {"matrix": [3, 2], "x": 2.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 3], "x": 3.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 4], "x": 4.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 5], "x": 5.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 6], "x": 6.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 7], "x": 7.5, "y": 3},
 | 
				
			||||||
 | 
					                {"matrix": [3, 10], "x": 9.5, "y": 3, "w": 1.5}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										36
									
								
								keyboards/jlw/vault35_wkl_universal/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								keyboards/jlw/vault35_wkl_universal/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					// Copyright 2024 jlw
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    [0] = LAYOUT_all(
 | 
				
			||||||
 | 
					         KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,     KC_VOLU,      KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,
 | 
				
			||||||
 | 
					         KC_A,   KC_S,   KC_D,   KC_F,   KC_G,     KC_VOLD,      KC_H,   KC_J,   KC_K,    KC_L,   KC_QUOT,
 | 
				
			||||||
 | 
					         KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,     RGB_TOG,      KC_N,   KC_M,   KC_COMM, KC_DOT, KC_SLSH,
 | 
				
			||||||
 | 
					         KC_ESC,         MO(1),  KC_ENT, KC_LEFT,  KC_DOWN,      KC_UP,  KC_RIGHT,                KC_BSPC
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [1] = LAYOUT_all(
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  _______, _______,  KC_7,     KC_8,     KC_9,    KC_0,
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  _______, _______,  KC_4,     KC_5,     KC_6,    _______,
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  QK_BOOT, _______,  KC_1,     KC_2,     KC_3,    _______,
 | 
				
			||||||
 | 
					         _______,            _______,  _______,  _______,  _______, _______,  MO(2),                       _______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [2] = LAYOUT_all(
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  _______,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_LEFT,  _______,
 | 
				
			||||||
 | 
					         _______,  _______,  _______,  _______,  _______,  QK_BOOT,  _______,  _______,  _______,  _______,  _______,
 | 
				
			||||||
 | 
					         _______,            _______,  _______,  _______,  _______,  _______,  _______,                      _______
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef ENCODER_MAP_ENABLE
 | 
				
			||||||
 | 
					const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
				
			||||||
 | 
					    [0] =   { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
				
			||||||
 | 
					    [1] =   { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
 | 
				
			||||||
 | 
					    [2] =   { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					ENCODER_MAP_ENABLE = yes
 | 
				
			||||||
							
								
								
									
										11
									
								
								keyboards/jlw/vault35_wkl_universal/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								keyboards/jlw/vault35_wkl_universal/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					// Copyright 2024 jlw
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <mcuconf.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef STM32_PWM_USE_TIM17
 | 
				
			||||||
 | 
					#define STM32_PWM_USE_TIM17 TRUE
 | 
				
			||||||
 | 
					#define STM32_TIM17_SUPPRESS_ISR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										27
									
								
								keyboards/jlw/vault35_wkl_universal/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/jlw/vault35_wkl_universal/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					# Vault 35 WKL Universal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A drop in replacement PCB for the Vault 35 WKL case, originally designed by ProjectCain Mechvault.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainer: [jlw](https://github.com/josh-l-wang)
 | 
				
			||||||
 | 
					* Hardware Supported: Vault 35 WKL Universal PCB
 | 
				
			||||||
 | 
					* Hardware Availability: [jlw-kb.com](https://jlw-kb.com)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make jlw/vault35_wkl_universal:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make jlw/vault35_wkl_universal:default:flash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Bootloader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enter the bootloader in 3 ways:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
 | 
				
			||||||
 | 
					* **Physical reset button**: Hold button on the back of the PCB while plugging in the PCB
 | 
				
			||||||
 | 
					* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/jlw/vault35_wkl_universal/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/jlw/vault35_wkl_universal/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					# This file intentionally left blank
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue