diff options
Diffstat (limited to 'users/drashna/drashna.h')
| -rw-r--r-- | users/drashna/drashna.h | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 8a022cd14..0df9abb46 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h | |||
| @@ -17,10 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 17 | 17 | ||
| 18 | #ifndef USERSPACE | 18 | #ifndef USERSPACE |
| 19 | #define USERSPACE | 19 | #define USERSPACE |
| 20 | |||
| 21 | #include "quantum.h" | 20 | #include "quantum.h" |
| 22 | 21 | ||
| 23 | // Define layer names | 22 | // Define layer names |
| 24 | #define _QWERTY 0 | 23 | #define _QWERTY 0 |
| 25 | #define _NUMLOCK 0 | 24 | #define _NUMLOCK 0 |
| 26 | #define _COLEMAK 1 | 25 | #define _COLEMAK 1 |
| @@ -118,6 +117,12 @@ enum userspace_custom_keycodes { | |||
| 118 | NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes | 117 | NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes |
| 119 | }; | 118 | }; |
| 120 | 119 | ||
| 120 | #define KC_SEC1 KC_SECRET_1 | ||
| 121 | #define KC_SEC2 KC_SECRET_2 | ||
| 122 | #define KC_SEC3 KC_SECRET_3 | ||
| 123 | #define KC_SEC4 KC_SECRET_4 | ||
| 124 | #define KC_SEC5 KC_SECRET_5 | ||
| 125 | |||
| 121 | #ifdef TAP_DANCE_ENABLE | 126 | #ifdef TAP_DANCE_ENABLE |
| 122 | enum { | 127 | enum { |
| 123 | TD_D3_1 = 0, | 128 | TD_D3_1 = 0, |
| @@ -129,8 +134,8 @@ enum { | |||
| 129 | 134 | ||
| 130 | 135 | ||
| 131 | // Custom Keycodes for Diablo 3 layer | 136 | // Custom Keycodes for Diablo 3 layer |
| 132 | // But since TD() doesn't work when tapdance is disabled | 137 | // But since TD() doesn't work when tap dance is disabled |
| 133 | // We use custom codes here, so we can substituet the right stuff | 138 | // We use custom codes here, so we can substitute the right stuff |
| 134 | #ifdef TAP_DANCE_ENABLE | 139 | #ifdef TAP_DANCE_ENABLE |
| 135 | #define KC_D3_1 TD(TD_D3_1) | 140 | #define KC_D3_1 TD(TD_D3_1) |
| 136 | #define KC_D3_2 TD(TD_D3_2) | 141 | #define KC_D3_2 TD(TD_D3_2) |
| @@ -146,26 +151,10 @@ enum { | |||
| 146 | // OSM keycodes, to keep things clean and easy to change | 151 | // OSM keycodes, to keep things clean and easy to change |
| 147 | #define KC_MLSF OSM(MOD_LSFT) | 152 | #define KC_MLSF OSM(MOD_LSFT) |
| 148 | #define KC_MRSF OSM(MOD_RSFT) | 153 | #define KC_MRSF OSM(MOD_RSFT) |
| 149 | #define ONESHOT_TIMEOUT 3000 | ||
| 150 | |||
| 151 | #define QMK_KEYS_PER_SCAN 8 | ||
| 152 | 154 | ||
| 153 | #ifdef RGBLIGHT_ENABLE | ||
| 154 | #define RGBLIGHT_SLEEP | ||
| 155 | #endif // RGBLIGHT_ENABLE | ||
| 156 | 155 | ||
| 157 | // this makes it possible to do rolling combos (zx) with keys that | ||
| 158 | // convert to other keys on hold (z becomes ctrl when you hold it, | ||
| 159 | // and when this option isn't enabled, z rapidly followed by x | ||
| 160 | // actually sends Ctrl-x. That's bad.) | ||
| 161 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 162 | 156 | ||
| 163 | // Disable action_get_macro and fn_actions, since we don't use these | 157 | // If we're still using the official Faux Clicky feature, substitute codes |
| 164 | // and it saves on space in the firmware. | ||
| 165 | #define NO_ACTION_MACRO | ||
| 166 | #define NO_ACTION_FUNCTION | ||
| 167 | |||
| 168 | // If we're still using the official Faux Clicky feature, substituet codes | ||
| 169 | // so that we don't have any unused/blank keys. | 158 | // so that we don't have any unused/blank keys. |
| 170 | #ifdef FAUXCLICKY_ENABLE | 159 | #ifdef FAUXCLICKY_ENABLE |
| 171 | #define AUD_ON FC_ON | 160 | #define AUD_ON FC_ON |
| @@ -177,23 +166,27 @@ enum { | |||
| 177 | 166 | ||
| 178 | 167 | ||
| 179 | 168 | ||
| 180 | // Since our quirky block definitions are basically a list of comma separated | 169 | // Since our quirky block definitions are basically a list of comma separated |
| 181 | // arguments, we need a wrapper in order for these definitions to be | 170 | // arguments, we need a wrapper in order for these definitions to be |
| 182 | // expanded before being used as arguments to the LAYOUT_xxx macro. | 171 | // expanded before being used as arguments to the LAYOUT_xxx macro. |
| 172 | #if (!defined(LAYOUT) && defined(KEYMAP)) | ||
| 173 | #define LAYOUT KEYMAP | ||
| 174 | #endif | ||
| 175 | |||
| 183 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) | 176 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) |
| 184 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | 177 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) |
| 185 | #define KEYMAP_wrapper(...) KEYMAP(__VA_ARGS__) | 178 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) |
| 186 | 179 | ||
| 187 | 180 | ||
| 188 | // Blocks for each of the four major keyboard layouts | 181 | // Blocks for each of the four major keyboard layouts |
| 189 | // Organized so we can quickly adapt and modify all of them | 182 | // Organized so we can quickly adapt and modify all of them |
| 190 | // at once, rather than for each keyboard, one at a time. | 183 | // at once, rather than for each keyboard, one at a time. |
| 191 | // And this allows wor much cleaner blocks in the keymaps. | 184 | // And this allows for much cleaner blocks in the keymaps. |
| 192 | // For instance Tap/Hold for Control on all of the layouts | 185 | // For instance Tap/Hold for Control on all of the layouts |
| 193 | 186 | ||
| 194 | // NOTE: These are all the same length. If you do a search/replace | 187 | // NOTE: These are all the same length. If you do a search/replace |
| 195 | // then you need to add/remove underscores to keep the | 188 | // then you need to add/remove underscores to keep the |
| 196 | // lengths consistent. | 189 | // lengths consistent. |
| 197 | 190 | ||
| 198 | #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T | 191 | #define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T |
| 199 | #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G | 192 | #define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G |
| @@ -212,6 +205,14 @@ enum { | |||
| 212 | #define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O | 205 | #define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O |
| 213 | #define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) | 206 | #define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) |
| 214 | 207 | ||
| 208 | #define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B | ||
| 209 | #define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G | ||
| 210 | #define ______________COLEMAK_MOD_DH_L3____________ CTL_T(KC_Z), KC_X, KC_C, KC_D, KC_V | ||
| 211 | |||
| 212 | #define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN | ||
| 213 | #define ______________COLEMAK_MOD_DH_R2____________ KC_K, KC_N, KC_E, KC_I, KC_O | ||
| 214 | #define ______________COLEMAK_MOD_DH_R3____________ KC_M, KC_H, KC_COMM, KC_DOT, CTL_T(KC_SLASH) | ||
| 215 | |||
| 215 | 216 | ||
| 216 | #define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y | 217 | #define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y |
| 217 | #define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I | 218 | #define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I |
| @@ -231,12 +232,21 @@ enum { | |||
| 231 | #define _________________WORKMAN_R3________________ KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z) | 232 | #define _________________WORKMAN_R3________________ KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z) |
| 232 | 233 | ||
| 233 | 234 | ||
| 235 | #define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K | ||
| 236 | #define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G | ||
| 237 | #define _________________NORMAN_L3_________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B | ||
| 238 | |||
| 239 | #define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN | ||
| 240 | #define _________________NORMAN_R2_________________ KC_J, KC_N, KC_I, KC_O, KC_U | ||
| 241 | #define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) | ||
| 242 | |||
| 243 | |||
| 234 | 244 | ||
| 235 | // Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), | 245 | // Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), |
| 236 | // this allows us to quickly modify the bottom row for all of the layouts | 246 | // this allows us to quickly modify the bottom row for all of the layouts |
| 237 | // so we don't have to alter it 4 times and hope that we haven't missed | 247 | // so we don't have to alter it 4 times and hope that we haven't missed |
| 238 | // anything | 248 | // anything |
| 239 | #define ___________ERGODOX_BOTTOM_LEFT_____________ KC_QUOT, KC_MEH, KC_LBRC, KC_RBRC | 249 | #define ___________ERGODOX_BOTTOM_LEFT_____________ KC_MEH, KC_LGUI, KC_LBRC, KC_RBRC |
| 240 | #define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | 250 | #define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT |
| 241 | 251 | ||
| 242 | 252 | ||
