6 //void promicro_bootloader_jmp(bool program);
14 #include <avr/interrupt.h>
18 //void promicro_bootloader_jmp(bool program);
24 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
26 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
27 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
28 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25 \
31 { L00, L01, L02, L03, L04, L05 }, \
32 { L10, L11, L12, L13, L14, L15 }, \
33 { L20, L21, L22, L23, L24, L25 }, \
34 { R05, R04, R03, R02, R01, R00 }, \
35 { R15, R14, R13, R12, R11, R10 }, \
36 { R25, R24, R23, R22, R21, R20 }, \
39 // Keymap with right side flipped
40 // (TRRS jack on both halves are to the right)
42 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
43 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
44 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25 \
47 { L00, L01, L02, L03, L04, L05 }, \
48 { L10, L11, L12, L13, L14, L15 }, \
49 { L20, L21, L22, L23, L24, L25 }, \
50 { R00, R01, R02, R03, R04, R05 }, \
51 { R10, R11, R12, R13, R14, R15 }, \
52 { R20, R21, R22, R23, R24, R25 }, \
58 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
60 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
61 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
62 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
63 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
66 { L00, L01, L02, L03, L04, L05 }, \
67 { L10, L11, L12, L13, L14, L15 }, \
68 { L20, L21, L22, L23, L24, L25 }, \
69 { L30, L31, L32, L33, L34, L35 }, \
70 { R05, R04, R03, R02, R01, R00 }, \
71 { R15, R14, R13, R12, R11, R10 }, \
72 { R25, R24, R23, R22, R21, R20 }, \
73 { R35, R34, R33, R32, R31, R30 } \
76 // Keymap with right side flipped
77 // (TRRS jack on both halves are to the right)
79 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
80 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
81 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
82 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
85 { L00, L01, L02, L03, L04, L05 }, \
86 { L10, L11, L12, L13, L14, L15 }, \
87 { L20, L21, L22, L23, L24, L25 }, \
88 { L30, L31, L32, L33, L34, L35 }, \
89 { R00, R01, R02, R03, R04, R05 }, \
90 { R10, R11, R12, R13, R14, R15 }, \
91 { R20, R21, R22, R23, R24, R25 }, \
92 { R30, R31, R32, R33, R34, R35 } \
98 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
100 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
101 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
102 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
103 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
104 L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
107 { L00, L01, L02, L03, L04, L05 }, \
108 { L10, L11, L12, L13, L14, L15 }, \
109 { L20, L21, L22, L23, L24, L25 }, \
110 { L30, L31, L32, L33, L34, L35 }, \
111 { L40, L41, L42, L43, L44, L45 }, \
112 { R05, R04, R03, R02, R01, R00 }, \
113 { R15, R14, R13, R12, R11, R10 }, \
114 { R25, R24, R23, R22, R21, R20 }, \
115 { R35, R34, R33, R32, R31, R30 }, \
116 { R45, R44, R43, R42, R41, R40 } \
119 // Keymap with right side flipped
120 // (TRRS jack on both halves are to the right)
122 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
123 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
124 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
125 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
126 L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
129 { L00, L01, L02, L03, L04, L05 }, \
130 { L10, L11, L12, L13, L14, L15 }, \
131 { L20, L21, L22, L23, L24, L25 }, \
132 { L30, L31, L32, L33, L34, L35 }, \
133 { L40, L41, L42, L43, L44, L45 }, \
134 { R00, R01, R02, R03, R04, R05 }, \
135 { R10, R11, R12, R13, R14, R15 }, \
136 { R20, R21, R22, R23, R24, R25 }, \
137 { R30, R31, R32, R33, R34, R35 }, \
138 { R40, R41, R42, R43, R44, R45 } \
142 #error "expected HELIX_ROWS 3 or 4 or 5"
145 // Used to create a keymap using only KC_ prefixed keys
148 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
149 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
150 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25 \
153 KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
154 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
155 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 \
157 #elif HELIX_ROWS == 4
159 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
160 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
161 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
162 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
165 KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
166 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
167 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
168 KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
172 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
173 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
174 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
175 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
176 L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
179 KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
180 KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
181 KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
182 KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, \
183 KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \