]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/drashna/process_records.h
f7f2193ec6b1413db672ec1790f74f037f3d2444
[qmk_firmware.git] / users / drashna / process_records.h
1 #pragma once
2 #include "drashna.h"
3
4 #if defined(KEYMAP_SAFE_RANGE)
5   #define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
6 #else
7   #define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
8 #endif
9
10 enum userspace_custom_keycodes {
11   VRSN = PLACEHOLDER_SAFE_RANGE,              // Prints QMK Firmware and board info
12   KC_QWERTY,         // Sets default layer to QWERTY
13   KC_COLEMAK,        // Sets default layer to COLEMAK
14   KC_DVORAK,         // Sets default layer to DVORAK
15   KC_WORKMAN,        // Sets default layer to WORKMAN
16   KC_NORMAN,         // Sets default layer to NORMAN
17   KC_MALTRON,        // Sets default layer to MALTRON
18   KC_EUCALYN,        // Sets default layer to EUCALYN
19   KC_CARPLAX,        // Sets default layer to CARPLAX
20   KC_DIABLO_CLEAR,   // Clears all Diablo Timers
21   KC_OVERWATCH,      // Toggles game macro input mode (so in OW, it defaults to game chat)
22   KC_SALT,           // See drashna.c for details
23   KC_MORESALT,
24   KC_SALTHARD,
25   KC_GOODGAME,
26   KC_SYMM,
27   KC_JUSTGAME,
28   KC_GLHF,
29   KC_TORB,
30   KC_AIM,
31   KC_C9,
32   KC_GGEZ,
33   KC_MAKE,           // Run keyboard's customized make command
34   KC_RGB_T,          // Toggles RGB Layer Indication mode
35   KC_SECRET_1,       // test1
36   KC_SECRET_2,       // test2
37   KC_SECRET_3,       // test3
38   KC_SECRET_4,       // test4
39   KC_SECRET_5,       // test5
40   KC_CCCV,           // Hold to copy, tap to paste
41   KC_NUKE,           // NUCLEAR LAUNCH DETECTED!!!
42   UC_FLIP,           // (ಠ痊ಠ)┻━┻
43   UC_TABL,           // ┬─┬ノ( º _ ºノ)
44   UC_SHRG,           // ¯\_(ツ)_/¯
45   UC_DISA,           // ಠ_ಠ
46   NEW_SAFE_RANGE     //use "NEWPLACEHOLDER for keymap specific codes
47 };
48
49 bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
50 bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
51
52
53
54 #define LOWER MO(_LOWER)
55 #define RAISE MO(_RAISE)
56 #define ADJUST MO(_ADJUST)
57 #define TG_MODS TG(_MODS)
58 #define TG_GAME TG(_GAMEPAD)
59
60 #define KC_SEC1 KC_SECRET_1
61 #define KC_SEC2 KC_SECRET_2
62 #define KC_SEC3 KC_SECRET_3
63 #define KC_SEC4 KC_SECRET_4
64 #define KC_SEC5 KC_SECRET_5
65
66 #define QWERTY KC_QWERTY
67 #define DVORAK KC_DVORAK
68 #define COLEMAK KC_COLEMAK
69 #define WORKMAN KC_WORKMAN
70
71 #define KC_RESET RESET
72 #define KC_RST KC_RESET
73
74 #ifdef SWAP_HANDS_ENABLE
75 #define KC_C1R3 SH_TT
76 #else // SWAP_HANDS_ENABLE
77 #define KC_C1R3 KC_BSPC
78 #endif // SWAP_HANDS_ENABLE
79
80 #define BK_LWER LT(_LOWER, KC_BSPC)
81 #define SP_LWER LT(_LOWER, KC_SPC)
82 #define DL_RAIS LT(_RAISE, KC_DEL)
83 #define ET_RAIS LT(_RAISE, KC_ENTER)
84
85 /* OSM keycodes, to keep things clean and easy to change */
86 #define KC_MLSF OSM(MOD_LSFT)
87 #define KC_MRSF OSM(MOD_RSFT)
88
89 #define OS_LGUI OSM(MOD_LGUI)
90 #define OS_RGUI OSM(MOD_RGUI)
91 #define OS_LSFT OSM(MOD_LSFT)
92 #define OS_RSFT OSM(MOD_RSFT)
93 #define OS_LCTL OSM(MOD_LCTL)
94 #define OS_RCTL OSM(MOD_RCTL)
95 #define OS_LALT OSM(MOD_LALT)
96 #define OS_RALT OSM(MOD_RALT)
97 #define OS_MEH  OSM(MOD_MEH)
98 #define OS_HYPR OSM(MOD_HYPR)
99
100 #define ALT_APP ALT_T(KC_APP)
101
102 #define MG_NKRO MAGIC_TOGGLE_NKRO
103
104 #define UC_IRNY UC(0x2E2E)
105 #define UC_CLUE UC(0x203D)