]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/helix/rev2/rev2.h
[Keyboard] fixed pins for numpad_5x4 layout (#6311)
[qmk_firmware.git] / keyboards / helix / rev2 / rev2.h
1 #ifndef REV2_H
2 #define REV2_CONFIG_H
3
4 #include "../helix.h"
5
6 //void promicro_bootloader_jmp(bool program);
7 #include "quantum.h"
8
9 #ifdef RGBLIGHT_ENABLE
10 //rgb led driver
11 #include "ws2812.h"
12 #endif
13
14 #ifdef USE_I2C
15 #include <stddef.h>
16 #ifdef __AVR__
17   #include <avr/io.h>
18   #include <avr/interrupt.h>
19 #endif
20 #endif
21
22 //void promicro_bootloader_jmp(bool program);
23
24
25 #if HELIX_ROWS == 4
26 #ifndef FLIP_HALF
27 // Standard Keymap
28 // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
29 #define LAYOUT( \
30   L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
31   L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
32   L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
33   L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35  \
34   ) \
35   { \
36     { L00, L01, L02, L03, L04, L05, KC_NO }, \
37     { L10, L11, L12, L13, L14, L15, KC_NO }, \
38     { L20, L21, L22, L23, L24, L25, KC_NO }, \
39     { L30, L31, L32, L33, L34, L35, L36 }, \
40     { R05, R04, R03, R02, R01, R00, KC_NO }, \
41     { R15, R14, R13, R12, R11, R10, KC_NO }, \
42     { R25, R24, R23, R22, R21, R20, KC_NO }, \
43     { R35, R34, R33, R32, R31, R30, R36 }, \
44   }
45 #else
46 // Keymap with right side flipped
47 // (TRRS jack on both halves are to the right)
48 #define LAYOUT( \
49   L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
50   L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
51   L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
52   L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35  \
53   ) \
54   { \
55     { L00, L01, L02, L03, L04, L05, KC_NO }, \
56     { L10, L11, L12, L13, L14, L15, KC_NO }, \
57     { L20, L21, L22, L23, L24, L25, KC_NO }, \
58     { L30, L31, L32, L33, L34, L35, L36 }, \
59     { KC_NO, R00, R01, R02, R03, R04, R05 }, \
60     { KC_NO, R10, R11, R12, R13, R14, R15 }, \
61     { KC_NO, R20, R21, R22, R23, R24, R25 }, \
62     { R36, R30, R31, R32, R33, R34, R35 }, \
63   }
64 #endif
65 #else
66   #ifndef FLIP_HALF
67   // Standard Keymap
68   // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
69   #define LAYOUT( \
70     L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
71     L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
72     L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
73     L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35, \
74     L40, L41, L42, L43, L44, L45, L46, R46, R40, R41, R42, R43, R44, R45  \
75     ) \
76     { \
77       { L00, L01, L02, L03, L04, L05, KC_NO }, \
78       { L10, L11, L12, L13, L14, L15, KC_NO }, \
79       { L20, L21, L22, L23, L24, L25, KC_NO }, \
80       { L30, L31, L32, L33, L34, L35, L36 }, \
81       { L40, L41, L42, L43, L44, L45, L46 }, \
82       { R05, R04, R03, R02, R01, R00, KC_NO }, \
83       { R15, R14, R13, R12, R11, R10, KC_NO }, \
84       { R25, R24, R23, R22, R21, R20, KC_NO }, \
85       { R35, R34, R33, R32, R31, R30, R36 }, \
86       { R45, R44, R43, R42, R41, R40, R46 } \
87     }
88   #else
89   // Keymap with right side flipped
90   // (TRRS jack on both halves are to the right)
91   #define LAYOUT( \
92     L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
93     L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
94     L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
95     L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35, \
96     L40, L41, L42, L43, L44, L45, L46, R46, R40, R41, R42, R43, R44, R45  \
97     ) \
98     { \
99       { L00, L01, L02, L03, L04, L05, KC_NO }, \
100       { L10, L11, L12, L13, L14, L15, KC_NO }, \
101       { L20, L21, L22, L23, L24, L25, KC_NO }, \
102       { L30, L31, L32, L33, L34, L35, L36 }, \
103       { L40, L41, L42, L43, L44, L45, L46 }, \
104       { KC_NO, R00, R01, R02, R03, R04, R05 }, \
105       { KC_NO, R10, R11, R12, R13, R14, R15 }, \
106       { KC_NO, R20, R21, R22, R23, R24, R25 }, \
107       { R36, R30, R31, R32, R33, R34, R35 }, \
108       { R46, R40, R41, R42, R43, R44, R45 } \
109     }
110   #endif
111 #endif
112
113 // Used to create a keymap using only KC_ prefixed keys
114 #if HELIX_ROWS == 4
115   #define LAYOUT_kc( \
116     L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
117     L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
118     L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
119     L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35 \
120     ) \
121     LAYOUT( \
122       KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
123       KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
124       KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
125       KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
126     )
127 #else
128   #define LAYOUT_kc( \
129     L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
130     L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
131     L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \
132     L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35, \
133     L40, L41, L42, L43, L44, L45, L46, R46, R40, R41, R42, R43, R44, R45 \
134     ) \
135     LAYOUT( \
136       KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
137       KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
138       KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
139       KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, \
140       KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \
141     )
142 #endif
143
144 #endif