aboutsummaryrefslogtreecommitdiff
path: root/users/drashna/drashna.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/drashna/drashna.h')
-rw-r--r--users/drashna/drashna.h125
1 files changed, 37 insertions, 88 deletions
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index 746c7e20a..5ef25333b 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -49,8 +49,22 @@ enum userspace_layers {
49// RGB color codes are no longer located here anymore. Instead, you will want to 49// RGB color codes are no longer located here anymore. Instead, you will want to
50// head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h 50// head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h
51 51
52extern bool is_overwatch;
53extern bool rgb_layer_change; 52extern bool rgb_layer_change;
53extern bool clicky_enable;
54
55#ifdef RGBLIGHT_ENABLE
56void rgblight_sethsv_default_helper(uint8_t index);
57#endif // RGBLIGHT_ENABLE
58
59#define EECONFIG_USERSPACE (uint8_t *)20
60
61typedef union {
62 uint32_t raw;
63 struct {
64 bool clicky_enable :1;
65 bool is_overwatch :1;
66 };
67} userspace_config_t;
54 68
55enum userspace_custom_keycodes { 69enum userspace_custom_keycodes {
56 EPRM = SAFE_RANGE, // can always be here 70 EPRM = SAFE_RANGE, // can always be here
@@ -59,9 +73,6 @@ enum userspace_custom_keycodes {
59 KC_COLEMAK, 73 KC_COLEMAK,
60 KC_DVORAK, 74 KC_DVORAK,
61 KC_WORKMAN, 75 KC_WORKMAN,
62 LOWER,
63 RAISE,
64 ADJUST,
65 KC_DIABLO_CLEAR, 76 KC_DIABLO_CLEAR,
66 KC_OVERWATCH, 77 KC_OVERWATCH,
67 KC_SALT, 78 KC_SALT,
@@ -90,6 +101,11 @@ enum userspace_custom_keycodes {
90 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes 101 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
91}; 102};
92 103
104#define LOWER MO(_LOWER)
105#define RAISE MO(_RAISE)
106#define ADJUST MO(_ADJUST)
107
108
93#define KC_SEC1 KC_SECRET_1 109#define KC_SEC1 KC_SECRET_1
94#define KC_SEC2 KC_SECRET_2 110#define KC_SEC2 KC_SECRET_2
95#define KC_SEC3 KC_SECRET_3 111#define KC_SEC3 KC_SECRET_3
@@ -102,6 +118,20 @@ enum userspace_custom_keycodes {
102#define WORKMAN KC_WORKMAN 118#define WORKMAN KC_WORKMAN
103#define KC_RST KC_RESET 119#define KC_RST KC_RESET
104 120
121
122#ifdef SWAP_HANDS_ENABLE
123#define KC_C1R3 SH_TT
124#else // SWAP_HANDS_ENABLE
125#define KC_C1R3 KC_BSPC
126#endif // SWAP_HANDS_ENABLE
127
128// OSM keycodes, to keep things clean and easy to change
129#define KC_MLSF OSM(MOD_LSFT)
130#define KC_MRSF OSM(MOD_RSFT)
131
132#define MG_NKRO MAGIC_TOGGLE_NKRO
133
134
105#ifdef TAP_DANCE_ENABLE 135#ifdef TAP_DANCE_ENABLE
106enum { 136enum {
107 TD_D3_1 = 0, 137 TD_D3_1 = 0,
@@ -111,72 +141,6 @@ enum {
111}; 141};
112#endif // TAP_DANCE_ENABLE 142#endif // TAP_DANCE_ENABLE
113 143
114#ifdef UNICODEMAP_ENABLE
115
116/* use X(n) to call the */
117
118
119enum unicode_name {
120 THINK, // thinking face 🤔
121 GRIN, // grinning face 😊
122 SMRK, // smirk 😏
123 WEARY, // good shit 😩
124 UNAMU, // unamused 😒
125
126 SNEK, // snke 🐍
127 PENGUIN, // 🐧
128 DRAGON, // 🐉
129 MONKEY, // 🐒
130 CHICK, // 🐥
131
132 OKOK, // 👌
133 EFFU, // 🖕
134 INUP, // 👆
135 THUP, // 👍
136 THDN, // 👎
137
138 BBB, // dat B 🅱
139 POO, // poop 💩
140 HUNDR, // 100 💯
141 EGGPL, // EGGPLANT 🍆
142 WATER, // wet 💦
143 TUMBLER, // 🥃
144
145 LIT, // fire 🔥
146 IRONY, // ‽
147 DEGREE, // °
148};
149
150
151const uint32_t PROGMEM unicode_map[] = {
152 [THINK] = 0x1F914,
153 [GRIN] = 0x1F600,
154 [BBB] = 0x1F171,
155 [POO] = 0x1F4A9,
156 [HUNDR] = 0x1F4AF,
157 [SMRK] = 0x1F60F,
158 [WEARY] = 0x1F629,
159 [EGGPL] = 0x1F346,
160 [WATER] = 0x1F4A6,
161 [LIT] = 0x1F525,
162 [UNAMU] = 0x1F612,
163 [SNEK] = 0x1F40D,
164 [PENGUIN] = 0x1F427,
165 [BOAR] = 0x1F417,
166 [MONKEY] = 0x1F412,
167 [CHICK] = 0x1F425,
168 [DRAGON] = 0x1F409,
169 [OKOK] = 0x1F44C,
170 [EFFU] = 0x1F595,
171 [INUP] = 0x1F446,
172 [THDN] = 0x1F44E,
173 [THUP] = 0x1F44D,
174 [TUMBLER] = 0x1F943,
175 [IRONY] = 0x0203D,
176 [DEGREE] = 0x000B0,
177 };
178
179#endif //UNICODEMAP_ENABLE
180 144
181// Custom Keycodes for Diablo 3 layer 145// Custom Keycodes for Diablo 3 layer
182// But since TD() doesn't work when tap dance is disabled 146// But since TD() doesn't work when tap dance is disabled
@@ -193,22 +157,6 @@ const uint32_t PROGMEM unicode_map[] = {
193#define KC_D3_4 KC_4 157#define KC_D3_4 KC_4
194#endif // TAP_DANCE_ENABLE 158#endif // TAP_DANCE_ENABLE
195 159
196// OSM keycodes, to keep things clean and easy to change
197#define KC_MLSF OSM(MOD_LSFT)
198#define KC_MRSF OSM(MOD_RSFT)
199
200
201
202// If we're still using the official Faux Clicky feature, substitute codes
203// so that we don't have any unused/blank keys.
204#ifdef FAUXCLICKY_ENABLE
205#define AUD_ON FC_ON
206#define AUD_OFF FC_OFF
207#else // FAUXCLICKY_ENABLE
208#define AUD_ON AU_ON
209#define AUD_OFF AU_OFF
210#endif // FAUXCLICKY_ENABLE
211
212 160
213 161
214// Since our quirky block definitions are basically a list of comma separated 162// Since our quirky block definitions are basically a list of comma separated
@@ -286,7 +234,8 @@ const uint32_t PROGMEM unicode_map[] = {
286#define _________________NORMAN_R2_________________ KC_J, KC_N, KC_I, KC_O, KC_U 234#define _________________NORMAN_R2_________________ KC_J, KC_N, KC_I, KC_O, KC_U
287#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 235#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH)
288 236
289 237#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
238#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
290 239
291// Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), 240// Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN),
292// this allows us to quickly modify the bottom row for all of the layouts 241// this allows us to quickly modify the bottom row for all of the layouts
@@ -301,4 +250,4 @@ const uint32_t PROGMEM unicode_map[] = {
301 KC_SPACE,KC_BSPC, KC_END, KC_PGDN, KC_DEL, KC_ENTER 250 KC_SPACE,KC_BSPC, KC_END, KC_PGDN, KC_DEL, KC_ENTER
302 251
303 252
304#endif 253#endif // !USERSPACE