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.h301
1 files changed, 17 insertions, 284 deletions
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index 06e726714..0a3d0f632 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -19,9 +19,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#include "quantum.h" 19#include "quantum.h"
20#include "version.h" 20#include "version.h"
21#include "eeprom.h" 21#include "eeprom.h"
22 22#include "wrappers.h"
23#ifdef RGB_MATRIX_ENABLE 23#include "process_records.h"
24#include "rgb_matrix.h" 24#ifdef TAP_DANCE_ENABLE
25 #include "tap_dances.h"
26#endif // TAP_DANCE_ENABLE
27#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
28 #include "rgb_stuff.h"
25#endif 29#endif
26 30
27 31
@@ -51,17 +55,19 @@ define modifiers here, since MOD_* doesn't seem to work for these
51#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)) 55#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
52 56
53 57
54/*
55RGB color codes are no longer located here anymore. Instead, you will want to
56head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h
57*/
58
59#ifdef RGBLIGHT_ENABLE
60void rgblight_sethsv_default_helper(uint8_t index);
61#endif // RGBLIGHT_ENABLE
62 58
63bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed); 59bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
64bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); 60bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
61bool send_game_macro(const char *str, keyrecord_t *record, bool override);
62void matrix_init_keymap(void);
63void shutdown_keymap(void);
64void suspend_power_down_keymap(void);
65void suspend_wakeup_init_keymap(void);
66void matrix_scan_keymap(void);
67uint32_t layer_state_set_keymap (uint32_t state);
68uint32_t default_layer_state_set_keymap (uint32_t state);
69void led_set_keymap(uint8_t usb_led);
70void eeconfig_init_keymap(void);
65 71
66typedef union { 72typedef union {
67 uint32_t raw; 73 uint32_t raw;
@@ -75,110 +81,6 @@ typedef union {
75 81
76extern userspace_config_t userspace_config; 82extern userspace_config_t userspace_config;
77 83
78#if defined(KEYMAP_SAFE_RANGE)
79 #define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
80#else
81 #define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
82#endif
83
84enum userspace_custom_keycodes {
85 VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info
86 KC_QWERTY, // Sets default layer to QWERTY
87 KC_COLEMAK, // Sets default layer to COLEMAK
88 KC_DVORAK, // Sets default layer to DVORAK
89 KC_WORKMAN, // Sets default layer to WORKMAN
90 KC_DIABLO_CLEAR, // Clears all Diablo Timers
91 KC_OVERWATCH, // Toggles game macro input mode (so in OW, it defaults to game chat)
92 KC_SALT, // See drashna.c for details
93 KC_MORESALT,
94 KC_SALTHARD,
95 KC_GOODGAME,
96 KC_SYMM,
97 KC_JUSTGAME,
98 KC_GLHF,
99 KC_TORB,
100 KC_AIM,
101 KC_C9,
102 KC_GGEZ,
103 KC_MAKE, // Run keyboard's customized make command
104 KC_RGB_T, // Toggles RGB Layer Indication mode
105 KC_SECRET_1, // test1
106 KC_SECRET_2, // test2
107 KC_SECRET_3, // test3
108 KC_SECRET_4, // test4
109 KC_SECRET_5, // test5
110 KC_CCCV, // Hold to copy, tap to paste
111 KC_NUKE, // NUCLEAR LAUNCH DETECTED!!!
112 UC_FLIP, // (ಠ痊ಠ)┻━┻
113 UC_TABL, // ┬─┬ノ( º _ ºノ)
114 UC_SHRG, // ¯\_(ツ)_/¯
115 UC_DISA, // ಠ_ಠ
116 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
117};
118
119
120#define LOWER MO(_LOWER)
121#define RAISE MO(_RAISE)
122#define ADJUST MO(_ADJUST)
123#define TG_MODS TG(_MODS)
124#define TG_GAME TG(_GAMEPAD)
125
126#define KC_SEC1 KC_SECRET_1
127#define KC_SEC2 KC_SECRET_2
128#define KC_SEC3 KC_SECRET_3
129#define KC_SEC4 KC_SECRET_4
130#define KC_SEC5 KC_SECRET_5
131
132#define QWERTY KC_QWERTY
133#define DVORAK KC_DVORAK
134#define COLEMAK KC_COLEMAK
135#define WORKMAN KC_WORKMAN
136
137#define KC_RESET RESET
138#define KC_RST KC_RESET
139
140#ifdef SWAP_HANDS_ENABLE
141#define KC_C1R3 SH_TT
142#else // SWAP_HANDS_ENABLE
143#define KC_C1R3 KC_BSPC
144#endif // SWAP_HANDS_ENABLE
145
146#define BK_LWER LT(_LOWER, KC_BSPC)
147#define SP_LWER LT(_LOWER, KC_SPC)
148#define DL_RAIS LT(_RAISE, KC_DEL)
149#define ET_RAIS LT(_RAISE, KC_ENTER)
150
151/* OSM keycodes, to keep things clean and easy to change */
152#define KC_MLSF OSM(MOD_LSFT)
153#define KC_MRSF OSM(MOD_RSFT)
154
155#define OS_LGUI OSM(MOD_LGUI)
156#define OS_RGUI OSM(MOD_RGUI)
157#define OS_LSFT OSM(MOD_LSFT)
158#define OS_RSFT OSM(MOD_RSFT)
159#define OS_LCTL OSM(MOD_LCTL)
160#define OS_RCTL OSM(MOD_RCTL)
161#define OS_LALT OSM(MOD_LALT)
162#define OS_RALT OSM(MOD_RALT)
163#define OS_MEH OSM(MOD_MEH)
164#define OS_HYPR OSM(MOD_HYPR)
165
166#define ALT_APP ALT_T(KC_APP)
167
168#define MG_NKRO MAGIC_TOGGLE_NKRO
169
170#define UC_IRNY UC(0x2E2E)
171#define UC_CLUE UC(0x203D)
172
173#ifdef TAP_DANCE_ENABLE
174enum {
175 TD_D3_1 = 0,
176 TD_D3_2,
177 TD_D3_3,
178 TD_D3_4
179};
180#endif // TAP_DANCE_ENABLE
181
182 84
183/* 85/*
184Custom Keycodes for Diablo 3 layer 86Custom Keycodes for Diablo 3 layer
@@ -196,172 +98,3 @@ We use custom codes here, so we can substitute the right stuff
196#define KC_D3_3 KC_3 98#define KC_D3_3 KC_3
197#define KC_D3_4 KC_4 99#define KC_D3_4 KC_4
198#endif // TAP_DANCE_ENABLE 100#endif // TAP_DANCE_ENABLE
199
200/*
201Since our quirky block definitions are basically a list of comma separated
202arguments, we need a wrapper in order for these definitions to be
203expanded before being used as arguments to the LAYOUT_xxx macro.
204*/
205#if (!defined(LAYOUT) && defined(KEYMAP))
206#define LAYOUT KEYMAP
207#endif
208
209#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
210#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
211#define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
212#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
213#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
214
215/*
216Blocks for each of the four major keyboard layouts
217Organized so we can quickly adapt and modify all of them
218at once, rather than for each keyboard, one at a time.
219And this allows for much cleaner blocks in the keymaps.
220For instance Tap/Hold for Control on all of the layouts
221
222NOTE: These are all the same length. If you do a search/replace
223 then you need to add/remove underscores to keep the
224 lengths consistent.
225*/
226
227#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
228#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
229#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
230
231#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
232#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
233#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
234
235
236#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
237#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
238#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
239
240#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
241#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
242#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH
243
244#define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B
245#define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G
246#define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V
247
248#define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
249#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O
250#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH
251
252
253#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
254#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
255#define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
256
257#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
258#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
259#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z
260
261
262#define ________________DVORAK_AU_L1_______________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
263#define ________________DVORAK_AU_L2_______________ KC_O, KC_A, KC_E, KC_I, KC_U
264#define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
265
266#define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L
267#define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S
268#define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z
269
270#define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B
271#define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G
272#define _________________WORKMAN_L3________________ KC_Z, KC_X, KC_M, KC_C, KC_V
273
274#define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN
275#define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I
276#define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH
277
278
279#define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K
280#define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G
281#define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
282
283#define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN
284#define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U
285#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH
286
287
288#define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B
289#define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F
290#define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J KC_G, KC_COMM
291
292#define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L
293#define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R
294#define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X
295
296
297#define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q
298#define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U
299#define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W
300
301#define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P
302#define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N
303#define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN
304
305
306#define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W
307#define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
308#define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X
309
310#define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J
311#define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN
312#define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH
313
314
315#define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
316#define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
317#define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J
318
319#define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN
320#define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
321#define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
322
323
324#define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
325#define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
326#define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J
327
328#define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN
329#define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
330#define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
331
332
333#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
334#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
335#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
336#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
337
338#define ___________________BLANK___________________ _______, _______, _______, _______, _______
339
340
341#define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
342#define _________________LOWER_L2__________________ _________________FUNC_LEFT_________________
343#define _________________LOWER_L3__________________ _________________FUNC_RIGHT________________
344
345#define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
346#define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
347#define _________________LOWER_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
348
349
350
351#define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________
352#define _________________RAISE_L2__________________ ___________________BLANK___________________
353#define _________________RAISE_L3__________________ ___________________BLANK___________________
354
355#define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________
356#define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC
357#define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
358
359
360
361#define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
362#define _________________ADJUST_L2_________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
363#define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
364
365#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5
366#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN
367#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT