6 //void promicro_bootloader_jmp(bool program);
14 #include <avr/interrupt.h>
18 //void promicro_bootloader_jmp(bool program);
22 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
23 #define LAYOUT_4key( \
24 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
25 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
26 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
27 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
28 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
31 { L00, L01, L02, L03, L04, L05, L06 }, \
32 { L10, L11, L12, L13, L14, L15, L16 }, \
33 { L20, L21, L22, L23, L24, L25, L26 }, \
34 { L30, L31, L32, L33, L34, L35, L36 }, \
35 { L40, L41, L42, L43, L44, L45, L46 }, \
36 { R06, R05, R04, R03, R02, R01, R00 }, \
37 { R16, R15, R14, R13, R12, R11, R10 }, \
38 { R26, R25, R24, R23, R22, R21, R20 }, \
39 { R36, R35, R34, R33, R32, R31, R30 }, \
40 { R46, R45, R44, R43, R42, R41, R40 } \
43 // Just defined for configurator support, the matrix is identical to LAYOUT_4key
44 #define LAYOUT_4key_2u_inner( \
45 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
46 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
47 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
48 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
49 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
52 { L00, L01, L02, L03, L04, L05, L06 }, \
53 { L10, L11, L12, L13, L14, L15, L16 }, \
54 { L20, L21, L22, L23, L24, L25, L26 }, \
55 { L30, L31, L32, L33, L34, L35, L36 }, \
56 { L40, L41, L42, L43, L44, L45, L46 }, \
57 { R06, R05, R04, R03, R02, R01, R00 }, \
58 { R16, R15, R14, R13, R12, R11, R10 }, \
59 { R26, R25, R24, R23, R22, R21, R20 }, \
60 { R36, R35, R34, R33, R32, R31, R30 }, \
61 { R46, R45, R44, R43, R42, R41, R40 } \
64 #define LAYOUT_3key_2us( \
65 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
66 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
67 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
68 L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
69 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
72 { L00, L01, L02, L03, L04, L05, L06 }, \
73 { L10, L11, L12, L13, L14, L15, L16 }, \
74 { L20, L21, L22, L23, L24, L25, L26 }, \
75 { L30, L31, L32, L33, L34, L35, KC_NO }, \
76 { L40, L41, L42, L43, L44, L45, L46 }, \
77 { R06, R05, R04, R03, R02, R01, R00 }, \
78 { R16, R15, R14, R13, R12, R11, R10 }, \
79 { R26, R25, R24, R23, R22, R21, R20 }, \
80 { R36, R35, R34, R33, R32, R31, KC_NO }, \
81 { R46, R45, R44, R43, R42, R41, R40 } \
85 #define LAYOUT_3key_1us( \
86 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
87 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
88 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
89 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
90 L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
93 { L00, L01, L02, L03, L04, L05, L06 }, \
94 { L10, L11, L12, L13, L14, L15, L16 }, \
95 { L20, L21, L22, L23, L24, L25, L26 }, \
96 { L30, L31, L32, L33, L34, L35, L36 }, \
97 { L40, L41, L42, L43, L44, L45, KC_NO }, \
98 { R06, R05, R04, R03, R02, R01, R00 }, \
99 { R16, R15, R14, R13, R12, R11, R10 }, \
100 { R26, R25, R24, R23, R22, R21, R20 }, \
101 { R36, R35, R34, R33, R32, R31, R30 }, \
102 { R46, R45, R44, R43, R42, R41, KC_NO } \
105 #define LAYOUT_2key( \
106 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
107 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
108 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
109 L30, L31, L32, L33, L34, L35, R31, R32, R33, R34, R35, R36, \
110 L40, L41, L42, L43, L44, L45, R41, R42, R43, R44, R45, R46 \
113 { L00, L01, L02, L03, L04, L05, L06 }, \
114 { L10, L11, L12, L13, L14, L15, L16 }, \
115 { L20, L21, L22, L23, L24, L25, L26 }, \
116 { L30, L31, L32, L33, L34, L35, KC_NO }, \
117 { L40, L41, L42, L43, L44, L45, KC_NO }, \
118 { R06, R05, R04, R03, R02, R01, R00 }, \
119 { R16, R15, R14, R13, R12, R11, R10 }, \
120 { R26, R25, R24, R23, R22, R21, R20 }, \
121 { R36, R35, R34, R33, R32, R31, KC_NO }, \
122 { R46, R45, R44, R43, R42, R41, KC_NO } \
125 #define LAYOUT LAYOUT_4key
128 // Keymap with right side flipped
129 // (TRRS jack on both halves are to the right)
131 L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
132 L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
133 L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
134 L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
135 L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \
138 { L00, L01, L02, L03, L04, L05, L06 }, \
139 { L10, L11, L12, L13, L14, L15, L16 }, \
140 { L20, L21, L22, L23, L24, L25, L26 }, \
141 { L30, L31, L32, L33, L34, L35, L36 }, \
142 { L40, L41, L42, L43, L44, L45, L46 }, \
143 { R00, R01, R02, R03, R04, R05, R06 }, \
144 { R10, R11, R12, R13, R14, R15, R16 }, \
145 { R20, R21, R22, R23, R24, R25, R26 }, \
146 { R30, R31, R32, R33, R34, R35, R36 }, \
147 { R40, R41, R42, R43, R44, R45, R46 } \