Vertex ARC60 Layout Refactor (#18670)
This commit is contained in:
		| @@ -19,24 +19,146 @@ | ||||
| #include "quantum.h" | ||||
|  | ||||
| #define ___ KC_NO | ||||
| /* 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. | ||||
|  | ||||
| /* | ||||
|  *              ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐      ┌───────┐ | ||||
|  *              │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │      │0E     │ 2u Backspace | ||||
|  *              ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤      └─┬─────┤ | ||||
|  *              │10   │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1E   │        │     │ | ||||
|  *  2.25u       ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤     ┌──┴┐2D  │ ISO Enter | ||||
|  *  LShift      │20    │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D      │     │2C │    │ | ||||
|  * ┌────────┐   ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤   ┌─┴───┴────┤ | ||||
|  * │30      │   │30  │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D    │3E │   │3D        │ 2.75u RShift | ||||
|  * └────────┘   ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤   └──────────┘ | ||||
|  *              │40  │41  │42  │46                      │4A  │4B  │4C  │4E  │ | ||||
|  *              └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||||
|  *              ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ | ||||
|  *              │40   │41 │42   │46                         │4B   │4C │4E   │ Tsangan/WKL/HHKB | ||||
|  *              └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ | ||||
|  */ | ||||
|  | ||||
| #define LAYOUT_all( \ | ||||
|         K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,K0E, \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ | ||||
|         K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D,K3E, \ | ||||
|     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ | ||||
|     K40, K41, K42,                K46,                K4A, K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|         { K00,  K01,  K02,  K03,   K04,   K05, K06,   K07,   K08,   K09, K0A, K0B,   K0C,   K0D,K0E }, \ | ||||
|         { K10,  K11,  K12,  K13,   K14,   K15, K16,   K17,   K18,   K19, K1A, K1B,   K1C,   ___,K1E }, \ | ||||
|         { K20,  K21,  K22,  K23,   K24,   K25, K26,   K27,   K28,   K29, K2A, K2B,   K2C,   K2D,___ }, \ | ||||
|         { K30,  K31,  K32,  K33,   K34,   K35, K36,   K37,   K38,   K39, K3A, K3B,   ___,   K3D,K3E }, \ | ||||
|         { K40,  K41,  K42,  ___,   ___,   ___, K46,   ___,   ___,   ___, K4A, K4B,   K4C,   ___,K4E }  \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ | ||||
|     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_ansi( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \ | ||||
|     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \ | ||||
|     K40, K41, K42,                K46,                K4A, K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___ }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, ___ }, \ | ||||
|     { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___ }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_ansi_split_bs_rshift( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \ | ||||
|     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ | ||||
|     K40, K41, K42,                K46,                K4A, K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, ___ }, \ | ||||
|     { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_ansi_tsangan( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \ | ||||
|     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \ | ||||
|     K40, K41, K42,                K46,                     K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___ }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, ___ }, \ | ||||
|     { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___ }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_tsangan_hhkb( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \ | ||||
|     K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ | ||||
|     K40, K41, K42,                K46,                     K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D, ___ }, \ | ||||
|     { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_iso( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ | ||||
|     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \ | ||||
|     K40, K41, K42,                K46,                K4A, K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___ }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, ___ }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ | ||||
|     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___ }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_iso_split_bs_rshift( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ | ||||
|     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ | ||||
|     K40, K41, K42,                K46,                K4A, K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, ___ }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ | ||||
|     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_iso_tsangan( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ | ||||
|     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \ | ||||
|     K40, K41, K42,                K46,                     K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___ }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, ___ }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ | ||||
|     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, ___ }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|  | ||||
| #define LAYOUT_60_iso_tsangan_split_bs_rshift( \ | ||||
|     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ | ||||
|     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,      \ | ||||
|     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ | ||||
|     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ | ||||
|     K40, K41, K42,                K46,                     K4B, K4C, K4E  \ | ||||
| ) { \ | ||||
|     { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||||
|     { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, ___ }, \ | ||||
|     { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ | ||||
|     { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ | ||||
|     { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, ___, K4B, K4C, ___, K4E }  \ | ||||
| } | ||||
|   | ||||
| @@ -1,81 +1,654 @@ | ||||
| { | ||||
|     "keyboard_name": "ARC60", | ||||
|     "manufacturer": "vertex", | ||||
|     "url": "", | ||||
|     "maintainer": "Eason", | ||||
|     "manufacturer":"vertex", | ||||
|     "maintainer": "EasonQian1, Vertex-kb", | ||||
|     "usb": { | ||||
|         "vid": "0x8354", | ||||
|         "pid": "0x8370", | ||||
|         "device_version": "0.0.1" | ||||
|     }, | ||||
|     "community_layouts": [ | ||||
|         "60_ansi", | ||||
|         "60_ansi_split_bs_rshift", | ||||
|         "60_ansi_tsangan", | ||||
|         "60_tsangan_hhkb", | ||||
|         "60_iso", | ||||
|         "60_iso_split_bs_rshift", | ||||
|         "60_iso_tsangan" | ||||
|     ], | ||||
|     "layouts": { | ||||
|         "LAYOUT_all": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 {"x": 11, "y": 0 }, | ||||
|                 {"x": 12, "y": 0 }, | ||||
|                 {"x": 13, "y": 0 }, | ||||
|                 {"x": 14, "y": 0 }, | ||||
|                 {"x": 0, "y": 1, "w": 1.5 }, | ||||
|                 {"x": 1.5, "y": 1 }, | ||||
|                 {"x": 2.5, "y": 1 }, | ||||
|                 {"x": 3.5, "y": 1 }, | ||||
|                 {"x": 4.5, "y": 1 }, | ||||
|                 {"x": 5.5, "y": 1 }, | ||||
|                 {"x": 6.5, "y": 1 }, | ||||
|                 {"x": 7.5, "y": 1 }, | ||||
|                 {"x": 8.5, "y": 1 }, | ||||
|                 {"x": 9.5, "y": 1 }, | ||||
|                 {"x": 10.5, "y": 1 }, | ||||
|                 {"x": 11.5, "y": 1 }, | ||||
|                 {"x": 12.5, "y": 1 }, | ||||
|                 {"x": 13.5, "y": 1, "w": 1.5 }, | ||||
|                 {"x": 0, "y": 2, "w": 1.75 }, | ||||
|                 {"x": 1.75, "y": 2 }, | ||||
|                 {"x": 2.75, "y": 2 }, | ||||
|                 {"x": 3.75, "y": 2 }, | ||||
|                 {"x": 4.75, "y": 2 }, | ||||
|                 {"x": 5.75, "y": 2 }, | ||||
|                 {"x": 6.75, "y": 2 }, | ||||
|                 {"x": 7.75, "y": 2 }, | ||||
|                 {"x": 8.75, "y": 2 }, | ||||
|                 {"x": 9.75, "y": 2 }, | ||||
|                 {"x": 10.75, "y": 2 }, | ||||
|                 {"x": 11.75, "y": 2 }, | ||||
|                 {"x": 12.75, "y": 2 }, | ||||
|                 {"x": 13.75, "y": 2, "w": 1.25 }, | ||||
|                 {"x": 0, "y": 3, "w": 1.25 }, | ||||
|                 {"x": 1.25, "y": 3 }, | ||||
|                 {"x": 2.25, "y": 3 }, | ||||
|                 {"x": 3.25, "y": 3 }, | ||||
|                 {"x": 4.25, "y": 3 }, | ||||
|                 {"x": 5.25, "y": 3 }, | ||||
|                 {"x": 6.25, "y": 3 }, | ||||
|                 {"x": 7.25, "y": 3 }, | ||||
|                 {"x": 8.25, "y": 3 }, | ||||
|                 {"x": 9.25, "y": 3 }, | ||||
|                 {"x": 10.25, "y": 3 }, | ||||
|                 {"x": 11.25, "y": 3 }, | ||||
|                 {"x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 {"x": 14, "y": 3 }, | ||||
|                 {"x": 0, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 {"x": 10, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 {"x": 13.75, "y": 4, "w": 1.25 } | ||||
|                 { "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0 }, | ||||
|                 { "x": 14, "y": 0 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|                 { "x": 13.5, "y": 1, "w": 1.5 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2 }, | ||||
|                 { "x": 13.75, "y": 2, "w": 1.25 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 3 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 { "x": 14, "y": 3 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 { "x": 10, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 13.75, "y": 4, "w": 1.25 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_ansi": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0, "w": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|                 { "x": 13.5, "y": 1, "w": 1.5 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2, "w": 2.25 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 2.25 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 2.75 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 { "x": 10, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 13.75, "y": 4, "w": 1.25 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_ansi_split_bs_rshift": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0 }, | ||||
|                 { "x": 14, "y": 0 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|                 { "x": 13.5, "y": 1, "w": 1.5 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2, "w": 2.25 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 2.25 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 { "x": 14, "y": 3 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 { "x": 10, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 13.75, "y": 4, "w": 1.25 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_ansi_tsangan": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0, "w": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|                 { "x": 13.5, "y": 1, "w": 1.5 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2, "w": 2.25 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 2.25 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 2.75 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 4 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 4, "y": 4, "w": 7 }, | ||||
|                 { "x": 11, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 12.5, "y": 4 }, | ||||
|                 { "x": 13.5, "y": 4, "w": 1.5 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_tsangan_hhkb": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0 }, | ||||
|                 { "x": 14, "y": 0 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|                 { "x": 13.5, "y": 1, "w": 1.5 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2, "w": 2.25 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 2.25 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 { "x": 14, "y": 3 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 4 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 4, "y": 4, "w": 7 }, | ||||
|                 { "x": 11, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 12.5, "y": 4 }, | ||||
|                 { "x": 13.5, "y": 4, "w": 1.5 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_iso": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0, "w": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2 }, | ||||
|                 { "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 3 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 2.75 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 { "x": 10, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 13.75, "y": 4, "w": 1.25 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_iso_split_bs_rshift": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0 }, | ||||
|                 { "x": 14, "y": 0 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2 }, | ||||
|                 { "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 3 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 { "x": 14, "y": 3 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 3.75, "y": 4, "w": 6.25 }, | ||||
|                 { "x": 10, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 11.25, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 12.5, "y": 4, "w": 1.25 }, | ||||
|                 { "x": 13.75, "y": 4, "w": 1.25 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_iso_tsangan": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0, "w": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2 }, | ||||
|                 { "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 3 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 2.75 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 4 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 4, "y": 4, "w": 7 }, | ||||
|                 { "x": 11, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 12.5, "y": 4 }, | ||||
|                 { "x": 13.5, "y": 4, "w": 1.5 } | ||||
|             ] | ||||
|         }, | ||||
|         "LAYOUT_60_iso_tsangan_split_bs_rshift": { | ||||
|             "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": 10, "y": 0 }, | ||||
|                 { "x": 11, "y": 0 }, | ||||
|                 { "x": 12, "y": 0 }, | ||||
|                 { "x": 13, "y": 0 }, | ||||
|                 { "x": 14, "y": 0 }, | ||||
|  | ||||
|                 { "x": 0, "y": 1, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 1 }, | ||||
|                 { "x": 2.5, "y": 1 }, | ||||
|                 { "x": 3.5, "y": 1 }, | ||||
|                 { "x": 4.5, "y": 1 }, | ||||
|                 { "x": 5.5, "y": 1 }, | ||||
|                 { "x": 6.5, "y": 1 }, | ||||
|                 { "x": 7.5, "y": 1 }, | ||||
|                 { "x": 8.5, "y": 1 }, | ||||
|                 { "x": 9.5, "y": 1 }, | ||||
|                 { "x": 10.5, "y": 1 }, | ||||
|                 { "x": 11.5, "y": 1 }, | ||||
|                 { "x": 12.5, "y": 1 }, | ||||
|  | ||||
|                 { "x": 0, "y": 2, "w": 1.75 }, | ||||
|                 { "x": 1.75, "y": 2 }, | ||||
|                 { "x": 2.75, "y": 2 }, | ||||
|                 { "x": 3.75, "y": 2 }, | ||||
|                 { "x": 4.75, "y": 2 }, | ||||
|                 { "x": 5.75, "y": 2 }, | ||||
|                 { "x": 6.75, "y": 2 }, | ||||
|                 { "x": 7.75, "y": 2 }, | ||||
|                 { "x": 8.75, "y": 2 }, | ||||
|                 { "x": 9.75, "y": 2 }, | ||||
|                 { "x": 10.75, "y": 2 }, | ||||
|                 { "x": 11.75, "y": 2 }, | ||||
|                 { "x": 12.75, "y": 2 }, | ||||
|                 { "x": 13.75, "y": 1, "w": 1.25, "h": 2 }, | ||||
|  | ||||
|                 { "x": 0, "y": 3, "w": 1.25 }, | ||||
|                 { "x": 1.25, "y": 3 }, | ||||
|                 { "x": 2.25, "y": 3 }, | ||||
|                 { "x": 3.25, "y": 3 }, | ||||
|                 { "x": 4.25, "y": 3 }, | ||||
|                 { "x": 5.25, "y": 3 }, | ||||
|                 { "x": 6.25, "y": 3 }, | ||||
|                 { "x": 7.25, "y": 3 }, | ||||
|                 { "x": 8.25, "y": 3 }, | ||||
|                 { "x": 9.25, "y": 3 }, | ||||
|                 { "x": 10.25, "y": 3 }, | ||||
|                 { "x": 11.25, "y": 3 }, | ||||
|                 { "x": 12.25, "y": 3, "w": 1.75 }, | ||||
|                 { "x": 14, "y": 3 }, | ||||
|  | ||||
|                 { "x": 0, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 1.5, "y": 4 }, | ||||
|                 { "x": 2.5, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 4, "y": 4, "w": 7 }, | ||||
|                 { "x": 11, "y": 4, "w": 1.5 }, | ||||
|                 { "x": 12.5, "y": 4 }, | ||||
|                 { "x": 13.5, "y": 4, "w": 1.5 } | ||||
|             ] | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -13,19 +13,24 @@ | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  #include QMK_KEYBOARD_H | ||||
| #include QMK_KEYBOARD_H | ||||
|  | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|  | ||||
|  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     [0] = LAYOUT_all( | ||||
|         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_1,    KC_BSPC, | ||||
|         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, | ||||
|      KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,KC_BSLS,  KC_ENT, | ||||
|         KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, | ||||
|         KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1), | ||||
|      KC_LCTL, KC_LGUI, KC_LALT,                  KC_SPC,                                      KC_RALT, KC_RGUI,  MO(1),         KC_RCTL), | ||||
|         KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, MO(1),   KC_RCTL | ||||
|     ), | ||||
|  | ||||
|     [1] = LAYOUT_all( | ||||
|         KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,           _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  QK_BOOT, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,          _______,_______, | ||||
|      _______,_______,_______,                          _______,                           _______, _______,  _______,         _______), | ||||
|  }; | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______,                            _______,                            _______, _______, _______, _______ | ||||
|     ), | ||||
|  | ||||
| }; | ||||
|   | ||||
| @@ -13,34 +13,40 @@ | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  #include QMK_KEYBOARD_H | ||||
| #include QMK_KEYBOARD_H | ||||
|  | ||||
|  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|  | ||||
|     [0] = LAYOUT_all( | ||||
|         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_1,    KC_BSPC, | ||||
|         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, | ||||
|      KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,KC_BSLS,  KC_ENT, | ||||
|         KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, | ||||
|         KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1), | ||||
|      KC_LCTL, KC_LGUI, KC_LALT,                  KC_SPC,                                      KC_RALT, KC_RGUI,  MO(1),         KC_RCTL), | ||||
|         KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, MO(1),   KC_RCTL | ||||
|     ), | ||||
|  | ||||
|     [1] = LAYOUT_all( | ||||
|         KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,           _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  QK_BOOT, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,          _______,_______, | ||||
|      _______,_______,_______,                  _______,                                  _______, _______,  _______,         _______), | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______,                            _______,                            _______, _______, _______, _______ | ||||
|     ), | ||||
|  | ||||
|     [2] = LAYOUT_all( | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  _______, _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,           _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  QK_BOOT, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,          _______,_______, | ||||
|      _______,_______,_______,                  _______,                                  _______, _______,  _______,         _______), | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______,                            _______,                            _______, _______, _______, _______ | ||||
|     ), | ||||
|  | ||||
|     [3] = LAYOUT_all( | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  _______, _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,           _______, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,_______,  QK_BOOT, | ||||
|      _______,_______,_______,_______,  _______,_______,_______, _______,_______,_______, _______, _______,          _______,_______, | ||||
|      _______,_______,_______,                  _______,                                  _______, _______,  _______,         _______), | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, | ||||
|         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|         _______, _______, _______,                            _______,                            _______, _______, _______, _______ | ||||
|     ), | ||||
|  | ||||
|  | ||||
|  }; | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user