Remove FLIP_HALF layouts and move to data driven (#20588)
				
					
				
			This commit is contained in:
		
							parent
							
								
									03328ea7a8
								
							
						
					
					
						commit
						998a4d744e
					
				
					 54 changed files with 1920 additions and 2564 deletions
				
			
		| 
						 | 
				
			
			@ -16,69 +16,6 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT_ortho_5x10( \
 | 
			
		||||
	L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
	L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
	L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
 | 
			
		||||
	L30, L31, L32, L33, L34, R30, R31, R32, R33, R34, \
 | 
			
		||||
	L40, L41, L42, L43, L44, R40, R41, R42, R43, R44  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ L30, L31, L32, L33, L34 }, \
 | 
			
		||||
	{ L40, L41, L42, L43, L44 }, \
 | 
			
		||||
	{ R04, R03, R02, R01, R00 }, \
 | 
			
		||||
	{ R14, R13, R12, R11, R10 }, \
 | 
			
		||||
	{ R24, R23, R22, R21, R20 }, \
 | 
			
		||||
	{ R34, R33, R32, R31, R30 }, \
 | 
			
		||||
	{ R44, R43, R42, R41, R40 }  \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
#define LAYOUT_ortho_5x10( \
 | 
			
		||||
	L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
	L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
	L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
 | 
			
		||||
	L30, L31, L32, L33, L34, R30, R31, R32, R33, R34, \
 | 
			
		||||
	L40, L41, L42, L43, L44, R40, R41, R42, R43, R44  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ L30, L31, L32, L33, L34 }, \
 | 
			
		||||
	{ L40, L41, L42, L43, L44 }, \
 | 
			
		||||
	{ R00, R01, R02, R03, R04 }, \
 | 
			
		||||
	{ R10, R11, R12, R13, R14 }, \
 | 
			
		||||
	{ R20, R21, R22, R23, R24 }, \
 | 
			
		||||
	{ R30, R31, R32, R33, R34 }, \
 | 
			
		||||
	{ R40, R41, R42, R43, R44 }  \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_5x5( \
 | 
			
		||||
	L00, L01, L02, L03, L04, \
 | 
			
		||||
	L10, L11, L12, L13, L14, \
 | 
			
		||||
	L20, L21, L22, L23, L24, \
 | 
			
		||||
	L30, L31, L32, L33, L34, \
 | 
			
		||||
	L40, L41, L42, L43, L44  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ L30, L31, L32, L33, L34 }, \
 | 
			
		||||
	{ L40, L41, L42, L43, L44 }, \
 | 
			
		||||
	{ ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_macro LAYOUT_ortho_5x5
 | 
			
		||||
#define LAYOUT_split LAYOUT_ortho_5x10
 | 
			
		||||
 | 
			
		||||
#ifdef USE_I2C
 | 
			
		||||
  #error "I2C not Supported"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,24 +19,101 @@
 | 
			
		|||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "community_layouts": ["ortho_5x5", "ortho_5x10"],
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT_macro": "LAYOUT_ortho_5x5",
 | 
			
		||||
        "LAYOUT_split": "LAYOUT_ortho_5x10"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_5x5": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1},
 | 
			
		||||
              {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2},
 | 
			
		||||
              {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3},
 | 
			
		||||
              {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}
 | 
			
		||||
          ]
 | 
			
		||||
                {"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": [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": [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": [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},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_ortho_5x10": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1},
 | 
			
		||||
              {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2},
 | 
			
		||||
              {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3},
 | 
			
		||||
              {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}
 | 
			
		||||
          ]
 | 
			
		||||
                {"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": [5, 4], "x": 5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 9, "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": [6, 4], "x": 5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 3], "x": 6, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [6, 1], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [6, 0], "x": 9, "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": [7, 4], "x": 5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 6, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [7, 1], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 9, "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},
 | 
			
		||||
                {"matrix": [8, 4], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 3], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [8, 1], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [8, 0], "x": 9, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4},
 | 
			
		||||
                {"matrix": [9, 4], "x": 5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 3], "x": 6, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [9, 1], "x": 8, "y": 4},
 | 
			
		||||
                {"matrix": [9, 0], "x": 9, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,42 +16,6 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT_ortho_2x6( \
 | 
			
		||||
	L00, L01, L02, R00, R01, R02, \
 | 
			
		||||
	L10, L11, L12, R10, R11, R12  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02 }, \
 | 
			
		||||
	{ L10, L11, L12 }, \
 | 
			
		||||
	{ R02, R01, R00 }, \
 | 
			
		||||
	{ R12, R11, R10 }, \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
#define LAYOUT_ortho_2x6( \
 | 
			
		||||
	L00, L01, L02, R00, R01, R02, \
 | 
			
		||||
	L10, L11, L12, R10, R11, R12  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02 }, \
 | 
			
		||||
	{ L10, L11, L12 }, \
 | 
			
		||||
	{ R00, R01, R02 }, \
 | 
			
		||||
	{ R10, R11, R12 }, \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_2x3( \
 | 
			
		||||
	L00, L01, L02, \
 | 
			
		||||
	L10, L11, L12  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02 }, \
 | 
			
		||||
	{ L10, L11, L12 }, \
 | 
			
		||||
	{ ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___ }, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_macro LAYOUT_ortho_2x3
 | 
			
		||||
#define LAYOUT_split LAYOUT_ortho_2x6
 | 
			
		||||
 | 
			
		||||
#ifdef USE_I2C
 | 
			
		||||
  #error "I2C not Supported"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,17 +19,37 @@
 | 
			
		|||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "community_layouts": ["ortho_2x3", "ortho_2x6"],
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT_macro": "LAYOUT_ortho_2x3",
 | 
			
		||||
        "LAYOUT_split": "LAYOUT_ortho_2x6"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_2x3": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_ortho_2x6": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0},
 | 
			
		||||
                {"matrix": [2, 2], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [2, 1], "x": 4, "y": 0},
 | 
			
		||||
                {"matrix": [2, 0], "x": 5, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1},
 | 
			
		||||
                {"matrix": [3, 2], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [3, 1], "x": 4, "y": 1},
 | 
			
		||||
                {"matrix": [3, 0], "x": 5, "y": 1}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,51 +16,6 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#define ___ KC_NO
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT_ortho_3x10( \
 | 
			
		||||
	L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
	L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
	L20, L21, L22, L23, L24, R20, R21, R22, R23, R24  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ R04, R03, R02, R01, R00 }, \
 | 
			
		||||
	{ R14, R13, R12, R11, R10 }, \
 | 
			
		||||
	{ R24, R23, R22, R21, R20 }  \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
#define LAYOUT_ortho_3x10( \
 | 
			
		||||
	L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
	L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
	L20, L21, L22, L23, L24, R20, R21, R22, R23, R24  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ R00, R01, R02, R03, R04 }, \
 | 
			
		||||
	{ R10, R11, R12, R13, R14 }, \
 | 
			
		||||
	{ R20, R21, R22, R23, R24 }  \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_3x5( \
 | 
			
		||||
	L00, L01, L02, L03, L04, \
 | 
			
		||||
  L10, L11, L12, L13, L14, \
 | 
			
		||||
  L20, L21, L22, L23, L24  \
 | 
			
		||||
) { \
 | 
			
		||||
	{ L00, L01, L02, L03, L04 }, \
 | 
			
		||||
	{ L10, L11, L12, L13, L14 }, \
 | 
			
		||||
	{ L20, L21, L22, L23, L24 }, \
 | 
			
		||||
	{ ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }, \
 | 
			
		||||
  { ___, ___, ___, ___, ___ }  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_macro LAYOUT_ortho_3x5
 | 
			
		||||
#define LAYOUT_split LAYOUT_ortho_3x10
 | 
			
		||||
 | 
			
		||||
#ifdef USE_I2C
 | 
			
		||||
  #error "I2C not Supported"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,19 +19,66 @@
 | 
			
		|||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "community_layouts": ["ortho_3x10"],
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT_macro": "LAYOUT_ortho_3x5",
 | 
			
		||||
        "LAYOUT_split": "LAYOUT_ortho_3x10"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_3x5": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1},
 | 
			
		||||
              {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}
 | 
			
		||||
                {"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": [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": [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}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_ortho_3x10": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
              {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0},
 | 
			
		||||
              {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1},
 | 
			
		||||
              {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}
 | 
			
		||||
                {"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": [3, 4], "x": 5, "y": 0},
 | 
			
		||||
                {"matrix": [3, 3], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [3, 2], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [3, 1], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [3, 0], "x": 9, "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": [4, 4], "x": 5, "y": 1},
 | 
			
		||||
                {"matrix": [4, 3], "x": 6, "y": 1},
 | 
			
		||||
                {"matrix": [4, 2], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [4, 1], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [4, 0], "x": 9, "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": [5, 4], "x": 5, "y": 2},
 | 
			
		||||
                {"matrix": [5, 3], "x": 6, "y": 2},
 | 
			
		||||
                {"matrix": [5, 2], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [5, 1], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [5, 0], "x": 9, "y": 2}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,9 +21,76 @@
 | 
			
		|||
    },
 | 
			
		||||
  "processor": "atmega32u4",
 | 
			
		||||
  "bootloader": "caterina",
 | 
			
		||||
  "layout_aliases": {
 | 
			
		||||
    "LAYOUT": "LAYOUT_ortho_4x14"
 | 
			
		||||
  },
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_ortho_4x14": {
 | 
			
		||||
      "layout": [{"label":"L00", "x":0, "y":0}, {"label":"L01", "x":1, "y":0}, {"label":"L02", "x":2, "y":0}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0}, {"label":"L05", "x":5, "y":0}, {"label":"L06", "x":6, "y":0}, {"label":"R00", "x":8, "y":0}, {"label":"R01", "x":9, "y":0}, {"label":"R02", "x":10, "y":0}, {"label":"R03", "x":11, "y":0}, {"label":"R04", "x":12, "y":0}, {"label":"R05", "x":13, "y":0}, {"label":"R06", "x":14, "y":0}, {"label":"L10", "x":0, "y":1}, {"label":"L11", "x":1, "y":1}, {"label":"L12", "x":2, "y":1}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1}, {"label":"L15", "x":5, "y":1}, {"label":"L16", "x":6, "y":1}, {"label":"R10", "x":8, "y":1}, {"label":"R11", "x":9, "y":1}, {"label":"R12", "x":10, "y":1}, {"label":"R13", "x":11, "y":1}, {"label":"R14", "x":12, "y":1}, {"label":"R15", "x":13, "y":1}, {"label":"R16", "x":14, "y":1}, {"label":"L20", "x":0, "y":2}, {"label":"L21", "x":1, "y":2}, {"label":"L22", "x":2, "y":2}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2}, {"label":"L25", "x":5, "y":2}, {"label":"L26", "x":6, "y":2}, {"label":"R20", "x":8, "y":2}, {"label":"R21", "x":9, "y":2}, {"label":"R22", "x":10, "y":2}, {"label":"R23", "x":11, "y":2}, {"label":"R24", "x":12, "y":2}, {"label":"R25", "x":13, "y":2}, {"label":"R26", "x":14, "y":2}, {"label":"L30", "x":0, "y":3}, {"label":"L31", "x":1, "y":3}, {"label":"L32", "x":2, "y":3}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3}, {"label":"L35", "x":5, "y":3}, {"label":"L36", "x":6, "y":3}, {"label":"R30", "x":8, "y":3}, {"label":"R31", "x":9, "y":3}, {"label":"R32", "x":10, "y":3}, {"label":"R33", "x":11, "y":3}, {"label":"R34", "x":12, "y":3}, {"label":"R35", "x":13, "y":3}, {"label":"R36", "x":14, "y":3}]
 | 
			
		||||
      "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": [4, 6], "x": 8, "y": 0},
 | 
			
		||||
        {"matrix": [4, 5], "x": 9, "y": 0},
 | 
			
		||||
        {"matrix": [4, 4], "x": 10, "y": 0},
 | 
			
		||||
        {"matrix": [4, 3], "x": 11, "y": 0},
 | 
			
		||||
        {"matrix": [4, 2], "x": 12, "y": 0},
 | 
			
		||||
        {"matrix": [4, 1], "x": 13, "y": 0},
 | 
			
		||||
        {"matrix": [4, 0], "x": 14, "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": [5, 6], "x": 8, "y": 1},
 | 
			
		||||
        {"matrix": [5, 5], "x": 9, "y": 1},
 | 
			
		||||
        {"matrix": [5, 4], "x": 10, "y": 1},
 | 
			
		||||
        {"matrix": [5, 3], "x": 11, "y": 1},
 | 
			
		||||
        {"matrix": [5, 2], "x": 12, "y": 1},
 | 
			
		||||
        {"matrix": [5, 1], "x": 13, "y": 1},
 | 
			
		||||
        {"matrix": [5, 0], "x": 14, "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": [6, 6], "x": 8, "y": 2},
 | 
			
		||||
        {"matrix": [6, 5], "x": 9, "y": 2},
 | 
			
		||||
        {"matrix": [6, 4], "x": 10, "y": 2},
 | 
			
		||||
        {"matrix": [6, 3], "x": 11, "y": 2},
 | 
			
		||||
        {"matrix": [6, 2], "x": 12, "y": 2},
 | 
			
		||||
        {"matrix": [6, 1], "x": 13, "y": 2},
 | 
			
		||||
        {"matrix": [6, 0], "x": 14, "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},
 | 
			
		||||
        {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
        {"matrix": [3, 6], "x": 6, "y": 3},
 | 
			
		||||
 | 
			
		||||
        {"matrix": [7, 6], "x": 8, "y": 3},
 | 
			
		||||
        {"matrix": [7, 5], "x": 9, "y": 3},
 | 
			
		||||
        {"matrix": [7, 4], "x": 10, "y": 3},
 | 
			
		||||
        {"matrix": [7, 3], "x": 11, "y": 3},
 | 
			
		||||
        {"matrix": [7, 2], "x": 12, "y": 3},
 | 
			
		||||
        {"matrix": [7, 1], "x": 13, "y": 3},
 | 
			
		||||
        {"matrix": [7, 0], "x": 14, "y": 3}
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT_ortho_4x14( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
		{ R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R36, R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT_ortho_4x14( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05, R06 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15, R16 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25, R26 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35, R36 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT LAYOUT_ortho_4x14
 | 
			
		||||
| 
						 | 
				
			
			@ -93,21 +93,6 @@ More info can be found on [GeekHack](https://geekhack.org/index.php?topic=73632.
 | 
			
		|||
 | 
			
		||||
The second ArrowPad was a conversion from a 21-key Genovation keypad. It used a 2 row x 11 column matrix.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
#define LAYOUT_pad21( \
 | 
			
		||||
    KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
 | 
			
		||||
    KM_NUM, KM_FSL, KM_AST, KM_MIN, \
 | 
			
		||||
    KM___7, KM___8, KM___9,         \
 | 
			
		||||
    KM___4, KM___5, KM___6, KM_PLS, \
 | 
			
		||||
    KM___1, KM___2, KM___3,         \
 | 
			
		||||
    KM___0,         KM_DOT, KM_ENT  \
 | 
			
		||||
) { \
 | 
			
		||||
    { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
 | 
			
		||||
    { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO,  KM___0, KM_DOT, }, \
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Quantum MK Firmware
 | 
			
		||||
 | 
			
		||||
For the full Quantum feature list, see [the parent readme.md](/readme.md).
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,51 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04,                     R00, R01, R02, R03, R04, \
 | 
			
		||||
    L10, L11, L12, L13, L14,                     R10, R11, R12, R13, R14, \
 | 
			
		||||
    L20, L21, L22, L23, L24,                     R20, R21, R22, R23, R24, \
 | 
			
		||||
         L31, L32,                                         R32, R33, \
 | 
			
		||||
                       L33, L34,                     R30, R31, \
 | 
			
		||||
                                 L44, L43, R41, R40, \
 | 
			
		||||
                                 L42, L41, R43, R42 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24 }, \
 | 
			
		||||
    { XXX, L31, L32, L33, L34 }, \
 | 
			
		||||
    { XXX, L41, L42, L43, L44 }, \
 | 
			
		||||
\
 | 
			
		||||
    { R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { XXX, R33, R32, R31, R30 }, \
 | 
			
		||||
    { XXX, R43, R42, R41, R40 } \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04,                     R00, R01, R02, R03, R04, \
 | 
			
		||||
    L10, L11, L12, L13, L14,                     R10, R11, R12, R13, R14, \
 | 
			
		||||
    L20, L21, L22, L23, L24,                     R20, R21, R22, R23, R24, \
 | 
			
		||||
         L31, L32,                                         R32, R33, \
 | 
			
		||||
                       L33, L34,                     R30, R31, \
 | 
			
		||||
                                 L43, L44, R40, R41, \
 | 
			
		||||
                                 L41, L42, R42, R43 \
 | 
			
		||||
) { \
 | 
			
		||||
    { R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { XXX, R33, R32, R31, R30 }, \
 | 
			
		||||
    { XXX, R43, R42, R41, R40 }, \
 | 
			
		||||
\
 | 
			
		||||
    { L00, L01, L02, L03, L04 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24 }, \
 | 
			
		||||
    { XXX, L31, L32, L33, L34 }, \
 | 
			
		||||
    { XXX, L41, L42, L43, L44 } \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -24,65 +24,65 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0},
 | 
			
		||||
                {"x": 1, "y": 0},
 | 
			
		||||
                {"x": 2, "y": 0},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 10, "y": 0},
 | 
			
		||||
                {"x": 11, "y": 0},
 | 
			
		||||
                {"x": 12, "y":0},
 | 
			
		||||
                {"x": 13, "y": 0},
 | 
			
		||||
                {"x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 14, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1},
 | 
			
		||||
                {"x": 1, "y": 1},
 | 
			
		||||
                {"x": 2, "y": 1},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 10, "y": 1},
 | 
			
		||||
                {"x": 11, "y": 1},
 | 
			
		||||
                {"x": 12, "y": 1},
 | 
			
		||||
                {"x": 13, "y": 1},
 | 
			
		||||
                {"x": 14, "y": 1},
 | 
			
		||||
                {"matrix": [6, 4], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [6, 3], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 12, "y": 1},
 | 
			
		||||
                {"matrix": [6, 1], "x": 13, "y": 1},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 1},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2},
 | 
			
		||||
                {"x": 1, "y": 2},
 | 
			
		||||
                {"x": 2, "y": 2},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 10, "y": 2},
 | 
			
		||||
                {"x": 11, "y": 2},
 | 
			
		||||
                {"x": 12, "y": 2},
 | 
			
		||||
                {"x": 13, "y": 2},
 | 
			
		||||
                {"x": 14, "y": 2},
 | 
			
		||||
                {"matrix": [7, 4], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 12, "y": 2},
 | 
			
		||||
                {"matrix": [7, 1], "x": 13, "y": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 14, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 1, "y": 3},
 | 
			
		||||
                {"x": 2, "y": 3},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x": 12, "y": 3},
 | 
			
		||||
                {"x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [8, 1], "x": 13, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
                {"x": 4, "y": 4},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 10, "y": 4},
 | 
			
		||||
                {"x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [8, 4], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [8, 3], "x": 11, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 5},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 3], "x": 6, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 8, "y": 5},
 | 
			
		||||
                {"x": 9, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 8, "y": 5},
 | 
			
		||||
                {"matrix": [9, 4], "x": 9, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 6},
 | 
			
		||||
                {"x": 6, "y": 6},
 | 
			
		||||
                {"matrix": [4, 2], "x": 5, "y": 6},
 | 
			
		||||
                {"matrix": [4, 1], "x": 6, "y": 6},
 | 
			
		||||
 | 
			
		||||
                {"x": 8, "y": 6},
 | 
			
		||||
                {"x": 9, "y": 6}
 | 
			
		||||
                {"matrix": [9, 1], "x": 8, "y": 6},
 | 
			
		||||
                {"matrix": [9, 2], "x": 9, "y": 6}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,10 +9,13 @@
 | 
			
		|||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_1x1"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_1x1": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                { "x": 0, "y": 0 }
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_1x1( \
 | 
			
		||||
    k00 \
 | 
			
		||||
) { \
 | 
			
		||||
    { k00 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT LAYOUT_ortho_1x1
 | 
			
		||||
| 
						 | 
				
			
			@ -19,63 +19,63 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0},
 | 
			
		||||
                {"x": 1, "y": 0},
 | 
			
		||||
                {"x": 2, "y": 0},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0},
 | 
			
		||||
                {"x": 5, "y": 0},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 9, "y": 0},
 | 
			
		||||
                {"x": 10, "y": 0},
 | 
			
		||||
                {"x": 11, "y": 0},
 | 
			
		||||
                {"x": 12, "y": 0},
 | 
			
		||||
                {"x": 13, "y": 0},
 | 
			
		||||
                {"x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [4, 5], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 14, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1},
 | 
			
		||||
                {"x": 1, "y": 1},
 | 
			
		||||
                {"x": 2, "y": 1},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1},
 | 
			
		||||
                {"x": 5, "y": 1},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 9, "y": 1},
 | 
			
		||||
                {"x": 10, "y": 1},
 | 
			
		||||
                {"x": 11, "y": 1},
 | 
			
		||||
                {"x": 12, "y": 1},
 | 
			
		||||
                {"x": 13, "y": 1},
 | 
			
		||||
                {"x": 14, "y": 1},
 | 
			
		||||
                {"matrix": [5, 5], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 12, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 13, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 14, "y": 1},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2},
 | 
			
		||||
                {"x": 1, "y": 2},
 | 
			
		||||
                {"x": 2, "y": 2},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2},
 | 
			
		||||
                {"x": 5, "y": 2},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x": 9, "y": 2},
 | 
			
		||||
                {"x": 10, "y": 2},
 | 
			
		||||
                {"x": 11, "y": 2},
 | 
			
		||||
                {"x": 12, "y": 2},
 | 
			
		||||
                {"x": 13, "y": 2},
 | 
			
		||||
                {"x": 14, "y": 2},
 | 
			
		||||
                {"matrix": [6, 5], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 12, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 13, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3},
 | 
			
		||||
                {"x": 1, "y": 3},
 | 
			
		||||
                {"x": 2, "y": 3},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3},
 | 
			
		||||
                {"x": 5, "y": 3},
 | 
			
		||||
                {"x": 6, "y": 3},
 | 
			
		||||
                {"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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"x": 8, "y": 3},
 | 
			
		||||
                {"x": 9, "y": 3},
 | 
			
		||||
                {"x": 10, "y": 3},
 | 
			
		||||
                {"x": 11, "y": 3},
 | 
			
		||||
                {"x": 12, "y": 3},
 | 
			
		||||
                {"x": 13, "y": 3},
 | 
			
		||||
                {"x": 14, "y": 3}
 | 
			
		||||
                {"matrix": [7, 6], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 5], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 14, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,41 +22,3 @@
 | 
			
		|||
//  for the old keymap.c.
 | 
			
		||||
extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead.
 | 
			
		||||
#define has_usb() is_keyboard_master()
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
  // Standard Keymap
 | 
			
		||||
  // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35  \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, KC_NO }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, KC_NO }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, KC_NO }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { R05, R04, R03, R02, R01, R00, KC_NO }, \
 | 
			
		||||
    { R15, R14, R13, R12, R11, R10, KC_NO }, \
 | 
			
		||||
    { R25, R24, R23, R22, R21, R20, KC_NO }, \
 | 
			
		||||
    { R35, R34, R33, R32, R31, R30, R36 }, \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
    // Keymap with right side flipped
 | 
			
		||||
    // (TRRS jack on both halves are to the right)
 | 
			
		||||
    #define LAYOUT( \
 | 
			
		||||
        L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
        L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
        L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
        L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35  \
 | 
			
		||||
    ) { \
 | 
			
		||||
        { L00, L01, L02, L03, L04, L05, KC_NO }, \
 | 
			
		||||
        { L10, L11, L12, L13, L14, L15, KC_NO }, \
 | 
			
		||||
        { L20, L21, L22, L23, L24, L25, KC_NO }, \
 | 
			
		||||
        { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
        { KC_NO, R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
        { KC_NO, R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
        { KC_NO, R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
        { R36, R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,6 +72,23 @@
 | 
			
		|||
                {"matrix": [7, 5], "x": 10, "y": 3.375},
 | 
			
		||||
                {"matrix": [7, 4], "x": 11, "y": 3.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_dips": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [2, 0], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [3, 0], "x": 2, "y": 0},
 | 
			
		||||
                {"matrix": [3, 1], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [3, 2], "x": 4, "y": 0},
 | 
			
		||||
                {"matrix": [3, 3], "x": 5, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 3], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [7, 2], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [7, 1], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [7, 0], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [6, 0], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 11, "y": 0}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#include "rev1.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef SWAP_HANDS_ENABLE
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#ifdef DIPS_ENABLE
 | 
			
		||||
#define LAYOUT_dips( \
 | 
			
		||||
  DL0, DL1, DL2, DL3, DL4, DL5, \
 | 
			
		||||
  DR5, DR4, DR3, DR2, DR1, DR0  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
  {XXX, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DL0, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DL1, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DL2, DL3, DL4, DL5, XXX, XXX, XXX}, \
 | 
			
		||||
  {XXX, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DR0, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DR1, XXX, XXX, XXX, XXX, XXX, XXX}, \
 | 
			
		||||
  {DR2, DR3, DR4, DR5, XXX, XXX, XXX}, \
 | 
			
		||||
}
 | 
			
		||||
#endif // DIPS_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -19,9 +19,68 @@
 | 
			
		|||
    "ws2812": {
 | 
			
		||||
        "pin": "D3"
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_4x12"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -19,9 +19,68 @@
 | 
			
		|||
    "ws2812": {
 | 
			
		||||
        "pin": "D3"
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_4x12"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#include "rev2.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
void eeconfig_init_kb(void) {
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -17,12 +17,141 @@
 | 
			
		|||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}]
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_5x12"
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_ortho_4x12": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_ortho_5x12": {
 | 
			
		||||
            "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": [5, 5], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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": [7, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [8, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [8, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [8, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [8, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [8, 0], "x": 12, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4},
 | 
			
		||||
                {"matrix": [4, 5], "x": 5, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [9, 4], "x": 8, "y": 4},
 | 
			
		||||
                {"matrix": [9, 3], "x": 9, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [9, 1], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [9, 0], "x": 12, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,83 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#define LAYOUT_ortho_4x12( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
    ) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
		{ R40, R41, R42, R43, R44, R45 } \
 | 
			
		||||
	}
 | 
			
		||||
#define LAYOUT_ortho_4x12( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
    ) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_5x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -21,12 +21,141 @@
 | 
			
		|||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}]
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_5x12"
 | 
			
		||||
    },
 | 
			
		||||
    "LAYOUT_ortho_4x12": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_ortho_5x12": {
 | 
			
		||||
            "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": [5, 5], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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": [7, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [8, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [8, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [8, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [8, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [8, 0], "x": 12, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4},
 | 
			
		||||
                {"matrix": [4, 5], "x": 5, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [9, 4], "x": 8, "y": 4},
 | 
			
		||||
                {"matrix": [9, 3], "x": 9, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [9, 1], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [9, 0], "x": 12, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#include "rev2.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
void eeconfig_init_kb(void) {
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,83 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#define LAYOUT_ortho_4x12( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
    ) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
		{ R40, R41, R42, R43, R44, R45 } \
 | 
			
		||||
	}
 | 
			
		||||
#define LAYOUT_ortho_4x12( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
    ) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_5x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -15,83 +15,91 @@
 | 
			
		|||
        "rows": ["D4", "D7", "E6", "B4", "B5"]
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_5x14"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
        "LAYOUT_ortho_5x14": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0},
 | 
			
		||||
                {"x":1, "y":0},
 | 
			
		||||
                {"x":2, "y":0},
 | 
			
		||||
                {"x":3, "y":0},
 | 
			
		||||
                {"x":4, "y":0},
 | 
			
		||||
                {"x":5, "y":0},
 | 
			
		||||
                {"x":6, "y":0},
 | 
			
		||||
                {"x":8, "y":0},
 | 
			
		||||
                {"x":9, "y":0},
 | 
			
		||||
                {"x":10, "y":0},
 | 
			
		||||
                {"x":11, "y":0},
 | 
			
		||||
                {"x":12, "y":0},
 | 
			
		||||
                {"x":13, "y":0},
 | 
			
		||||
                {"x":14, "y":0},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":1},
 | 
			
		||||
                {"x":1, "y":1},
 | 
			
		||||
                {"x":2, "y":1},
 | 
			
		||||
                {"x":3, "y":1},
 | 
			
		||||
                {"x":4, "y":1},
 | 
			
		||||
                {"x":5, "y":1},
 | 
			
		||||
                {"x":6, "y":1},
 | 
			
		||||
                {"x":8, "y":1},
 | 
			
		||||
                {"x":9, "y":1},
 | 
			
		||||
                {"x":10, "y":1},
 | 
			
		||||
                {"x":11, "y":1},
 | 
			
		||||
                {"x":12, "y":1},
 | 
			
		||||
                {"x":13, "y":1},
 | 
			
		||||
                {"x":14, "y":1},
 | 
			
		||||
                {"matrix": [5, 6], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [5, 5], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 14, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":2},
 | 
			
		||||
                {"x":1, "y":2},
 | 
			
		||||
                {"x":2, "y":2},
 | 
			
		||||
                {"x":3, "y":2},
 | 
			
		||||
                {"x":4, "y":2},
 | 
			
		||||
                {"x":5, "y":2},
 | 
			
		||||
                {"x":6, "y":2},
 | 
			
		||||
                {"x":8, "y":2},
 | 
			
		||||
                {"x":9, "y":2},
 | 
			
		||||
                {"x":10, "y":2},
 | 
			
		||||
                {"x":11, "y":2},
 | 
			
		||||
                {"x":12, "y":2},
 | 
			
		||||
                {"x":13, "y":2},
 | 
			
		||||
                {"x":14, "y":2},
 | 
			
		||||
                {"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},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":3},
 | 
			
		||||
                {"x":1, "y":3},
 | 
			
		||||
                {"x":2, "y":3},
 | 
			
		||||
                {"x":3, "y":3},
 | 
			
		||||
                {"x":4, "y":3},
 | 
			
		||||
                {"x":5, "y":3},
 | 
			
		||||
                {"x":6, "y":3},
 | 
			
		||||
                {"x":8, "y":3},
 | 
			
		||||
                {"x":9, "y":3},
 | 
			
		||||
                {"x":10, "y":3},
 | 
			
		||||
                {"x":11, "y":3},
 | 
			
		||||
                {"x":12, "y":3},
 | 
			
		||||
                {"x":13, "y":3},
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"matrix": [6, 6], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [6, 5], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [6, 4], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [6, 3], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 12, "y": 1},
 | 
			
		||||
                {"matrix": [6, 1], "x": 13, "y": 1},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 1},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":4},
 | 
			
		||||
                {"x":1, "y":4},
 | 
			
		||||
                {"x":2, "y":4},
 | 
			
		||||
                {"x":3, "y":4},
 | 
			
		||||
                {"x":4, "y":4},
 | 
			
		||||
                {"x":5, "y":4},
 | 
			
		||||
                {"x":6, "y":4},
 | 
			
		||||
                {"x":8, "y":4},
 | 
			
		||||
                {"x":9, "y":4},
 | 
			
		||||
                {"x":10, "y":4},
 | 
			
		||||
                {"x":11, "y":4},
 | 
			
		||||
                {"x":12, "y":4},
 | 
			
		||||
                {"x":13, "y":4},
 | 
			
		||||
                {"x":14, "y":4}
 | 
			
		||||
                {"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": [7, 6], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [7, 5], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [7, 4], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 12, "y": 2},
 | 
			
		||||
                {"matrix": [7, 1], "x": 13, "y": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 14, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [8, 6], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [8, 5], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [8, 4], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [8, 3], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 12, "y": 3},
 | 
			
		||||
                {"matrix": [8, 1], "x": 13, "y": 3},
 | 
			
		||||
                {"matrix": [8, 0], "x": 14, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 4, "y": 4},
 | 
			
		||||
                {"matrix": [4, 5], "x": 5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 6], "x": 6, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 6], "x": 8, "y": 4},
 | 
			
		||||
                {"matrix": [9, 5], "x": 9, "y": 4},
 | 
			
		||||
                {"matrix": [9, 4], "x": 10, "y": 4},
 | 
			
		||||
                {"matrix": [9, 3], "x": 11, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 12, "y": 4},
 | 
			
		||||
                {"matrix": [9, 1], "x": 13, "y": 4},
 | 
			
		||||
                {"matrix": [9, 0], "x": 14, "y": 4}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,51 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
		{ R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R36, R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ R46, R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
		{ L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05, R06 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15, R16 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25, R26 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35, R36 }, \
 | 
			
		||||
		{ R40, R41, R42, R43, R44, R45, R46 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_5x14 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -17,9 +17,68 @@
 | 
			
		|||
    "ws2812": {
 | 
			
		||||
        "pin": "D3"
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_4x12"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -17,9 +17,68 @@
 | 
			
		|||
    "ws2812": {
 | 
			
		||||
        "pin": "D4"
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_ortho_4x12"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}]
 | 
			
		||||
        "LAYOUT_ortho_4x12": {
 | 
			
		||||
            "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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 4], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_4x12 LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -1,64 +0,0 @@
 | 
			
		|||
/* Copyright 2022 Liashenko Volodymyr (@LVladymyr)
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05,  \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15,  \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,  \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
	               L41, L42, L43, L44, R41, R42, R43, R44  \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ KC_NO, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,      R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,      R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R30, R31, R32, R33, R34, R35, R45, \
 | 
			
		||||
                   L41, L42, L43, L44,                R41, R42, R43, R44 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
        { KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
        { KC_NO, R41, R42, R43, R44, R45 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -42,11 +42,73 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
 | 
			
		||||
                {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
 | 
			
		||||
                {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
 | 
			
		||||
                {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
 | 
			
		||||
                {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15}
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.5},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 10.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 11.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 12.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 14.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 15.5, "y": 0.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.5},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 10.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 11.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 14.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 15.5, "y": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.5},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 10.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 11.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 12.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 14.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 15.5, "y": 2.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.5},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 9.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [8, 5], "x": 10.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 11.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 12.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 14.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 15.5, "y": 3.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 1], "x": 2.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 2], "x": 3.5, "y": 4.15},
 | 
			
		||||
                {"matrix": [4, 3], "x": 4.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 11, "y": 4.25},
 | 
			
		||||
                {"matrix": [9, 2], "x": 12, "y": 4.15},
 | 
			
		||||
                {"matrix": [9, 1], "x": 13, "y": 4.15}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,11 +43,73 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
 | 
			
		||||
                {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
 | 
			
		||||
                {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
 | 
			
		||||
                {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
 | 
			
		||||
                {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15}
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.5},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 10.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 11.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 12.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 14.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 15.5, "y": 0.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.5},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 10.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 11.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 14.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 15.5, "y": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.5},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 10.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 11.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 12.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 14.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 15.5, "y": 2.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.5},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 9.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [8, 5], "x": 10.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 11.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 12.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 14.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 15.5, "y": 3.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 1], "x": 2.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 2], "x": 3.5, "y": 4.15},
 | 
			
		||||
                {"matrix": [4, 3], "x": 4.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 11, "y": 4.25},
 | 
			
		||||
                {"matrix": [9, 2], "x": 12, "y": 4.15},
 | 
			
		||||
                {"matrix": [9, 1], "x": 13, "y": 4.15}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,48 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05,  \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15,  \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,  \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
	               L41, L42, L43, L44, R41, R42, R43, R44  \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ KC_NO, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,      R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,      R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R30, R31, R32, R33, R34, R35, R45, \
 | 
			
		||||
                   L41, L42, L43, L44,                R41, R42, R43, R44 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
        { KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
        { KC_NO, R41, R42, R43, R44, R45 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -28,11 +28,73 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
 | 
			
		||||
                {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
 | 
			
		||||
                {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
 | 
			
		||||
                {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
 | 
			
		||||
                {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15}
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.5},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 10.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 11.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 12.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 14.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 15.5, "y": 0.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.5},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 10.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 11.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 12.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 14.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 15.5, "y": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.5},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 10.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 11.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 12.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 14.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 15.5, "y": 2.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.5},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 9.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [8, 5], "x": 10.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 11.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 12.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 14.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 15.5, "y": 3.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 1], "x": 2.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 2], "x": 3.5, "y": 4.15},
 | 
			
		||||
                {"matrix": [4, 3], "x": 4.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 11, "y": 4.25},
 | 
			
		||||
                {"matrix": [9, 2], "x": 12, "y": 4.15},
 | 
			
		||||
                {"matrix": [9, 1], "x": 13, "y": 4.15}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,52 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
//rgb led driver
 | 
			
		||||
#include "ws2812.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05,  \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15,  \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,  \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
	               L41, L42, L43, L44, R41, R42, R43, R44  \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
		{ KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
		{ KC_NO, R44, R43, R42, R41, R40 } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05,      R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15,      R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25,      R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33, L34, L35, L45, R30, R31, R32, R33, R34, R35, R45, \
 | 
			
		||||
                   L41, L42, L43, L44,                R41, R42, R43, R44 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
        { KC_NO, L41, L42, L43, L44, L45 }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ R30, R31, R32, R33, R34, R35 }, \
 | 
			
		||||
        { KC_NO, R41, R42, R43, R44, R45 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -28,206 +28,53 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT_ortho_4x10": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Q",
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "W",
 | 
			
		||||
                    "x": 1,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "E",
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "R",
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "T",
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Y",
 | 
			
		||||
                    "x": 6,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "U",
 | 
			
		||||
                    "x": 7,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "I",
 | 
			
		||||
                    "x": 8,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "O",
 | 
			
		||||
                    "x": 9,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "P",
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 0
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "A",
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "S",
 | 
			
		||||
                    "x": 1,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "D",
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "F",
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "G",
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "H",
 | 
			
		||||
                    "x": 6,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "J",
 | 
			
		||||
                    "x": 7,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "K",
 | 
			
		||||
                    "x": 8,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "L",
 | 
			
		||||
                    "x": 9,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Enter",
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 1
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Z",
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "X",
 | 
			
		||||
                    "x": 1,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "C",
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "V",
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "B",
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "N",
 | 
			
		||||
                    "x": 6,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "M",
 | 
			
		||||
                    "x": 7,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": ",",
 | 
			
		||||
                    "x": 8,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": ".",
 | 
			
		||||
                    "x": 9,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "/",
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 2
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Ctrl",
 | 
			
		||||
                    "x": 0,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Win",
 | 
			
		||||
                    "x": 1,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Alt",
 | 
			
		||||
                    "x": 2,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Lower",
 | 
			
		||||
                    "x": 3,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "backspace",
 | 
			
		||||
                    "x": 4,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "space",
 | 
			
		||||
                    "x": 6,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Upper",
 | 
			
		||||
                    "x": 7,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Alt",
 | 
			
		||||
                    "x": 8,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "App",
 | 
			
		||||
                    "x": 9,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    "label": "Ctrl",
 | 
			
		||||
                    "x": 10,
 | 
			
		||||
                    "y": 3
 | 
			
		||||
                }
 | 
			
		||||
                {"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": [4, 4], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "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": [5, 4], "x": 6, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "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": [6, 4], "x": 6, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 10, "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},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 4], "x": 6, "y": 3},
 | 
			
		||||
                {"matrix": [7, 3], "x": 7, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 8, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 10, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,7 @@
 | 
			
		|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "rev1.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
// Optional override functions below.
 | 
			
		||||
// You can leave any or all of these undefined.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,89 +0,0 @@
 | 
			
		|||
/* Copyright 2020 marksard
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
/* This is a shortcut to help you visually see your layout.
 | 
			
		||||
 *
 | 
			
		||||
 * The first section contains all of the arguments representing the physical
 | 
			
		||||
 * layout of the board and position of the keys.
 | 
			
		||||
 *
 | 
			
		||||
 * The second converts the arguments into a two-dimensional array which
 | 
			
		||||
 * represents the switch matrix.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT_ortho_4x10( \
 | 
			
		||||
  L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
  L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
  L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
 | 
			
		||||
  L30, L31, L32, L33, L34, R30, R31, R32, R33, R34  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L00, L01, L02, L03, L04 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34 }, \
 | 
			
		||||
    { R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R34, R33, R32, R31, R30 }, \
 | 
			
		||||
  }
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT_ortho_4x10( \
 | 
			
		||||
  L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
  L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
  L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
 | 
			
		||||
  L30, L31, L32, L33, L34, R30, R31, R32, R33, R34  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R34, R33, R32, R31, R30 }, \
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef USE_HASHTWENTY // The HashTwenty is Alpha version of The Rhymestone
 | 
			
		||||
#undef LAYOUT_ortho_4x10
 | 
			
		||||
// HashTwenty layout
 | 
			
		||||
#define LAYOUT_ortho_4x10( \
 | 
			
		||||
  L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
 | 
			
		||||
  L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
 | 
			
		||||
  L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
 | 
			
		||||
  L30, L31, L32, L33, L34, R30, R31, R32, R33, R34  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R00, R01, R02, R03, R04 }, \
 | 
			
		||||
    { R10, R11, R12, R13, R14 }, \
 | 
			
		||||
    { R20, R21, R22, R23, R24 }, \
 | 
			
		||||
    { R30, R31, R32, R33, R34 }, \
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -21,258 +21,265 @@
 | 
			
		|||
  },
 | 
			
		||||
  "processor": "atmega32u4",
 | 
			
		||||
  "bootloader": "caterina",
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT_base": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Esc",
 | 
			
		||||
          "x": 1,
 | 
			
		||||
          "y": 0
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_base": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [4, 5], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 2.25, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3.25, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 4.25, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 5.25, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 6.25, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [0, 5], "x": 7.75, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 8.75, "y": 0},
 | 
			
		||||
                {"matrix": [0, 3], "x": 9.75, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 10.75, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 11.75, "y": 0},
 | 
			
		||||
                {"matrix": [0, 0], "x": 13.75, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 1, "y": 1, "w": 1.5},
 | 
			
		||||
                {"matrix": [5, 4], "x": 2.5, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 3.5, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 4.5, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 5.5, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 6.5, "y": 1},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 5], "x": 7.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 8.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 3], "x": 9.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 2], "x": 10.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 1], "x": 11.5, "y": 1},
 | 
			
		||||
                {"matrix": [1, 0], "x": 12.5, "y": 1, "w": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 0, "y": 2, "w": 2.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 2.25, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 3.25, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 4.25, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 5.25, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 6.25, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 5], "x": 7.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 8.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 3], "x": 9.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 2], "x": 10.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 1], "x": 11.75, "y": 2},
 | 
			
		||||
                {"matrix": [2, 0], "x": 12.75, "y": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 0.75, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 2, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [7, 3], "x": 3.25, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [7, 2], "x": 4.5, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 5.5, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [7, 0], "x": 7.5, "y": 3, "w": 2},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 5], "x": 9.5, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 10.5, "y": 3, "w": 1.25},
 | 
			
		||||
                {"matrix": [3, 3], "x": 11.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 2], "x": 12.75, "y": 3},
 | 
			
		||||
                {"matrix": [3, 1], "x": 13.75, "y": 3},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 12.75, "y": 0}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Q",
 | 
			
		||||
          "x": 2.25,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        "LAYOUT_full": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [4, 5], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 4, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 5, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [0, 5], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 3], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 0], "x": 11, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [12, 5], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [12, 4], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [12, 3], "x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [12, 2], "x": 15, "y": 0},
 | 
			
		||||
                {"matrix": [12, 1], "x": 16, "y": 0},
 | 
			
		||||
                {"matrix": [12, 0], "x": 17, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [8, 5], "x": 18, "y": 0},
 | 
			
		||||
                {"matrix": [8, 4], "x": 19, "y": 0},
 | 
			
		||||
                {"matrix": [8, 3], "x": 20, "y": 0},
 | 
			
		||||
                {"matrix": [8, 2], "x": 21, "y": 0},
 | 
			
		||||
                {"matrix": [8, 1], "x": 22, "y": 0},
 | 
			
		||||
                {"matrix": [8, 0], "x": 23, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 24, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 25, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 26, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 27, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 28, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 29, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 5], "x": 30, "y": 0},
 | 
			
		||||
                {"matrix": [1, 4], "x": 31, "y": 0},
 | 
			
		||||
                {"matrix": [1, 3], "x": 32, "y": 0},
 | 
			
		||||
                {"matrix": [1, 2], "x": 33, "y": 0},
 | 
			
		||||
                {"matrix": [1, 1], "x": 34, "y": 0},
 | 
			
		||||
                {"matrix": [1, 0], "x": 35, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [13, 5], "x": 36, "y": 0},
 | 
			
		||||
                {"matrix": [13, 4], "x": 37, "y": 0},
 | 
			
		||||
                {"matrix": [13, 3], "x": 38, "y": 0},
 | 
			
		||||
                {"matrix": [13, 2], "x": 39, "y": 0},
 | 
			
		||||
                {"matrix": [13, 1], "x": 40, "y": 0},
 | 
			
		||||
                {"matrix": [13, 0], "x": 41, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 42, "y": 0},
 | 
			
		||||
                {"matrix": [9, 4], "x": 43, "y": 0},
 | 
			
		||||
                {"matrix": [9, 3], "x": 44, "y": 0},
 | 
			
		||||
                {"matrix": [9, 2], "x": 45, "y": 0},
 | 
			
		||||
                {"matrix": [9, 1], "x": 46, "y": 0},
 | 
			
		||||
                {"matrix": [9, 0], "x": 47, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 48, "y": 0},
 | 
			
		||||
                {"matrix": [6, 4], "x": 49, "y": 0},
 | 
			
		||||
                {"matrix": [6, 3], "x": 50, "y": 0},
 | 
			
		||||
                {"matrix": [6, 2], "x": 51, "y": 0},
 | 
			
		||||
                {"matrix": [6, 1], "x": 52, "y": 0},
 | 
			
		||||
                {"matrix": [6, 0], "x": 53, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 5], "x": 54, "y": 0},
 | 
			
		||||
                {"matrix": [2, 4], "x": 55, "y": 0},
 | 
			
		||||
                {"matrix": [2, 3], "x": 56, "y": 0},
 | 
			
		||||
                {"matrix": [2, 2], "x": 57, "y": 0},
 | 
			
		||||
                {"matrix": [2, 1], "x": 58, "y": 0},
 | 
			
		||||
                {"matrix": [2, 0], "x": 59, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [14, 5], "x": 60, "y": 0},
 | 
			
		||||
                {"matrix": [14, 4], "x": 61, "y": 0},
 | 
			
		||||
                {"matrix": [14, 3], "x": 62, "y": 0},
 | 
			
		||||
                {"matrix": [14, 2], "x": 63, "y": 0},
 | 
			
		||||
                {"matrix": [14, 1], "x": 64, "y": 0},
 | 
			
		||||
                {"matrix": [14, 0], "x": 65, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [10, 5], "x": 66, "y": 0},
 | 
			
		||||
                {"matrix": [10, 4], "x": 67, "y": 0},
 | 
			
		||||
                {"matrix": [10, 3], "x": 68, "y": 0},
 | 
			
		||||
                {"matrix": [10, 2], "x": 69, "y": 0},
 | 
			
		||||
                {"matrix": [10, 1], "x": 70, "y": 0},
 | 
			
		||||
                {"matrix": [10, 0], "x": 71, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 72, "y": 0},
 | 
			
		||||
                {"matrix": [7, 4], "x": 73, "y": 0},
 | 
			
		||||
                {"matrix": [7, 3], "x": 74, "y": 0},
 | 
			
		||||
                {"matrix": [7, 2], "x": 75, "y": 0},
 | 
			
		||||
                {"matrix": [7, 1], "x": 76, "y": 0},
 | 
			
		||||
                {"matrix": [7, 0], "x": 77, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 5], "x": 78, "y": 0},
 | 
			
		||||
                {"matrix": [3, 4], "x": 79, "y": 0},
 | 
			
		||||
                {"matrix": [3, 3], "x": 80, "y": 0},
 | 
			
		||||
                {"matrix": [3, 2], "x": 81, "y": 0},
 | 
			
		||||
                {"matrix": [3, 1], "x": 82, "y": 0},
 | 
			
		||||
                {"matrix": [3, 0], "x": 83, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [15, 5], "x": 84, "y": 0},
 | 
			
		||||
                {"matrix": [15, 4], "x": 85, "y": 0},
 | 
			
		||||
                {"matrix": [15, 3], "x": 86, "y": 0},
 | 
			
		||||
                {"matrix": [15, 2], "x": 87, "y": 0},
 | 
			
		||||
                {"matrix": [15, 1], "x": 88, "y": 0},
 | 
			
		||||
                {"matrix": [15, 0], "x": 89, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [11, 5], "x": 90, "y": 0},
 | 
			
		||||
                {"matrix": [11, 4], "x": 91, "y": 0},
 | 
			
		||||
                {"matrix": [11, 3], "x": 92, "y": 0},
 | 
			
		||||
                {"matrix": [11, 2], "x": 93, "y": 0},
 | 
			
		||||
                {"matrix": [11, 1], "x": 94, "y": 0},
 | 
			
		||||
                {"matrix": [11, 0], "x": 95, "y": 0}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "W",
 | 
			
		||||
          "x": 3.25,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "E",
 | 
			
		||||
          "x": 4.25,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "R",
 | 
			
		||||
          "x": 5.25,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "T",
 | 
			
		||||
          "x": 6.25,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Y",
 | 
			
		||||
          "x": 7.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "U",
 | 
			
		||||
          "x": 8.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "I",
 | 
			
		||||
          "x": 9.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "O",
 | 
			
		||||
          "x": 10.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "P",
 | 
			
		||||
          "x": 11.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "-",
 | 
			
		||||
          "x": 13.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Tab",
 | 
			
		||||
          "x": 1,
 | 
			
		||||
          "y": 1,
 | 
			
		||||
          "w": 1.5
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "A",
 | 
			
		||||
          "x": 2.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "S",
 | 
			
		||||
          "x": 3.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "D",
 | 
			
		||||
          "x": 4.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "F",
 | 
			
		||||
          "x": 5.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "G",
 | 
			
		||||
          "x": 6.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "H",
 | 
			
		||||
          "x": 7.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "J",
 | 
			
		||||
          "x": 8.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "K",
 | 
			
		||||
          "x": 9.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "L",
 | 
			
		||||
          "x": 10.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": ":",
 | 
			
		||||
          "x": 11.5,
 | 
			
		||||
          "y": 1
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Enter",
 | 
			
		||||
          "x": 12.5,
 | 
			
		||||
          "y": 1,
 | 
			
		||||
          "w": 2.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Shift",
 | 
			
		||||
          "x": 0,
 | 
			
		||||
          "y": 2,
 | 
			
		||||
          "w": 2.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Z",
 | 
			
		||||
          "x": 2.25,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "X",
 | 
			
		||||
          "x": 3.25,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "C",
 | 
			
		||||
          "x": 4.25,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "V",
 | 
			
		||||
          "x": 5.25,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "B",
 | 
			
		||||
          "x": 6.25,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "N",
 | 
			
		||||
          "x": 7.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "M",
 | 
			
		||||
          "x": 8.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "<",
 | 
			
		||||
          "x": 9.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": ">",
 | 
			
		||||
          "x": 10.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "?",
 | 
			
		||||
          "x": 11.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "\u2191",
 | 
			
		||||
          "x": 12.75,
 | 
			
		||||
          "y": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Ctrl",
 | 
			
		||||
          "x": 0.75,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 1.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Win",
 | 
			
		||||
          "x": 2,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 1.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Alt",
 | 
			
		||||
          "x": 3.25,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 1.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Lower",
 | 
			
		||||
          "x": 4.5,
 | 
			
		||||
          "y": 3
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "BackSpace",
 | 
			
		||||
          "x": 5.5,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "x": 7.5,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 2
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Raise",
 | 
			
		||||
          "x": 9.5,
 | 
			
		||||
          "y": 3
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "Menu",
 | 
			
		||||
          "x": 10.5,
 | 
			
		||||
          "y": 3,
 | 
			
		||||
          "w": 1.25
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "\u2190",
 | 
			
		||||
          "x": 11.75,
 | 
			
		||||
          "y": 3
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "\u2193",
 | 
			
		||||
          "x": 12.75,
 | 
			
		||||
          "y": 3
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "\u2192",
 | 
			
		||||
          "x": 13.75,
 | 
			
		||||
          "y": 3
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "label": "_",
 | 
			
		||||
          "x": 12.75,
 | 
			
		||||
          "y": 0
 | 
			
		||||
        "LAYOUT_rs": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [4, 5], "x": 0, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 1, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 2, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 4, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 5, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [0, 5], "x": 6, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 7, "y": 0},
 | 
			
		||||
                {"matrix": [0, 3], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [0, 2], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [0, 1], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [0, 0], "x": 11, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [8, 0], "x": 12, "y": 0},
 | 
			
		||||
                {"matrix": [8, 1], "x": 13, "y": 0},
 | 
			
		||||
                {"matrix": [8, 2], "x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [8, 3], "x": 15, "y": 0},
 | 
			
		||||
                {"matrix": [8, 4], "x": 16, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 17, "y": 0},
 | 
			
		||||
                {"matrix": [5, 4], "x": 18, "y": 0},
 | 
			
		||||
                {"matrix": [5, 3], "x": 19, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 20, "y": 0},
 | 
			
		||||
                {"matrix": [5, 1], "x": 21, "y": 0},
 | 
			
		||||
                {"matrix": [5, 0], "x": 22, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 5], "x": 23, "y": 0},
 | 
			
		||||
                {"matrix": [1, 4], "x": 24, "y": 0},
 | 
			
		||||
                {"matrix": [1, 3], "x": 25, "y": 0},
 | 
			
		||||
                {"matrix": [1, 2], "x": 26, "y": 0},
 | 
			
		||||
                {"matrix": [1, 1], "x": 27, "y": 0},
 | 
			
		||||
                {"matrix": [1, 0], "x": 28, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 0], "x": 29, "y": 0},
 | 
			
		||||
                {"matrix": [9, 1], "x": 30, "y": 0},
 | 
			
		||||
                {"matrix": [9, 2], "x": 31, "y": 0},
 | 
			
		||||
                {"matrix": [9, 3], "x": 32, "y": 0},
 | 
			
		||||
                {"matrix": [9, 4], "x": 33, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 34, "y": 0},
 | 
			
		||||
                {"matrix": [6, 4], "x": 35, "y": 0},
 | 
			
		||||
                {"matrix": [6, 3], "x": 36, "y": 0},
 | 
			
		||||
                {"matrix": [6, 2], "x": 37, "y": 0},
 | 
			
		||||
                {"matrix": [6, 1], "x": 38, "y": 0},
 | 
			
		||||
                {"matrix": [6, 0], "x": 39, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 5], "x": 40, "y": 0},
 | 
			
		||||
                {"matrix": [2, 4], "x": 41, "y": 0},
 | 
			
		||||
                {"matrix": [2, 3], "x": 42, "y": 0},
 | 
			
		||||
                {"matrix": [2, 2], "x": 43, "y": 0},
 | 
			
		||||
                {"matrix": [2, 1], "x": 44, "y": 0},
 | 
			
		||||
                {"matrix": [2, 0], "x": 45, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [10, 0], "x": 46, "y": 0},
 | 
			
		||||
                {"matrix": [10, 1], "x": 47, "y": 0},
 | 
			
		||||
                {"matrix": [10, 2], "x": 48, "y": 0},
 | 
			
		||||
                {"matrix": [10, 3], "x": 49, "y": 0},
 | 
			
		||||
                {"matrix": [10, 4], "x": 50, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 51, "y": 0},
 | 
			
		||||
                {"matrix": [7, 4], "x": 52, "y": 0},
 | 
			
		||||
                {"matrix": [7, 3], "x": 53, "y": 0},
 | 
			
		||||
                {"matrix": [7, 2], "x": 54, "y": 0},
 | 
			
		||||
                {"matrix": [7, 1], "x": 55, "y": 0},
 | 
			
		||||
                {"matrix": [7, 0], "x": 56, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 5], "x": 57, "y": 0},
 | 
			
		||||
                {"matrix": [3, 4], "x": 58, "y": 0},
 | 
			
		||||
                {"matrix": [3, 3], "x": 59, "y": 0},
 | 
			
		||||
                {"matrix": [3, 2], "x": 60, "y": 0},
 | 
			
		||||
                {"matrix": [3, 1], "x": 61, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [11, 0], "x": 62, "y": 0},
 | 
			
		||||
                {"matrix": [11, 1], "x": 63, "y": 0},
 | 
			
		||||
                {"matrix": [11, 2], "x": 64, "y": 0},
 | 
			
		||||
                {"matrix": [11, 3], "x": 65, "y": 0},
 | 
			
		||||
                {"matrix": [11, 4], "x": 66, "y": 0},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 67, "y": 0}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,210 +0,0 @@
 | 
			
		|||
/* Copyright 2020 marksard
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
/* This is a shortcut to help you visually see your layout.
 | 
			
		||||
 *
 | 
			
		||||
 * The first section contains all of the arguments representing the physical
 | 
			
		||||
 * layout of the board and position of the keys.
 | 
			
		||||
 *
 | 
			
		||||
 * The second converts the arguments into a two-dimensional array which
 | 
			
		||||
 * represents the switch matrix.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// full Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT_full( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, R00, R01, R02, R03, R04, R05, R40, R41, R42, R43, R44, R45, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, R10, R11, R12, R13, R14, R15, R50, R51, R52, R53, R54, R55, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, R20, R21, R22, R23, R24, R25, R60, R61, R62, R63, R64, R65, \
 | 
			
		||||
  L30, L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, L75, R30, R31, R32, R33, R34, R35, R70, R71, R72, R73, R74, R75 \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R45, R44, R43, R42, R41, R40 }, \
 | 
			
		||||
    { R55, R54, R53, R52, R51, R50 }, \
 | 
			
		||||
    { R65, R64, R63, R62, R61, R60 }, \
 | 
			
		||||
    { R75, R74, R73, R72, R71, R70 }, \
 | 
			
		||||
    { R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#define K_N KC_NO
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// When only use Treadstone48.
 | 
			
		||||
// L75 is ExtraKey
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#define LAYOUT_base( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, \
 | 
			
		||||
  L30, L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, L75  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
  }
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// When connecting Rhymestone to Treadstone48.
 | 
			
		||||
// L75 is ExtraKey
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#define LAYOUT_rs( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, R50, R51, R52, R53, R54, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, R60, R61, R62, R63, R64, \
 | 
			
		||||
  L30, L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, R70, R71, R72, R73, R74, L75  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R40, R41, R42, R43, R44, K_N }, \
 | 
			
		||||
    { R50, R51, R52, R53, R54, K_N }, \
 | 
			
		||||
    { R60, R61, R62, R63, R64, K_N }, \
 | 
			
		||||
    { R70, R71, R72, R73, R74, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
// When use right hand side of the Rhymestone.
 | 
			
		||||
#ifdef RHYMESTONE_RIGHTHAND
 | 
			
		||||
#undef LAYOUT_rs
 | 
			
		||||
#define LAYOUT_rs( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, R50, R51, R52, R53, R54, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, R60, R61, R62, R63, R64, \
 | 
			
		||||
  L30, L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, R70, R71, R72, R73, R74, L75  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R44, R43, R42, R41, R40, K_N }, \
 | 
			
		||||
    { R54, R53, R52, R51, R50, K_N }, \
 | 
			
		||||
    { R64, R63, R62, R61, R60, K_N }, \
 | 
			
		||||
    { R74, R73, R72, R71, R70, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Alpha version keymap.
 | 
			
		||||
// L30 is ExtraKey
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
#ifdef ANGELINA_KEYMAP
 | 
			
		||||
#undef LAYOUT_base
 | 
			
		||||
#undef LAYOUT_rs
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_base( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, \
 | 
			
		||||
  L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, L75, L30  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_rs( \
 | 
			
		||||
  L00, L01, L02, L03, L04, L05, L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, \
 | 
			
		||||
  L10, L11, L12, L13, L14, L15, L50, L51, L52, L53, L54, L55, R50, R51, R52, R53, R54, \
 | 
			
		||||
  L20, L21, L22, L23, L24, L25, L60, L61, L62, L63, L64, L65, R60, R61, R62, R63, R64, \
 | 
			
		||||
  L31, L32, L33, L34, L35, L70, L71, L72, L73, L74, L75, R70, R71, R72, R73, R74, L30  \
 | 
			
		||||
  ) \
 | 
			
		||||
  { \
 | 
			
		||||
    { L45, L44, L43, L42, L41, L40 }, \
 | 
			
		||||
    { L55, L54, L53, L52, L51, L50 }, \
 | 
			
		||||
    { L65, L64, L63, L62, L61, L60 }, \
 | 
			
		||||
    { L75, L74, L73, L72, L71, L70 }, \
 | 
			
		||||
    { L05, L04, L03, L02, L01, L00 }, \
 | 
			
		||||
    { L15, L14, L13, L12, L11, L10 }, \
 | 
			
		||||
    { L25, L24, L23, L22, L21, L20 }, \
 | 
			
		||||
    { L35, L34, L33, L32, L31, L30 }, \
 | 
			
		||||
    { R40, R41, R42, R43, R44, K_N }, \
 | 
			
		||||
    { R50, R51, R52, R53, R54, K_N }, \
 | 
			
		||||
    { R60, R61, R62, R63, R64, K_N }, \
 | 
			
		||||
    { R70, R71, R72, R73, R74, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
    { K_N, K_N, K_N, K_N, K_N, K_N }, \
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
//////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
| 
						 | 
				
			
			@ -26,73 +26,69 @@
 | 
			
		|||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0.375},
 | 
			
		||||
                {"x":1, "y":0.375},
 | 
			
		||||
                {"x":2, "y":0.125},
 | 
			
		||||
                {"x":3, "y":0},
 | 
			
		||||
                {"x":4, "y":0.125},
 | 
			
		||||
                {"x":5, "y":0.25},
 | 
			
		||||
                {"x":6, "y":0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x":11, "y":0.75},
 | 
			
		||||
                {"x":12, "y":0.25},
 | 
			
		||||
                {"x":13, "y":0.125},
 | 
			
		||||
                {"x":14, "y":0},
 | 
			
		||||
                {"x":15, "y":0.125},
 | 
			
		||||
                {"x":16, "y":0.375},
 | 
			
		||||
                {"x":17, "y":0.375},
 | 
			
		||||
                {"matrix": [4, 6], "x": 11, "y": 0.75},
 | 
			
		||||
                {"matrix": [4, 5], "x": 12, "y": 0.25},
 | 
			
		||||
                {"matrix": [4, 4], "x": 13, "y": 0.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 14, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 15, "y": 0.125},
 | 
			
		||||
                {"matrix": [4, 1], "x": 16, "y": 0.375},
 | 
			
		||||
                {"matrix": [4, 0], "x": 17, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":1.375},
 | 
			
		||||
                {"x":1, "y":1.375},
 | 
			
		||||
                {"x":2, "y":1.125},
 | 
			
		||||
                {"x":3, "y":1},
 | 
			
		||||
                {"x":4, "y":1.125},
 | 
			
		||||
                {"x":5, "y":1.25},
 | 
			
		||||
                {"x":6, "y":1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x":11, "y":1.75},
 | 
			
		||||
                {"x":12, "y":1.25},
 | 
			
		||||
                {"x":13, "y":1.125},
 | 
			
		||||
                {"x":14, "y":1},
 | 
			
		||||
                {"x":15, "y":1.125},
 | 
			
		||||
                {"x":16, "y":1.375},
 | 
			
		||||
                {"x":17, "y":1.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11, "y": 1.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12, "y": 1.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13, "y": 1.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15, "y": 1.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16, "y": 1.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":2.375},
 | 
			
		||||
                {"x":1, "y":2.375},
 | 
			
		||||
                {"x":2, "y":2.125},
 | 
			
		||||
                {"x":3, "y":2},
 | 
			
		||||
                {"x":4, "y":2.125},
 | 
			
		||||
                {"x":5, "y":2.25},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6.5, "y": 3.25},
 | 
			
		||||
 | 
			
		||||
                {"x":6.5, "y":3.25},
 | 
			
		||||
                {"matrix": [6, 6], "x": 10.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12, "y": 2.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13, "y": 2.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15, "y": 2.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16, "y": 2.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x":10.5, "y":3.25},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 5.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [3, 5], "x": 6.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7.5, "y": 3.25, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x":12, "y":2.25},
 | 
			
		||||
                {"x":13, "y":2.125},
 | 
			
		||||
                {"x":14, "y":2},
 | 
			
		||||
                {"x":15, "y":2.125},
 | 
			
		||||
                {"x":16, "y":2.375},
 | 
			
		||||
                {"x":17, "y":2.375},
 | 
			
		||||
 | 
			
		||||
                {"x":0, "y":3.375},
 | 
			
		||||
                {"x":1, "y":3.375},
 | 
			
		||||
                {"x":2, "y":3.125},
 | 
			
		||||
                {"x":3, "y":3},
 | 
			
		||||
 | 
			
		||||
                {"x":5.5, "y":4.25},
 | 
			
		||||
                {"x":6.5, "y":4.25},
 | 
			
		||||
                {"x":7.5, "y":3.25, "h":2},
 | 
			
		||||
 | 
			
		||||
                {"x":9.5, "y":3.25, "h":2},
 | 
			
		||||
                {"x":10.5, "y":4.25},
 | 
			
		||||
                {"x":11.5, "y":4.25},
 | 
			
		||||
 | 
			
		||||
                {"x":14, "y":3},
 | 
			
		||||
                {"x":15, "y":3.125},
 | 
			
		||||
                {"x":16, "y":3.375},
 | 
			
		||||
                {"x":17, "y":3.375}
 | 
			
		||||
                {"matrix": [7, 6], "x": 9.5, "y": 3.25, "h": 2},
 | 
			
		||||
                {"matrix": [7, 5], "x": 10.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 11.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15, "y": 3.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16, "y": 3.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17, "y": 3.375}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#include "mini.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
    float tone_startup[][2] = SONG(STARTUP_SOUND);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,41 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#    define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, R30 } \
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#    define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { R00, R01, R02, R03, R04, R05, R06 }, \
 | 
			
		||||
    { R10, R11, R12, R13, R14, R15, R16 }, \
 | 
			
		||||
    { R20, R21, R22, R23, R24, R25, R26 }, \
 | 
			
		||||
    { R30, R31, R32, R33, R34, R35, R36 } \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -23,424 +23,415 @@
 | 
			
		|||
    "ws2812": {
 | 
			
		||||
        "pin": "D3"
 | 
			
		||||
    },
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT": "LAYOUT_4key"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_4key": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0.375},
 | 
			
		||||
                {"x": 1, "y": 0.375},
 | 
			
		||||
                {"x": 2, "y": 0.125},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0.125},
 | 
			
		||||
                {"x": 5, "y": 0.25},
 | 
			
		||||
                {"x": 6, "y": 0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 0.75},
 | 
			
		||||
                {"x": 12.5, "y": 0.25},
 | 
			
		||||
                {"x": 13.5, "y": 0.125},
 | 
			
		||||
                {"x": 14.5, "y": 0},
 | 
			
		||||
                {"x": 15.5, "y": 0.125},
 | 
			
		||||
                {"x": 16.5, "y": 0.375},
 | 
			
		||||
                {"x": 17.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11.5, "y": 0.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17.5, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1.375},
 | 
			
		||||
                {"x": 1, "y": 1.375},
 | 
			
		||||
                {"x": 2, "y": 1.125},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1.125},
 | 
			
		||||
                {"x": 5, "y": 1.25},
 | 
			
		||||
                {"x": 6, "y": 1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 1.75},
 | 
			
		||||
                {"x": 12.5, "y": 1.25},
 | 
			
		||||
                {"x": 13.5, "y": 1.125},
 | 
			
		||||
                {"x": 14.5, "y": 1},
 | 
			
		||||
                {"x": 15.5, "y": 1.125},
 | 
			
		||||
                {"x": 16.5, "y": 1.375},
 | 
			
		||||
                {"x": 17.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 1.75},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17.5, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2.375},
 | 
			
		||||
                {"x": 1, "y": 2.375},
 | 
			
		||||
                {"x": 2, "y": 2.125},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2.125},
 | 
			
		||||
                {"x": 5, "y": 2.25},
 | 
			
		||||
                {"x": 6, "y": 2.75},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 2.75},
 | 
			
		||||
                {"x": 12.5, "y": 2.25},
 | 
			
		||||
                {"x": 13.5, "y": 2.125},
 | 
			
		||||
                {"x": 14.5, "y": 2},
 | 
			
		||||
                {"x": 15.5, "y": 2.125},
 | 
			
		||||
                {"x": 16.5, "y": 2.375},
 | 
			
		||||
                {"x": 17.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 6], "x": 11.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [7, 5], "x": 12.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17.5, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3.375},
 | 
			
		||||
                {"x": 1, "y": 3.375},
 | 
			
		||||
                {"x": 2, "y": 3.125},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3.125},
 | 
			
		||||
                {"x": 5, "y": 3.25},
 | 
			
		||||
                {"x": 6, "y": 4},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 4},
 | 
			
		||||
                {"x": 12.5, "y": 3.25},
 | 
			
		||||
                {"x": 13.5, "y": 3.125},
 | 
			
		||||
                {"x": 14.5, "y": 3},
 | 
			
		||||
                {"x": 15.5, "y": 3.125},
 | 
			
		||||
                {"x": 16.5, "y": 3.375},
 | 
			
		||||
                {"x": 17.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 6], "x": 11.5, "y": 4},
 | 
			
		||||
                {"matrix": [8, 5], "x": 12.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 14.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 15.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 16.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4.375},
 | 
			
		||||
                {"x": 1, "y": 4.375},
 | 
			
		||||
                {"x": 2, "y": 4.125},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 5},
 | 
			
		||||
                {"matrix": [4, 6], "x": 7, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 5},
 | 
			
		||||
                {"x": 7, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 10.5, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 11.5, "y": 5},
 | 
			
		||||
                {"x": 12.5, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 14.5, "y": 4},
 | 
			
		||||
                {"x": 15.5, "y": 4.125},
 | 
			
		||||
                {"x": 16.5, "y": 4.375},
 | 
			
		||||
                {"x": 17.5, "y": 4.375}
 | 
			
		||||
                {"matrix": [9, 6], "x": 10.5, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [9, 5], "x": 11.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 4], "x": 12.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 14.5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 15.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [9, 1], "x": 16.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 0], "x": 17.5, "y": 4.375}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_4key_2u_inner": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0.375},
 | 
			
		||||
                {"x": 1, "y": 0.375},
 | 
			
		||||
                {"x": 2, "y": 0.125},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0.125},
 | 
			
		||||
                {"x": 5, "y": 0.25},
 | 
			
		||||
                {"x": 6, "y": 0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 0.75},
 | 
			
		||||
                {"x": 12.5, "y": 0.25},
 | 
			
		||||
                {"x": 13.5, "y": 0.125},
 | 
			
		||||
                {"x": 14.5, "y": 0},
 | 
			
		||||
                {"x": 15.5, "y": 0.125},
 | 
			
		||||
                {"x": 16.5, "y": 0.375},
 | 
			
		||||
                {"x": 17.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11.5, "y": 0.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17.5, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1.375},
 | 
			
		||||
                {"x": 1, "y": 1.375},
 | 
			
		||||
                {"x": 2, "y": 1.125},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1.125},
 | 
			
		||||
                {"x": 5, "y": 1.25},
 | 
			
		||||
                {"x": 6, "y": 1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 1.75},
 | 
			
		||||
                {"x": 12.5, "y": 1.25},
 | 
			
		||||
                {"x": 13.5, "y": 1.125},
 | 
			
		||||
                {"x": 14.5, "y": 1},
 | 
			
		||||
                {"x": 15.5, "y": 1.125},
 | 
			
		||||
                {"x": 16.5, "y": 1.375},
 | 
			
		||||
                {"x": 17.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 1.75},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17.5, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2.375},
 | 
			
		||||
                {"x": 1, "y": 2.375},
 | 
			
		||||
                {"x": 2, "y": 2.125},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2.125},
 | 
			
		||||
                {"x": 5, "y": 2.25},
 | 
			
		||||
                {"x": 6, "y": 2.75},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 2.75},
 | 
			
		||||
                {"x": 12.5, "y": 2.25},
 | 
			
		||||
                {"x": 13.5, "y": 2.125},
 | 
			
		||||
                {"x": 14.5, "y": 2},
 | 
			
		||||
                {"x": 15.5, "y": 2.125},
 | 
			
		||||
                {"x": 16.5, "y": 2.375},
 | 
			
		||||
                {"x": 17.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 6], "x": 11.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [7, 5], "x": 12.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17.5, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3.375},
 | 
			
		||||
                {"x": 1, "y": 3.375},
 | 
			
		||||
                {"x": 2, "y": 3.125},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3.125},
 | 
			
		||||
                {"x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 6], "x": 7, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 7, "y": 4},
 | 
			
		||||
                {"matrix": [8, 6], "x": 10.5, "y": 4},
 | 
			
		||||
                {"matrix": [8, 5], "x": 12.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 14.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 15.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 16.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 10.5, "y": 4},
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [4, 6], "x": 7, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 12.5, "y": 3.25},
 | 
			
		||||
                {"x": 13.5, "y": 3.125},
 | 
			
		||||
                {"x": 14.5, "y": 3},
 | 
			
		||||
                {"x": 15.5, "y": 3.125},
 | 
			
		||||
                {"x": 16.5, "y": 3.375},
 | 
			
		||||
                {"x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4.375},
 | 
			
		||||
                {"x": 1, "y": 4.375},
 | 
			
		||||
                {"x": 2, "y": 4.125},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 7, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 10.5, "y": 5},
 | 
			
		||||
                {"x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 12.5, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 14.5, "y": 4},
 | 
			
		||||
                {"x": 15.5, "y": 4.125},
 | 
			
		||||
                {"x": 16.5, "y": 4.375},
 | 
			
		||||
                {"x": 17.5, "y": 4.375}
 | 
			
		||||
                {"matrix": [9, 6], "x": 10.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 5], "x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [9, 4], "x": 12.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 14.5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 15.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [9, 1], "x": 16.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 0], "x": 17.5, "y": 4.375}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_3key_2us": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0.375},
 | 
			
		||||
                {"x": 1, "y": 0.375},
 | 
			
		||||
                {"x": 2, "y": 0.125},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0.125},
 | 
			
		||||
                {"x": 5, "y": 0.25},
 | 
			
		||||
                {"x": 6, "y": 0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 0.75},
 | 
			
		||||
                {"x": 12.5, "y": 0.25},
 | 
			
		||||
                {"x": 13.5, "y": 0.125},
 | 
			
		||||
                {"x": 14.5, "y": 0},
 | 
			
		||||
                {"x": 15.5, "y": 0.125},
 | 
			
		||||
                {"x": 16.5, "y": 0.375},
 | 
			
		||||
                {"x": 17.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11.5, "y": 0.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17.5, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1.375},
 | 
			
		||||
                {"x": 1, "y": 1.375},
 | 
			
		||||
                {"x": 2, "y": 1.125},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1.125},
 | 
			
		||||
                {"x": 5, "y": 1.25},
 | 
			
		||||
                {"x": 6, "y": 1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 1.75},
 | 
			
		||||
                {"x": 12.5, "y": 1.25},
 | 
			
		||||
                {"x": 13.5, "y": 1.125},
 | 
			
		||||
                {"x": 14.5, "y": 1},
 | 
			
		||||
                {"x": 15.5, "y": 1.125},
 | 
			
		||||
                {"x": 16.5, "y": 1.375},
 | 
			
		||||
                {"x": 17.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 1.75},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17.5, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2.375},
 | 
			
		||||
                {"x": 1, "y": 2.375},
 | 
			
		||||
                {"x": 2, "y": 2.125},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2.125},
 | 
			
		||||
                {"x": 5, "y": 2.25},
 | 
			
		||||
                {"x": 6, "y": 2.75},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 2.75},
 | 
			
		||||
                {"x": 12.5, "y": 2.25},
 | 
			
		||||
                {"x": 13.5, "y": 2.125},
 | 
			
		||||
                {"x": 14.5, "y": 2},
 | 
			
		||||
                {"x": 15.5, "y": 2.125},
 | 
			
		||||
                {"x": 16.5, "y": 2.375},
 | 
			
		||||
                {"x": 17.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 6], "x": 11.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [7, 5], "x": 12.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17.5, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3.375},
 | 
			
		||||
                {"x": 1, "y": 3.375},
 | 
			
		||||
                {"x": 2, "y": 3.125},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3.125},
 | 
			
		||||
                {"x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
 | 
			
		||||
                {"x": 12.5, "y": 3.25},
 | 
			
		||||
                {"x": 13.5, "y": 3.125},
 | 
			
		||||
                {"x": 14.5, "y": 3},
 | 
			
		||||
                {"x": 15.5, "y": 3.125},
 | 
			
		||||
                {"x": 16.5, "y": 3.375},
 | 
			
		||||
                {"x": 17.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 5], "x": 12.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 14.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 15.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 16.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4.375},
 | 
			
		||||
                {"x": 1, "y": 4.375},
 | 
			
		||||
                {"x": 2, "y": 4.125},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [4, 6], "x": 7, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 7, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 10.5, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 12.5, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 14.5, "y": 4},
 | 
			
		||||
                {"x": 15.5, "y": 4.125},
 | 
			
		||||
                {"x": 16.5, "y": 4.375},
 | 
			
		||||
                {"x": 17.5, "y": 4.375}
 | 
			
		||||
                {"matrix": [9, 6], "x": 10.5, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [9, 5], "x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [9, 4], "x": 12.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 14.5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 15.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [9, 1], "x": 16.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 0], "x": 17.5, "y": 4.375}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_3key_1us": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0.375},
 | 
			
		||||
                {"x": 1, "y": 0.375},
 | 
			
		||||
                {"x": 2, "y": 0.125},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0.125},
 | 
			
		||||
                {"x": 5, "y": 0.25},
 | 
			
		||||
                {"x": 6, "y": 0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 0.75},
 | 
			
		||||
                {"x": 12.5, "y": 0.25},
 | 
			
		||||
                {"x": 13.5, "y": 0.125},
 | 
			
		||||
                {"x": 14.5, "y": 0},
 | 
			
		||||
                {"x": 15.5, "y": 0.125},
 | 
			
		||||
                {"x": 16.5, "y": 0.375},
 | 
			
		||||
                {"x": 17.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11.5, "y": 0.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17.5, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1.375},
 | 
			
		||||
                {"x": 1, "y": 1.375},
 | 
			
		||||
                {"x": 2, "y": 1.125},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1.125},
 | 
			
		||||
                {"x": 5, "y": 1.25},
 | 
			
		||||
                {"x": 6, "y": 1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 1.75},
 | 
			
		||||
                {"x": 12.5, "y": 1.25},
 | 
			
		||||
                {"x": 13.5, "y": 1.125},
 | 
			
		||||
                {"x": 14.5, "y": 1},
 | 
			
		||||
                {"x": 15.5, "y": 1.125},
 | 
			
		||||
                {"x": 16.5, "y": 1.375},
 | 
			
		||||
                {"x": 17.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 1.75},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17.5, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2.375},
 | 
			
		||||
                {"x": 1, "y": 2.375},
 | 
			
		||||
                {"x": 2, "y": 2.125},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2.125},
 | 
			
		||||
                {"x": 5, "y": 2.25},
 | 
			
		||||
                {"x": 6, "y": 2.75},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 2.75},
 | 
			
		||||
                {"x": 12.5, "y": 2.25},
 | 
			
		||||
                {"x": 13.5, "y": 2.125},
 | 
			
		||||
                {"x": 14.5, "y": 2},
 | 
			
		||||
                {"x": 15.5, "y": 2.125},
 | 
			
		||||
                {"x": 16.5, "y": 2.375},
 | 
			
		||||
                {"x": 17.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 6], "x": 11.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [7, 5], "x": 12.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17.5, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3.375},
 | 
			
		||||
                {"x": 1, "y": 3.375},
 | 
			
		||||
                {"x": 2, "y": 3.125},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3.125},
 | 
			
		||||
                {"x": 5, "y": 3.25},
 | 
			
		||||
                {"x": 6, "y": 4},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 6], "x": 6, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 4},
 | 
			
		||||
                {"x": 12.5, "y": 3.25},
 | 
			
		||||
                {"x": 13.5, "y": 3.125},
 | 
			
		||||
                {"x": 14.5, "y": 3},
 | 
			
		||||
                {"x": 15.5, "y": 3.125},
 | 
			
		||||
                {"x": 16.5, "y": 3.375},
 | 
			
		||||
                {"x": 17.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 6], "x": 11.5, "y": 4},
 | 
			
		||||
                {"matrix": [8, 5], "x": 12.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 14.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 15.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 16.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4.375},
 | 
			
		||||
                {"x": 1, "y": 4.375},
 | 
			
		||||
                {"x": 2, "y": 4.125},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 5},
 | 
			
		||||
                {"x": 12.5, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 14.5, "y": 4},
 | 
			
		||||
                {"x": 15.5, "y": 4.125},
 | 
			
		||||
                {"x": 16.5, "y": 4.375},
 | 
			
		||||
                {"x": 17.5, "y": 4.375}
 | 
			
		||||
                {"matrix": [9, 5], "x": 11.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 4], "x": 12.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 14.5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 15.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [9, 1], "x": 16.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 0], "x": 17.5, "y": 4.375}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_2key": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x": 0, "y": 0.375},
 | 
			
		||||
                {"x": 1, "y": 0.375},
 | 
			
		||||
                {"x": 2, "y": 0.125},
 | 
			
		||||
                {"x": 3, "y": 0},
 | 
			
		||||
                {"x": 4, "y": 0.125},
 | 
			
		||||
                {"x": 5, "y": 0.25},
 | 
			
		||||
                {"x": 6, "y": 0.75},
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
                {"matrix": [0, 6], "x": 6, "y": 0.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 0.75},
 | 
			
		||||
                {"x": 12.5, "y": 0.25},
 | 
			
		||||
                {"x": 13.5, "y": 0.125},
 | 
			
		||||
                {"x": 14.5, "y": 0},
 | 
			
		||||
                {"x": 15.5, "y": 0.125},
 | 
			
		||||
                {"x": 16.5, "y": 0.375},
 | 
			
		||||
                {"x": 17.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 6], "x": 11.5, "y": 0.75},
 | 
			
		||||
                {"matrix": [5, 5], "x": 12.5, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 13.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 14.5, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 15.5, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 16.5, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 17.5, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 1.375},
 | 
			
		||||
                {"x": 1, "y": 1.375},
 | 
			
		||||
                {"x": 2, "y": 1.125},
 | 
			
		||||
                {"x": 3, "y": 1},
 | 
			
		||||
                {"x": 4, "y": 1.125},
 | 
			
		||||
                {"x": 5, "y": 1.25},
 | 
			
		||||
                {"x": 6, "y": 1.75},
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
                {"matrix": [1, 6], "x": 6, "y": 1.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 1.75},
 | 
			
		||||
                {"x": 12.5, "y": 1.25},
 | 
			
		||||
                {"x": 13.5, "y": 1.125},
 | 
			
		||||
                {"x": 14.5, "y": 1},
 | 
			
		||||
                {"x": 15.5, "y": 1.125},
 | 
			
		||||
                {"x": 16.5, "y": 1.375},
 | 
			
		||||
                {"x": 17.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 6], "x": 11.5, "y": 1.75},
 | 
			
		||||
                {"matrix": [6, 5], "x": 12.5, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 13.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 14.5, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 15.5, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 16.5, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 17.5, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 2.375},
 | 
			
		||||
                {"x": 1, "y": 2.375},
 | 
			
		||||
                {"x": 2, "y": 2.125},
 | 
			
		||||
                {"x": 3, "y": 2},
 | 
			
		||||
                {"x": 4, "y": 2.125},
 | 
			
		||||
                {"x": 5, "y": 2.25},
 | 
			
		||||
                {"x": 6, "y": 2.75},
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
                {"matrix": [2, 6], "x": 6, "y": 2.75},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 2.75},
 | 
			
		||||
                {"x": 12.5, "y": 2.25},
 | 
			
		||||
                {"x": 13.5, "y": 2.125},
 | 
			
		||||
                {"x": 14.5, "y": 2},
 | 
			
		||||
                {"x": 15.5, "y": 2.125},
 | 
			
		||||
                {"x": 16.5, "y": 2.375},
 | 
			
		||||
                {"x": 17.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 6], "x": 11.5, "y": 2.75},
 | 
			
		||||
                {"matrix": [7, 5], "x": 12.5, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 13.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 14.5, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 15.5, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 16.5, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 17.5, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 3.375},
 | 
			
		||||
                {"x": 1, "y": 3.375},
 | 
			
		||||
                {"x": 2, "y": 3.125},
 | 
			
		||||
                {"x": 3, "y": 3},
 | 
			
		||||
                {"x": 4, "y": 3.125},
 | 
			
		||||
                {"x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
 | 
			
		||||
                {"x": 12.5, "y": 3.25},
 | 
			
		||||
                {"x": 13.5, "y": 3.125},
 | 
			
		||||
                {"x": 14.5, "y": 3},
 | 
			
		||||
                {"x": 15.5, "y": 3.125},
 | 
			
		||||
                {"x": 16.5, "y": 3.375},
 | 
			
		||||
                {"x": 17.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 5], "x": 12.5, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 13.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 14.5, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 15.5, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 16.5, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 17.5, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"x": 0, "y": 4.375},
 | 
			
		||||
                {"x": 1, "y": 4.375},
 | 
			
		||||
                {"x": 2, "y": 4.125},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 0], "x": 0, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 1], "x": 1, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 2], "x": 2, "y": 4.125},
 | 
			
		||||
                {"matrix": [4, 3], "x": 3, "y": 4},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5, "y": 5},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 4, "h": 2},
 | 
			
		||||
 | 
			
		||||
                {"x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"x": 12.5, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 14.5, "y": 4},
 | 
			
		||||
                {"x": 15.5, "y": 4.125},
 | 
			
		||||
                {"x": 16.5, "y": 4.375},
 | 
			
		||||
                {"x": 17.5, "y": 4.375}
 | 
			
		||||
                {"matrix": [9, 5], "x": 11.5, "y": 4, "h": 2},
 | 
			
		||||
                {"matrix": [9, 4], "x": 12.5, "y": 5},
 | 
			
		||||
                {"matrix": [9, 3], "x": 14.5, "y": 4},
 | 
			
		||||
                {"matrix": [9, 2], "x": 15.5, "y": 4.125},
 | 
			
		||||
                {"matrix": [9, 1], "x": 16.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 0], "x": 17.5, "y": 4.375}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#include "rev1.h"
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
    float tone_startup[][2] = SONG(STARTUP_SOUND);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,129 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#    define LAYOUT_4key( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06,           R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26,           R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36,           R30, R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43,      L44, L45, L46, R40, R41, R42,      R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
    { R46, R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Just defined for configurator support, the matrix is identical to LAYOUT_4key
 | 
			
		||||
#    define LAYOUT_4key_2u_inner( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06,           R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26,           R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35,      L36, R30,      R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43,      L44, L45, L46, R40, R41, R42,      R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
    { R46, R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#    define LAYOUT_3key_2us( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06,           R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16,           R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26,           R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35,                     R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43,      L44, L45, L46, R40, R41, R42,      R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, XXX }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, XXX }, \
 | 
			
		||||
    { R46, R45, R44, R43, R42, R41, R40 } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#    define LAYOUT_3key_1us( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43,      L44, L45, R41, R42,      R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, XXX }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, R30 }, \
 | 
			
		||||
    { R46, R45, R44, R43, R42, R41, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#    define LAYOUT_2key( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35,           R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43,      L44, L45, R41, R42,      R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, XXX }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, XXX }, \
 | 
			
		||||
    { R06, R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
    { R16, R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
    { R26, R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
    { R36, R35, R34, R33, R32, R31, XXX }, \
 | 
			
		||||
    { R46, R45, R44, R43, R42, R41, XXX } \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define LAYOUT LAYOUT_4key
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#    define LAYOUT( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
 | 
			
		||||
    L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05, L06 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15, L16 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25, L26 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35, L36 }, \
 | 
			
		||||
    { L40, L41, L42, L43, L44, L45, L46 }, \
 | 
			
		||||
    { R00, R01, R02, R03, R04, R05, R06 }, \
 | 
			
		||||
    { R10, R11, R12, R13, R14, R15, R16 }, \
 | 
			
		||||
    { R20, R21, R22, R23, R24, R25, R26 }, \
 | 
			
		||||
    { R30, R31, R32, R33, R34, R35, R36 }, \
 | 
			
		||||
    { R40, R41, R42, R43, R44, R45, R46 } \
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,62 +0,0 @@
 | 
			
		|||
/* Copyright 2018 Christon DeWan (xton)
 | 
			
		||||
 * Copyright 2017 IslandMan93
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifndef FLIP_HALF
 | 
			
		||||
// Standard Keymap
 | 
			
		||||
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33,    L34,     R31,     R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, KC_NO }, \
 | 
			
		||||
		{ R05, R04, R03, R02, R01, R00 }, \
 | 
			
		||||
		{ R15, R14, R13, R12, R11, R10 }, \
 | 
			
		||||
		{ R25, R24, R23, R22, R21, R20 }, \
 | 
			
		||||
		{ R35, R34, R33, R32, R31, KC_NO } \
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
// Keymap with right side flipped
 | 
			
		||||
// (TRRS jack on both halves are to the right)
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
	L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
	L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
	L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
	L30, L31, L32, L33,    L34,     R31,    R32, R33, R34, R35 \
 | 
			
		||||
	) \
 | 
			
		||||
	{ \
 | 
			
		||||
		{ L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
		{ L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
		{ L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
		{ L30, L31, L32, L33, L34, KC_NO }, \
 | 
			
		||||
		{ R00, R01, R02, R03, R04, R05 }, \
 | 
			
		||||
		{ R10, R11, R12, R13, R14, R15 }, \
 | 
			
		||||
		{ R20, R21, R22, R23, R24, R25 }, \
 | 
			
		||||
		{ KC_NO, R31, R32, R33, R34, R35 } \
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ortho_4x12_2x2u LAYOUT
 | 
			
		||||
| 
						 | 
				
			
			@ -18,55 +18,65 @@
 | 
			
		|||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "caterina",
 | 
			
		||||
    "layout_aliases": {
 | 
			
		||||
        "LAYOUT_ortho_4x12_2x2u": "LAYOUT"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"label":"L00", "x":0, "y":0},
 | 
			
		||||
                {"label":"L01", "x":1, "y":0},
 | 
			
		||||
                {"label":"L02", "x":2, "y":0},
 | 
			
		||||
                {"label":"L03", "x":3, "y":0},
 | 
			
		||||
                {"label":"L04", "x":4, "y":0},
 | 
			
		||||
                {"label":"L05", "x":5, "y":0},
 | 
			
		||||
                {"label":"R00", "x":7, "y":0},
 | 
			
		||||
                {"label":"R01", "x":8, "y":0},
 | 
			
		||||
                {"label":"R02", "x":9, "y":0},
 | 
			
		||||
                {"label":"R03", "x":10, "y":0},
 | 
			
		||||
                {"label":"R04", "x":11, "y":0},
 | 
			
		||||
                {"label":"R05", "x":12, "y":0},
 | 
			
		||||
                {"label":"L10", "x":0, "y":1},
 | 
			
		||||
                {"label":"L11", "x":1, "y":1},
 | 
			
		||||
                {"label":"L12", "x":2, "y":1},
 | 
			
		||||
                {"label":"L13", "x":3, "y":1},
 | 
			
		||||
                {"label":"L14", "x":4, "y":1},
 | 
			
		||||
                {"label":"L15", "x":5, "y":1},
 | 
			
		||||
                {"label":"R10", "x":7, "y":1},
 | 
			
		||||
                {"label":"R11", "x":8, "y":1},
 | 
			
		||||
                {"label":"R12", "x":9, "y":1},
 | 
			
		||||
                {"label":"R13", "x":10, "y":1},
 | 
			
		||||
                {"label":"R14", "x":11, "y":1},
 | 
			
		||||
                {"label":"R15", "x":12, "y":1},
 | 
			
		||||
                {"label":"L20", "x":0, "y":2},
 | 
			
		||||
                {"label":"L21", "x":1, "y":2},
 | 
			
		||||
                {"label":"L22", "x":2, "y":2},
 | 
			
		||||
                {"label":"L23", "x":3, "y":2},
 | 
			
		||||
                {"label":"L24", "x":4, "y":2},
 | 
			
		||||
                {"label":"L25", "x":5, "y":2},
 | 
			
		||||
                {"label":"R20", "x":7, "y":2},
 | 
			
		||||
                {"label":"R21", "x":8, "y":2},
 | 
			
		||||
                {"label":"R22", "x":9, "y":2},
 | 
			
		||||
                {"label":"R23", "x":10, "y":2},
 | 
			
		||||
                {"label":"R24", "x":11, "y":2},
 | 
			
		||||
                {"label":"R25", "x":12, "y":2},
 | 
			
		||||
                {"label":"L30", "x":0, "y":3},
 | 
			
		||||
                {"label":"L31", "x":1, "y":3},
 | 
			
		||||
                {"label":"L32", "x":2, "y":3},
 | 
			
		||||
                {"label":"L33", "x":3, "y":3},
 | 
			
		||||
                {"label":"L34", "x":4, "y":3, "w":2},
 | 
			
		||||
                {"label":"R31", "x":7, "y":3, "w":2},
 | 
			
		||||
                {"label":"R32", "x":9, "y":3},
 | 
			
		||||
                {"label":"R33", "x":10, "y":3},
 | 
			
		||||
                {"label":"R34", "x":11, "y":3},
 | 
			
		||||
                {"label":"R35", "x":12, "y":3}
 | 
			
		||||
                {"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": 7, "y": 0},
 | 
			
		||||
                {"matrix": [4, 4], "x": 8, "y": 0},
 | 
			
		||||
                {"matrix": [4, 3], "x": 9, "y": 0},
 | 
			
		||||
                {"matrix": [4, 2], "x": 10, "y": 0},
 | 
			
		||||
                {"matrix": [4, 1], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [4, 0], "x": 12, "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": [5, 5], "x": 7, "y": 1},
 | 
			
		||||
                {"matrix": [5, 4], "x": 8, "y": 1},
 | 
			
		||||
                {"matrix": [5, 3], "x": 9, "y": 1},
 | 
			
		||||
                {"matrix": [5, 2], "x": 10, "y": 1},
 | 
			
		||||
                {"matrix": [5, 1], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [5, 0], "x": 12, "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": [6, 5], "x": 7, "y": 2},
 | 
			
		||||
                {"matrix": [6, 4], "x": 8, "y": 2},
 | 
			
		||||
                {"matrix": [6, 3], "x": 9, "y": 2},
 | 
			
		||||
                {"matrix": [6, 2], "x": 10, "y": 2},
 | 
			
		||||
                {"matrix": [6, 1], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [6, 0], "x": 12, "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},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 4], "x": 7, "y": 3, "w": 2},
 | 
			
		||||
                {"matrix": [7, 3], "x": 9, "y": 3},
 | 
			
		||||
                {"matrix": [7, 2], "x": 10, "y": 3},
 | 
			
		||||
                {"matrix": [7, 1], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [7, 0], "x": 12, "y": 3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -168,7 +168,7 @@ def test_json2c_wrong_json():
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
def test_json2c_no_json():
 | 
			
		||||
    result = check_subcommand('json2c', 'keyboards/handwired/pytest/pytest.h')
 | 
			
		||||
    result = check_subcommand('json2c', 'keyboards/handwired/pytest/config.h')
 | 
			
		||||
    check_returncode(result, [1])
 | 
			
		||||
    assert 'Invalid JSON encountered' in result.stdout
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +188,11 @@ def test_info_keyboard_render():
 | 
			
		|||
    assert 'Keyboard Name: pytest' in result.stdout
 | 
			
		||||
    assert 'Processor: atmega32u4' in result.stdout
 | 
			
		||||
    assert 'Layouts:' in result.stdout
 | 
			
		||||
    assert 'k0' in result.stdout
 | 
			
		||||
 | 
			
		||||
    if is_windows:
 | 
			
		||||
        assert '|  |' in result.stdout
 | 
			
		||||
    else:
 | 
			
		||||
        assert '│  │' in result.stdout
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_info_keymap_render():
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue