aboutsummaryrefslogtreecommitdiff
path: root/users/greatwizard/greatwizard.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/greatwizard/greatwizard.h')
-rw-r--r--users/greatwizard/greatwizard.h135
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
42typedef 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
51enum 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
79enum 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