]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/helix/rev2/rev2.h
Some more tweaks to make everything look nice
[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 KEYMAP( \
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 KEYMAP( \
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 #elif HELIX_ROWS == 5
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 KEYMAP( \
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 KEYMAP( \
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 #else
112   #error "expected HELIX_ROWS 4 or 5"
113 #endif
114
115 #endif