diff options
Diffstat (limited to 'users/greatwizard/greatwizard.h')
-rw-r--r-- | users/greatwizard/greatwizard.h | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/users/greatwizard/greatwizard.h b/users/greatwizard/greatwizard.h new file mode 100644 index 000000000..d2e15854a --- /dev/null +++ b/users/greatwizard/greatwizard.h | |||
@@ -0,0 +1,135 @@ | |||
1 | /* Copyright 2020 Guillaume Gérard | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | #include "keymap_helpers.h" | ||
20 | #ifdef TAP_DANCE_ENABLE | ||
21 | # include "tap_dances.h" | ||
22 | #endif | ||
23 | #ifdef RGBLIGHT_ENABLE | ||
24 | # include "underglow.h" | ||
25 | #endif | ||
26 | #ifdef LAYER_FN | ||
27 | # include "fn.h" | ||
28 | #endif | ||
29 | #ifdef LAYER_GAME | ||
30 | # include "game.h" | ||
31 | #endif | ||
32 | #ifdef LAYER_GIT | ||
33 | # include "git.h" | ||
34 | #endif | ||
35 | #ifdef LAYERS_ORTHO | ||
36 | # include "ortho.h" | ||
37 | #endif | ||
38 | #ifdef LAYERS_PROGRAMMER | ||
39 | # include "programmer.h" | ||
40 | #endif | ||
41 | |||
42 | typedef union { | ||
43 | uint32_t raw; | ||
44 | struct { | ||
45 | #ifdef RGBLIGHT_ENABLE | ||
46 | bool rgb_layer_change : 1; | ||
47 | #endif | ||
48 | }; | ||
49 | } user_config_t; | ||
50 | |||
51 | enum layers { | ||
52 | _QWERTY, | ||
53 | _WORKMAN, | ||
54 | _COLEMAK, | ||
55 | _DVORAK, | ||
56 | #ifdef LAYER_GAME | ||
57 | _GAME, | ||
58 | #endif | ||
59 | #ifdef LAYERS_PROGRAMMER | ||
60 | _QWERTY_PROGRAMMER, | ||
61 | _WORKMAN_PROGRAMMER, | ||
62 | _COLEMAK_PROGRAMMER, | ||
63 | _DVORAK_PROGRAMMER, | ||
64 | _PROGRAMMER_SHIFTED, | ||
65 | #endif | ||
66 | #ifdef LAYERS_ORTHO | ||
67 | _LOWER, | ||
68 | _RAISE, | ||
69 | _ADJUST, | ||
70 | #endif | ||
71 | #ifdef LAYER_FN | ||
72 | _FN, | ||
73 | #endif | ||
74 | #ifdef LAYER_GIT | ||
75 | _GIT, | ||
76 | #endif | ||
77 | }; | ||
78 | |||
79 | enum keycodes { | ||
80 | // Persistent layers switcher keys | ||
81 | QWERTY = SAFE_RANGE, | ||
82 | WORKMAN, | ||
83 | COLEMAK, | ||
84 | DVORAK, | ||
85 | #ifdef LAYER_GAME | ||
86 | GAME, | ||
87 | #endif | ||
88 | #ifdef LAYERS_PROGRAMMER | ||
89 | // Workman Programmer | ||
90 | QWERTY_PROGRAMMER, | ||
91 | WORKMAN_PROGRAMMER, | ||
92 | COLEMAK_PROGRAMMER, | ||
93 | DVORAK_PROGRAMMER, | ||
94 | PROGRAMMER_SHIFTED, | ||
95 | PG_GRV, | ||
96 | PG_1, | ||
97 | PG_2, | ||
98 | PG_3, | ||
99 | PG_4, | ||
100 | PG_5, | ||
101 | PG_6, | ||
102 | PG_7, | ||
103 | PG_8, | ||
104 | PG_9, | ||
105 | PG_0, | ||
106 | #endif | ||
107 | // RGB Underglow lights based on the layer key | ||
108 | RGB_LAYER, | ||
109 | #ifdef LAYER_GIT | ||
110 | // GIT commands | ||
111 | GIT_ADD, | ||
112 | GIT_BRANCH, | ||
113 | GIT_CHECKOUT, | ||
114 | GIT_CHERRYPICK, | ||
115 | GIT_COMMIT, | ||
116 | GIT_DIFF, | ||
117 | GIT_FETCH, | ||
118 | GIT_GREP, | ||
119 | GIT_LOG, | ||
120 | GIT_INIT, | ||
121 | GIT_MV, | ||
122 | GIT_MERGE, | ||
123 | GIT_PUSH, | ||
124 | GIT_PULL, | ||
125 | GIT_REBASE, | ||
126 | GIT_REMOTE, | ||
127 | GIT_RESET, | ||
128 | GIT_SHOW, | ||
129 | GIT_STASH, | ||
130 | GIT_STATUS, | ||
131 | GIT_TAG | ||
132 | #endif | ||
133 | }; | ||
134 | |||
135 | #define RGB_LYR RGB_LAYER | ||