4 #if defined(KEYMAP_SAFE_RANGE)
5 # define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
7 # define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
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
33 KC_MAKE, // Run keyboard's customized make command
34 KC_RGB_T, // Toggles RGB Layer Indication mode
40 KC_CCCV, // Hold to copy, tap to paste
41 KC_NUKE, // NUCLEAR LAUNCH DETECTED!!!
43 UC_TABL, // ┬─┬ノ( º _ ºノ)
46 NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes
49 bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
50 bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
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 #define OS_LWR OSL(_LOWER)
60 #define OS_RSE OSL(_RAISE)
62 #define KC_SEC1 KC_SECRET_1
63 #define KC_SEC2 KC_SECRET_2
64 #define KC_SEC3 KC_SECRET_3
65 #define KC_SEC4 KC_SECRET_4
66 #define KC_SEC5 KC_SECRET_5
68 #define QWERTY KC_QWERTY
69 #define DVORAK KC_DVORAK
70 #define COLEMAK KC_COLEMAK
71 #define WORKMAN KC_WORKMAN
73 #define KC_RESET RESET
74 #define KC_RST KC_RESET
76 #ifdef SWAP_HANDS_ENABLE
78 #else // SWAP_HANDS_ENABLE
79 #define KC_C1R3 KC_BSPC
80 #endif // SWAP_HANDS_ENABLE
82 #define BK_LWER LT(_LOWER, KC_BSPC)
83 #define SP_LWER LT(_LOWER, KC_SPC)
84 #define DL_RAIS LT(_RAISE, KC_DEL)
85 #define ET_RAIS LT(_RAISE, KC_ENTER)
87 /* OSM keycodes, to keep things clean and easy to change */
88 #define KC_MLSF OSM(MOD_LSFT)
89 #define KC_MRSF OSM(MOD_RSFT)
91 #define OS_LGUI OSM(MOD_LGUI)
92 #define OS_RGUI OSM(MOD_RGUI)
93 #define OS_LSFT OSM(MOD_LSFT)
94 #define OS_RSFT OSM(MOD_RSFT)
95 #define OS_LCTL OSM(MOD_LCTL)
96 #define OS_RCTL OSM(MOD_RCTL)
97 #define OS_LALT OSM(MOD_LALT)
98 #define OS_RALT OSM(MOD_RALT)
99 #define OS_MEH OSM(MOD_MEH)
100 #define OS_HYPR OSM(MOD_HYPR)
102 #define ALT_APP ALT_T(KC_APP)
104 #define MG_NKRO MAGIC_TOGGLE_NKRO
106 #define UC_IRNY UC(0x2E2E)
107 #define UC_CLUE UC(0x203D)