diff options
| author | drashna <drashna@live.com> | 2017-11-10 19:58:53 -0800 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2017-11-10 22:58:53 -0500 |
| commit | 0533362e8205957493d52d4356aa20537a151118 (patch) | |
| tree | 106e6feb82d31192ce349f68b4763c5a3d71dcaa | |
| parent | 4df4fa7c265e1e5c9b262851a704db7755971229 (diff) | |
| download | qmk_firmware-0533362e8205957493d52d4356aa20537a151118.tar.gz qmk_firmware-0533362e8205957493d52d4356aa20537a151118.zip | |
Cleaned uppersonal userspace and keymaps (#1998)
* Cleanup of keymaps
* Remove Tap Dance from Orthodox keymap
* Cleaned up userspace and keymaps
* Added sample (template)userspace files to my folder
| -rw-r--r-- | keyboards/ergodox_ez/keymaps/drashna/keymap.c | 4 | ||||
| -rw-r--r-- | keyboards/ergodox_ez/keymaps/drashna/rules.mk | 3 | ||||
| -rw-r--r-- | keyboards/handwired/woodpad/keymaps/drashna/config.h | 6 | ||||
| -rw-r--r-- | keyboards/handwired/woodpad/keymaps/drashna/keymap.c | 22 | ||||
| -rw-r--r-- | keyboards/handwired/woodpad/keymaps/drashna/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/config.h | 3 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/keymap.c | 47 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/rules.mk | 5 | ||||
| -rw-r--r-- | keyboards/viterbi/keymaps/drashna/keymap.c | 50 | ||||
| -rw-r--r-- | users/drashna/drashna.c | 115 | ||||
| -rw-r--r-- | users/drashna/drashna.h | 7 | ||||
| -rw-r--r-- | users/drashna/rules.mk | 1 | ||||
| -rw-r--r-- | users/drashna/template.c | 82 | ||||
| -rw-r--r-- | users/drashna/template.h | 18 |
14 files changed, 218 insertions, 146 deletions
diff --git a/keyboards/ergodox_ez/keymaps/drashna/keymap.c b/keyboards/ergodox_ez/keymaps/drashna/keymap.c index 651703c1e..1f9161236 100644 --- a/keyboards/ergodox_ez/keymaps/drashna/keymap.c +++ b/keyboards/ergodox_ez/keymaps/drashna/keymap.c | |||
| @@ -225,7 +225,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 225 | KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, | 225 | KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, |
| 226 | KC_LSFT, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(_OVERWATCH), | 226 | KC_LSFT, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(_OVERWATCH), |
| 227 | LT(_SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET, | 227 | LT(_SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET, |
| 228 | ALT_T(KC_APP), KC_LEAD, | 228 | ALT_T(KC_APP), KC_LGUI, |
| 229 | KC_HOME, | 229 | KC_HOME, |
| 230 | KC_SPC,KC_BSPC,KC_END, | 230 | KC_SPC,KC_BSPC,KC_END, |
| 231 | // right hand | 231 | // right hand |
| @@ -234,7 +234,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 234 | KC_H, KC_N, KC_E, KC_I, KC_O, GUI_T(KC_QUOTE), | 234 | KC_H, KC_N, KC_E, KC_I, KC_O, GUI_T(KC_QUOTE), |
| 235 | TG(_OVERWATCH),KC_K, KC_M, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), KC_RSHIFT, | 235 | TG(_OVERWATCH),KC_K, KC_M, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), KC_RSHIFT, |
| 236 | KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TT(_SYMB), | 236 | KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TT(_SYMB), |
| 237 | KC_LALT, CTL_T(KC_ESC), | 237 | KC_RGUI, CTL_T(KC_ESC), |
| 238 | KC_PGUP, | 238 | KC_PGUP, |
| 239 | KC_PGDN,KC_DELETE, KC_ENT | 239 | KC_PGDN,KC_DELETE, KC_ENT |
| 240 | ), | 240 | ), |
diff --git a/keyboards/ergodox_ez/keymaps/drashna/rules.mk b/keyboards/ergodox_ez/keymaps/drashna/rules.mk index b6c5ed3bd..bfeb6be49 100644 --- a/keyboards/ergodox_ez/keymaps/drashna/rules.mk +++ b/keyboards/ergodox_ez/keymaps/drashna/rules.mk | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | TAP_DANCE_ENABLE = yes | 1 | TAP_DANCE_ENABLE = yes |
| 2 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | 2 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend |
| 3 | COMMAND_ENABLE = yes # Commands for debug and configuration | 3 | COMMAND_ENABLE = no # Commands for debug and configuration |
| 4 | RGBLIGHT_ENABLE = yes | 4 | RGBLIGHT_ENABLE = yes |
| 5 | MIDI_ENABLE = no | ||
| 6 | CONSOLE_ENABLE = no | 5 | CONSOLE_ENABLE = no |
| 7 | 6 | ||
| 8 | EXTRAFLAGS = -flto | 7 | EXTRAFLAGS = -flto |
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/config.h b/keyboards/handwired/woodpad/keymaps/drashna/config.h index be1e4df59..780192cf3 100644 --- a/keyboards/handwired/woodpad/keymaps/drashna/config.h +++ b/keyboards/handwired/woodpad/keymaps/drashna/config.h | |||
| @@ -28,13 +28,13 @@ | |||
| 28 | 28 | ||
| 29 | #ifdef RGBLIGHT_ENABLE | 29 | #ifdef RGBLIGHT_ENABLE |
| 30 | #define RGB_DI_PIN D3 | 30 | #define RGB_DI_PIN D3 |
| 31 | #define RGBLED_NUM 7 // Number of LEDs | 31 | #define RGBLED_NUM 14 // Number of LEDs |
| 32 | #define RGBLIGHT_ANIMATIONS | 32 | #define RGBLIGHT_ANIMATIONS |
| 33 | #define RGBLIGHT_HUE_STEP 12 | 33 | #define RGBLIGHT_HUE_STEP 12 |
| 34 | #define RGBLIGHT_SAT_STEP 12 | 34 | #define RGBLIGHT_SAT_STEP 12 |
| 35 | #define RGBLIGHT_VAL_STEP 12 | 35 | #define RGBLIGHT_VAL_STEP 12 |
| 36 | #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 | 36 | #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4 |
| 37 | #define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 | 37 | #define RGBLIGHT_EFFECT_SNAKE_LENGTH 3 |
| 38 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 | 38 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 |
| 39 | #endif // RGBLIGHT_ENABLE | 39 | #endif // RGBLIGHT_ENABLE |
| 40 | 40 | ||
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c index 6ec7f52fd..e53c65f10 100644 --- a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c +++ b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c | |||
| @@ -47,10 +47,10 @@ bool check_dtimer(uint8_t dtimer) { | |||
| 47 | 47 | ||
| 48 | #ifdef TAP_DANCE_ENABLE | 48 | #ifdef TAP_DANCE_ENABLE |
| 49 | enum { | 49 | enum { |
| 50 | TD_DIABLO_1 = 0, | 50 | TD_D3_1 = 0, |
| 51 | TD_DIABLO_2, | 51 | TD_D3_2, |
| 52 | TD_DIABLO_3, | 52 | TD_D3_3, |
| 53 | TD_DIABLO_4 | 53 | TD_D3_4 |
| 54 | }; | 54 | }; |
| 55 | 55 | ||
| 56 | 56 | ||
| @@ -89,10 +89,10 @@ void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { | |||
| 89 | //Tap Dance Definitions | 89 | //Tap Dance Definitions |
| 90 | qk_tap_dance_action_t tap_dance_actions[] = { | 90 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 91 | // tap once to disable, and more to enable timed micros | 91 | // tap once to disable, and more to enable timed micros |
| 92 | [TD_DIABLO_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1), | 92 | [TD_D3_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1), |
| 93 | [TD_DIABLO_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2), | 93 | [TD_D3_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2), |
| 94 | [TD_DIABLO_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3), | 94 | [TD_D3_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3), |
| 95 | [TD_DIABLO_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4), | 95 | [TD_D3_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4), |
| 96 | 96 | ||
| 97 | }; | 97 | }; |
| 98 | #endif | 98 | #endif |
| @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 117 | KC_ESC, _______, _______, _______,\ | 117 | KC_ESC, _______, _______, _______,\ |
| 118 | KC_S, KC_F, KC_I, KC_M, \ | 118 | KC_S, KC_F, KC_I, KC_M, \ |
| 119 | KC_1, KC_2, KC_3, KC_4, \ | 119 | KC_1, KC_2, KC_3, KC_4, \ |
| 120 | TD(TD_DIABLO_1), TD(TD_DIABLO_2), TD(TD_DIABLO_3), TD(TD_DIABLO_4), \ | 120 | TD(TD_D3_1), TD(TD_D3_2), TD(TD_D3_3), TD(TD_D3_4), \ |
| 121 | _______, KC_DIABLO_CLEAR, KC_Q, SFT_T(KC_SPACE) \ | 121 | _______, KC_DIABLO_CLEAR, KC_Q, SFT_T(KC_SPACE) \ |
| 122 | ), | 122 | ), |
| 123 | #else | 123 | #else |
| @@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 135 | KC_OVERWATCH, _______, _______, XXXXXXX,\ | 135 | KC_OVERWATCH, _______, _______, XXXXXXX,\ |
| 136 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 136 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 137 | XXXXXXX, XXXXXXX, XXXXXXX, KC_JUSTGAME, \ | 137 | XXXXXXX, XXXXXXX, XXXXXXX, KC_JUSTGAME, \ |
| 138 | KC_SYMM, KC_DOOMFIST, KC_TORB, KC_GOODGAME, \ | 138 | KC_SYMM, KC_TORB, XXXXXXX, KC_GOODGAME, \ |
| 139 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_GLHF \ | 139 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_GLHF \ |
| 140 | ), | 140 | ), |
| 141 | [_MEDIA] = KEYMAP( /* Base */ | 141 | [_MEDIA] = KEYMAP( /* Base */ |
| @@ -226,7 +226,7 @@ void matrix_init_keymap(void) { | |||
| 226 | 226 | ||
| 227 | void matrix_scan_keymap(void) { | 227 | void matrix_scan_keymap(void) { |
| 228 | numlock_led_off(); | 228 | numlock_led_off(); |
| 229 | if (is_overwatch && biton32(layer_state) == _MACROS) { | 229 | if ((is_overwatch && biton32(layer_state) == _MACROS) || (biton32(layer_state) == _NAV)) { |
| 230 | numlock_led_on(); | 230 | numlock_led_on(); |
| 231 | } | 231 | } |
| 232 | 232 | ||
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk b/keyboards/handwired/woodpad/keymaps/drashna/rules.mk index b6c5ed3bd..bee3ecf50 100644 --- a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk +++ b/keyboards/handwired/woodpad/keymaps/drashna/rules.mk | |||
| @@ -4,6 +4,7 @@ COMMAND_ENABLE = yes # Commands for debug and configuration | |||
| 4 | RGBLIGHT_ENABLE = yes | 4 | RGBLIGHT_ENABLE = yes |
| 5 | MIDI_ENABLE = no | 5 | MIDI_ENABLE = no |
| 6 | CONSOLE_ENABLE = no | 6 | CONSOLE_ENABLE = no |
| 7 | NKRO_ENABLE = yes | ||
| 7 | 8 | ||
| 8 | EXTRAFLAGS = -flto | 9 | EXTRAFLAGS = -flto |
| 9 | 10 | ||
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h index fc483b08e..d88481fd6 100644 --- a/keyboards/orthodox/keymaps/drashna/config.h +++ b/keyboards/orthodox/keymaps/drashna/config.h | |||
| @@ -61,5 +61,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 61 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 | 61 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 |
| 62 | #endif // RGBLIGHT_ENABLE | 62 | #endif // RGBLIGHT_ENABLE |
| 63 | 63 | ||
| 64 | #ifdef AUDIO_ENABLE | ||
| 65 | #define C6_AUDIO | ||
| 66 | #endif | ||
| 64 | 67 | ||
| 65 | #endif | 68 | #endif |
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index b6618f151..ca4e6dc2c 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c | |||
| @@ -20,11 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 20 | */ | 20 | */ |
| 21 | 21 | ||
| 22 | #include "orthodox.h" | 22 | #include "orthodox.h" |
| 23 | #include "action_layer.h" | ||
| 24 | #include "eeconfig.h" | ||
| 25 | #include "drashna.h" | 23 | #include "drashna.h" |
| 26 | 24 | ||
| 27 | extern keymap_config_t keymap_config; | ||
| 28 | 25 | ||
| 29 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 26 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
| 30 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 27 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
| @@ -36,38 +33,6 @@ extern keymap_config_t keymap_config; | |||
| 36 | #define XXXXXXX KC_NO | 33 | #define XXXXXXX KC_NO |
| 37 | 34 | ||
| 38 | 35 | ||
| 39 | #ifdef TAP_DANCE_ENABLE | ||
| 40 | enum { | ||
| 41 | TD_FLSH = 0, | ||
| 42 | }; | ||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | |||
| 47 | |||
| 48 | // on the fourth tap, set the keyboard on flash state | ||
| 49 | // and set the underglow to red, because red == bad | ||
| 50 | void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 51 | if (state->count >= 4) { | ||
| 52 | #ifdef RGBLIGHT_ENABLE | ||
| 53 | rgblight_mode(1); | ||
| 54 | rgblight_setrgb(0xff, 0x00, 0x00); | ||
| 55 | #endif | ||
| 56 | reset_tap_dance(state); | ||
| 57 | reset_keyboard(); | ||
| 58 | } | ||
| 59 | } | ||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | //Tap Dance Definitions | ||
| 64 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 65 | //Once for Blue, Twice for Green, Thrice for Red, and four to flash | ||
| 66 | [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_flsh_finished, NULL), | ||
| 67 | |||
| 68 | }; | ||
| 69 | #endif | ||
| 70 | |||
| 71 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 36 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 72 | 37 | ||
| 73 | [_QWERTY] = KEYMAP(\ | 38 | [_QWERTY] = KEYMAP(\ |
| @@ -106,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 106 | ), | 71 | ), |
| 107 | 72 | ||
| 108 | [_ADJUST] = KEYMAP(\ | 73 | [_ADJUST] = KEYMAP(\ |
| 109 | KC_MAKE, KC_RESET, TD(TD_FLSH), _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 74 | KC_MAKE,KC_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
| 110 | _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \ | 75 | _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, XXXXXXX, _______, _______, XXXXXXX, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \ |
| 111 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \ | 76 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \ |
| 112 | ) | 77 | ) |
| @@ -114,8 +79,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 114 | 79 | ||
| 115 | }; | 80 | }; |
| 116 | 81 | ||
| 117 | 82 | #ifdef FAUXCLICKY_ENABLE | |
| 118 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 83 | float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A4, 0.0625); // (_D4, 0.25); |
| 119 | return true; | 84 | float fauxclicky_released_note[2] = MUSICAL_NOTE(_A4, 0.0625); // (_C4, 0.125); |
| 120 | } | 85 | float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 0.25); // (_C4, 0.25); |
| 121 | 86 | #endif | |
diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk index e6eb954bc..293faf13e 100644 --- a/keyboards/orthodox/keymaps/drashna/rules.mk +++ b/keyboards/orthodox/keymaps/drashna/rules.mk | |||
| @@ -1,11 +1,10 @@ | |||
| 1 | CONSOLE_ENABLE = no | 1 | CONSOLE_ENABLE = no |
| 2 | TAP_DANCE_ENABLE = yes | 2 | TAP_DANCE_ENABLE = no |
| 3 | RGBLIGHT_ENABLE = yes | 3 | RGBLIGHT_ENABLE = yes |
| 4 | AUDIO_ENABLE = no | 4 | AUDIO_ENABLE = no |
| 5 | MOUSEKEY_ENABLE = no | 5 | MOUSEKEY_ENABLE = no |
| 6 | NKRO_ENABLE = yes | 6 | NKRO_ENABLE = yes |
| 7 | FAUXCLICKY_ENABLE = no | 7 | FAUXCLICKY_ENABLE = yes |
| 8 | EXTRAFLAGS = -flto | ||
| 9 | 8 | ||
| 10 | ifndef QUANTUM_DIR | 9 | ifndef QUANTUM_DIR |
| 11 | include ../../../../Makefile | 10 | include ../../../../Makefile |
diff --git a/keyboards/viterbi/keymaps/drashna/keymap.c b/keyboards/viterbi/keymaps/drashna/keymap.c index b33f05027..48a146958 100644 --- a/keyboards/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/viterbi/keymaps/drashna/keymap.c | |||
| @@ -38,10 +38,10 @@ bool check_dtimer(uint8_t dtimer) { | |||
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | enum { | 40 | enum { |
| 41 | TD_DIABLO_1 = 0, | 41 | TD_D3_1 = 0, |
| 42 | TD_DIABLO_2, | 42 | TD_D3_2, |
| 43 | TD_DIABLO_3, | 43 | TD_D3_3, |
| 44 | TD_DIABLO_4 | 44 | TD_D3_4 |
| 45 | }; | 45 | }; |
| 46 | 46 | ||
| 47 | 47 | ||
| @@ -80,10 +80,10 @@ void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { | |||
| 80 | //Tap Dance Definitions | 80 | //Tap Dance Definitions |
| 81 | qk_tap_dance_action_t tap_dance_actions[] = { | 81 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 82 | // tap once to disable, and more to enable timed micros | 82 | // tap once to disable, and more to enable timed micros |
| 83 | [TD_DIABLO_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1), | 83 | [TD_D3_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1), |
| 84 | [TD_DIABLO_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2), | 84 | [TD_D3_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2), |
| 85 | [TD_DIABLO_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3), | 85 | [TD_D3_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3), |
| 86 | [TD_DIABLO_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4), | 86 | [TD_D3_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4), |
| 87 | 87 | ||
| 88 | }; | 88 | }; |
| 89 | #endif | 89 | #endif |
| @@ -92,33 +92,33 @@ qk_tap_dance_action_t tap_dance_actions[] = { | |||
| 92 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 92 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 93 | 93 | ||
| 94 | [_NUMLOCK] = KEYMAP( | 94 | [_NUMLOCK] = KEYMAP( |
| 95 | LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 95 | LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 96 | MEDIA, KC_CALC, COVECUBE,KC_P7, KC_P8, KC_P9, KC_PAST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 96 | MEDIA, KC_CALC, COVECUBE, KC_P7, KC_P8, KC_P9, KC_PAST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 97 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 97 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 98 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 98 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 99 | KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P00, KC_PDOT, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ | 99 | KC_LEFT, KC_DOWN, K C_RGHT, KC_P0, KC_KP_00,KC_PDOT, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ |
| 100 | ), | 100 | ), |
| 101 | 101 | ||
| 102 | [_DIABLO] = KEYMAP( | 102 | [_DIABLO] = KEYMAP( |
| 103 | KC_ESC, DIABLO, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 103 | KC_ESC, DIABLO, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 104 | KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 104 | KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 105 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 105 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 106 | KC_LCTL, TD(TD_DIABLO_1), TD(TD_DIABLO_2), TD(TD_DIABLO_3), TD(TD_DIABLO_4), KC_Z, KC_DIABLO_CLEAR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 106 | KC_LCTL, TD(TD_D3_1), TD(TD_D3_2), TD(TD_D3_3), TD(TD_D3_4), KC_Z, KC_DIABLO_CLEAR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 107 | KC_LALT, KC_F4, KC_F5, KC_F8, KC_F9, KC_F10, SFT_T(KC_SPACE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ | 107 | KC_LALT, KC_F4, KC_F5, KC_F8, KC_F9, KC_F10, SFT_T(KC_SPACE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ |
| 108 | ), | 108 | ), |
| 109 | 109 | ||
| 110 | [_OVERWATCH] = KEYMAP( // Game pad layout designed primarily for Overwatch | 110 | [_OVERWATCH] = KEYMAP( // Game pad layout designed primarily for Overwatch |
| 111 | LMACRO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 111 | LMACRO, KC_ESC, GAMEPAD, KC_1, KC_2, KC_3, KC_4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 112 | MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 112 | MEDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 113 | KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 113 | KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 114 | KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 114 | KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 115 | KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ | 115 | KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ |
| 116 | ), | 116 | ), |
| 117 | 117 | ||
| 118 | [_MACROS] = KEYMAP( | 118 | [_MACROS] = KEYMAP( |
| 119 | LMACRO, XXXXXXX, GAMEPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 119 | LMACRO, XXXXXXX, GAMEPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 120 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 120 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 121 | KC_SYMM, KC_TORB, KC_DOOMFIST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 121 | KC_SYMM, KC_TORB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 122 | KC_GLHF, KC_GOODGAME, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 122 | KC_GLHF, KC_GOODGAME, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 123 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ | 123 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \ |
| 124 | ), | 124 | ), |
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 47565ff9c..30da7414e 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c | |||
| @@ -3,6 +3,10 @@ | |||
| 3 | #include "action.h" | 3 | #include "action.h" |
| 4 | #include "version.h" | 4 | #include "version.h" |
| 5 | 5 | ||
| 6 | // Add reconfigurable functions here, for keymap customization | ||
| 7 | // This allows for a global, userspace functions, and continued | ||
| 8 | // customization of the keymap. Use _keymap instead of _user | ||
| 9 | // functions in the keymaps | ||
| 6 | __attribute__ ((weak)) | 10 | __attribute__ ((weak)) |
| 7 | void matrix_init_keymap(void) {} | 11 | void matrix_init_keymap(void) {} |
| 8 | 12 | ||
| @@ -13,8 +17,15 @@ __attribute__ ((weak)) | |||
| 13 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 17 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { |
| 14 | return true; | 18 | return true; |
| 15 | } | 19 | } |
| 20 | __attribute__ ((weak)) | ||
| 21 | uint32_t layer_state_set_keymap (uint32_t state) { | ||
| 22 | return state; | ||
| 23 | } | ||
| 16 | 24 | ||
| 25 | bool is_overwatch = false; | ||
| 17 | 26 | ||
| 27 | // Call user matrix init, set default RGB colors and then | ||
| 28 | // call the keymap's init function | ||
| 18 | void matrix_init_user(void) { | 29 | void matrix_init_user(void) { |
| 19 | #ifdef RGBLIGHT_ENABLE | 30 | #ifdef RGBLIGHT_ENABLE |
| 20 | uint8_t default_layer = eeconfig_read_default_layer(); | 31 | uint8_t default_layer = eeconfig_read_default_layer(); |
| @@ -44,6 +55,8 @@ void matrix_init_user(void) { | |||
| 44 | matrix_init_keymap(); | 55 | matrix_init_keymap(); |
| 45 | } | 56 | } |
| 46 | 57 | ||
| 58 | // No global matrix scan code, so just run keymap's matix | ||
| 59 | // scan function | ||
| 47 | void matrix_scan_user(void) { | 60 | void matrix_scan_user(void) { |
| 48 | matrix_scan_keymap(); | 61 | matrix_scan_keymap(); |
| 49 | } | 62 | } |
| @@ -61,16 +74,10 @@ void persistent_default_layer_set(uint16_t default_layer) { | |||
| 61 | default_layer_set(default_layer); | 74 | default_layer_set(default_layer); |
| 62 | } | 75 | } |
| 63 | 76 | ||
| 64 | 77 | // Defines actions tor my global custom keycodes. Defined in drashna.h file | |
| 78 | // Then runs the _keymap's recod handier if not processed here | ||
| 65 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 79 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 66 | 80 | ||
| 67 | uint16_t kc; | ||
| 68 | if (is_overwatch) { | ||
| 69 | kc = KC_BSPC; | ||
| 70 | } | ||
| 71 | else { | ||
| 72 | kc = KC_ENTER; | ||
| 73 | } | ||
| 74 | #ifdef CONSOLE_ENABLE | 81 | #ifdef CONSOLE_ENABLE |
| 75 | xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed); | 82 | xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed); |
| 76 | #endif | 83 | #endif |
| @@ -143,6 +150,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 143 | } | 150 | } |
| 144 | return false; | 151 | return false; |
| 145 | break; | 152 | break; |
| 153 | #if !(defined(KEYBOARD_orthodox_rev1) || defined(KEYBOARD_ergodox_ez)) | ||
| 146 | case KC_OVERWATCH: | 154 | case KC_OVERWATCH: |
| 147 | if (record->event.pressed) { | 155 | if (record->event.pressed) { |
| 148 | is_overwatch = !is_overwatch; | 156 | is_overwatch = !is_overwatch; |
| @@ -154,8 +162,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 154 | break; | 162 | break; |
| 155 | case KC_SALT: | 163 | case KC_SALT: |
| 156 | if (!record->event.pressed) { | 164 | if (!record->event.pressed) { |
| 157 | register_code(kc); | 165 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 158 | unregister_code(kc); | 166 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 159 | _delay_ms(50); | 167 | _delay_ms(50); |
| 160 | SEND_STRING("Salt, salt, salt..."); | 168 | SEND_STRING("Salt, salt, salt..."); |
| 161 | register_code(KC_ENTER); | 169 | register_code(KC_ENTER); |
| @@ -165,8 +173,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 165 | break; | 173 | break; |
| 166 | case KC_MORESALT: | 174 | case KC_MORESALT: |
| 167 | if (!record->event.pressed) { | 175 | if (!record->event.pressed) { |
| 168 | register_code(kc); | 176 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 169 | unregister_code(kc); | 177 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 170 | _delay_ms(50); | 178 | _delay_ms(50); |
| 171 | SEND_STRING("Please sir, can I have some more salt?!"); | 179 | SEND_STRING("Please sir, can I have some more salt?!"); |
| 172 | register_code(KC_ENTER); | 180 | register_code(KC_ENTER); |
| @@ -176,10 +184,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 176 | break; | 184 | break; |
| 177 | case KC_SALTHARD: | 185 | case KC_SALTHARD: |
| 178 | if (!record->event.pressed) { | 186 | if (!record->event.pressed) { |
| 179 | register_code(kc); | 187 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 180 | unregister_code(kc); | 188 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 181 | _delay_ms(50); | 189 | _delay_ms(50); |
| 182 | SEND_STRING("Your salt only makes my penis that much harder, and even more aggressive!"); | 190 | SEND_STRING("Your salt only makes me harder, and even more aggressive!"); |
| 183 | register_code(KC_ENTER); | 191 | register_code(KC_ENTER); |
| 184 | unregister_code(KC_ENTER); | 192 | unregister_code(KC_ENTER); |
| 185 | } | 193 | } |
| @@ -187,8 +195,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 187 | break; | 195 | break; |
| 188 | case KC_GOODGAME: | 196 | case KC_GOODGAME: |
| 189 | if (!record->event.pressed) { | 197 | if (!record->event.pressed) { |
| 190 | register_code(kc); | 198 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 191 | unregister_code(kc); | 199 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 192 | _delay_ms(50); | 200 | _delay_ms(50); |
| 193 | SEND_STRING("Good game, everyone!"); | 201 | SEND_STRING("Good game, everyone!"); |
| 194 | register_code(KC_ENTER); | 202 | register_code(KC_ENTER); |
| @@ -198,8 +206,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 198 | break; | 206 | break; |
| 199 | case KC_GLHF: | 207 | case KC_GLHF: |
| 200 | if (!record->event.pressed) { | 208 | if (!record->event.pressed) { |
| 201 | register_code(kc); | 209 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 202 | unregister_code(kc); | 210 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 203 | _delay_ms(50); | 211 | _delay_ms(50); |
| 204 | SEND_STRING("Good luck, have fun!!!"); | 212 | SEND_STRING("Good luck, have fun!!!"); |
| 205 | register_code(KC_ENTER); | 213 | register_code(KC_ENTER); |
| @@ -209,8 +217,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 209 | break; | 217 | break; |
| 210 | case KC_SYMM: | 218 | case KC_SYMM: |
| 211 | if (!record->event.pressed) { | 219 | if (!record->event.pressed) { |
| 212 | register_code(kc); | 220 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 213 | unregister_code(kc); | 221 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 214 | _delay_ms(50); | 222 | _delay_ms(50); |
| 215 | SEND_STRING("Left click to win!"); | 223 | SEND_STRING("Left click to win!"); |
| 216 | register_code(KC_ENTER); | 224 | register_code(KC_ENTER); |
| @@ -218,21 +226,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 218 | } | 226 | } |
| 219 | return false; | 227 | return false; |
| 220 | break; | 228 | break; |
| 221 | case KC_DOOMFIST: | ||
| 222 | if (!record->event.pressed) { | ||
| 223 | register_code(kc); | ||
| 224 | unregister_code(kc); | ||
| 225 | _delay_ms(50); | ||
| 226 | SEND_STRING("Hey, look at me. I'm Doomfist, and I'm overpowered! All I do is spam punches all day! I'm DPS, tank and defense, rolled into one! All I need is team healing to be complete!"); | ||
| 227 | register_code(KC_ENTER); | ||
| 228 | unregister_code(KC_ENTER); | ||
| 229 | } | ||
| 230 | return false; | ||
| 231 | break; | ||
| 232 | case KC_JUSTGAME: | 229 | case KC_JUSTGAME: |
| 233 | if (!record->event.pressed) { | 230 | if (!record->event.pressed) { |
| 234 | register_code(kc); | 231 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 235 | unregister_code(kc); | 232 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 236 | _delay_ms(50); | 233 | _delay_ms(50); |
| 237 | SEND_STRING("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games."); | 234 | SEND_STRING("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games."); |
| 238 | register_code(KC_ENTER); | 235 | register_code(KC_ENTER); |
| @@ -242,8 +239,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 242 | break; | 239 | break; |
| 243 | case KC_TORB: | 240 | case KC_TORB: |
| 244 | if (!record->event.pressed) { | 241 | if (!record->event.pressed) { |
| 245 | register_code(kc); | 242 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 246 | unregister_code(kc); | 243 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 247 | _delay_ms(50); | 244 | _delay_ms(50); |
| 248 | SEND_STRING("That was positively riveting!"); | 245 | SEND_STRING("That was positively riveting!"); |
| 249 | register_code(KC_ENTER); | 246 | register_code(KC_ENTER); |
| @@ -253,8 +250,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 253 | break; | 250 | break; |
| 254 | case KC_AIM: | 251 | case KC_AIM: |
| 255 | if (!record->event.pressed) { | 252 | if (!record->event.pressed) { |
| 256 | register_code(kc); | 253 | register_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 257 | unregister_code(kc); | 254 | unregister_code(is_overwatch ? KC_BSPC : KC_ENTER); |
| 258 | _delay_ms(50); | 255 | _delay_ms(50); |
| 259 | SEND_STRING("That aim is absolutely amazing. It's almost like you're a machine!" SS_TAP(X_ENTER)); | 256 | SEND_STRING("That aim is absolutely amazing. It's almost like you're a machine!" SS_TAP(X_ENTER)); |
| 260 | _delay_ms(50); | 257 | _delay_ms(50); |
| @@ -262,13 +259,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 262 | } | 259 | } |
| 263 | return false; | 260 | return false; |
| 264 | break; | 261 | break; |
| 262 | #endif | ||
| 265 | case KC_MAKE: | 263 | case KC_MAKE: |
| 266 | if (!record->event.pressed) { | 264 | if (!record->event.pressed) { |
| 265 | SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP); | ||
| 266 | #ifndef CATERINA_BOOTLOADER | ||
| 267 | SEND_STRING(":teensy "); | ||
| 268 | #else | ||
| 269 | SEND_STRING(" "); | ||
| 270 | #endif | ||
| 267 | #ifdef RGBLIGHT_ENABLE | 271 | #ifdef RGBLIGHT_ENABLE |
| 268 | SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=yes" SS_TAP(X_ENTER)); | 272 | SEND_STRING("RGBLIGHT_ENABLE=yes "); |
| 273 | #else | ||
| 274 | SEND_STRING("RGBLIGHT_ENABLE=no "); | ||
| 275 | #endif | ||
| 276 | #ifdef AUDIO_ENABLE | ||
| 277 | SEND_STRING("AUDIO_ENABLE=yes "); | ||
| 278 | #else | ||
| 279 | SEND_STRING("AUDIO_ENABLE=no "); | ||
| 280 | #endif | ||
| 281 | #ifdef FAUXCLICKY_ENABLE | ||
| 282 | SEND_STRING("FAUXCLICKY_ENABLE=yes "); | ||
| 269 | #else | 283 | #else |
| 270 | SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP " RGBLIGHT_ENABLE=no"SS_TAP(X_ENTER)); | 284 | SEND_STRING("FAUXCLICKY_ENABLE=no "); |
| 271 | #endif | 285 | #endif |
| 286 | SEND_STRING(SS_TAP(X_ENTER)); | ||
| 272 | } | 287 | } |
| 273 | return false; | 288 | return false; |
| 274 | break; | 289 | break; |
| @@ -295,21 +310,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 295 | } | 310 | } |
| 296 | return false; | 311 | return false; |
| 297 | break; | 312 | break; |
| 298 | case KC_P00: | ||
| 299 | if (!record->event.pressed) { | ||
| 300 | register_code(KC_P0); | ||
| 301 | unregister_code(KC_P0); | ||
| 302 | register_code(KC_P0); | ||
| 303 | unregister_code(KC_P0); | ||
| 304 | } | ||
| 305 | return false; | ||
| 306 | break; | ||
| 307 | } | 313 | } |
| 308 | return process_record_keymap(keycode, record); | 314 | return process_record_keymap(keycode, record); |
| 309 | } | 315 | } |
| 310 | 316 | ||
| 311 | 317 | // Runs state check and changes underglow color and animation | |
| 312 | uint32_t layer_state_set_kb(uint32_t state) { | 318 | // on layer change, no matter where the change was initiated |
| 319 | // Then runs keymap's layer change check | ||
| 320 | uint32_t layer_state_set_user (uint32_t state) { | ||
| 313 | #ifdef RGBLIGHT_ENABLE | 321 | #ifdef RGBLIGHT_ENABLE |
| 314 | uint8_t default_layer = eeconfig_read_default_layer(); | 322 | uint8_t default_layer = eeconfig_read_default_layer(); |
| 315 | 323 | ||
| @@ -329,7 +337,6 @@ uint32_t layer_state_set_kb(uint32_t state) { | |||
| 329 | case _MACROS: | 337 | case _MACROS: |
| 330 | rgblight_set_orange; | 338 | rgblight_set_orange; |
| 331 | is_overwatch ? rgblight_mode(17) : rgblight_mode(18); | 339 | is_overwatch ? rgblight_mode(17) : rgblight_mode(18); |
| 332 | rgblight_mode(18); | ||
| 333 | break; | 340 | break; |
| 334 | case _MEDIA: | 341 | case _MEDIA: |
| 335 | rgblight_set_green; | 342 | rgblight_set_green; |
| @@ -375,5 +382,5 @@ uint32_t layer_state_set_kb(uint32_t state) { | |||
| 375 | break; | 382 | break; |
| 376 | } | 383 | } |
| 377 | #endif | 384 | #endif |
| 378 | return state; | 385 | return layer_state_set_keymap (state); |
| 379 | } | 386 | } |
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 0e7b25d2d..6e897ad99 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h | |||
| @@ -38,8 +38,7 @@ | |||
| 38 | #define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF); | 38 | #define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF); |
| 39 | #endif | 39 | #endif |
| 40 | 40 | ||
| 41 | __attribute__ ((weak)) | 41 | extern bool is_overwatch; |
| 42 | bool is_overwatch = false; | ||
| 43 | 42 | ||
| 44 | enum custom_keycodes { | 43 | enum custom_keycodes { |
| 45 | PLACEHOLDER = SAFE_RANGE, // can always be here | 44 | PLACEHOLDER = SAFE_RANGE, // can always be here |
| @@ -59,15 +58,13 @@ enum custom_keycodes { | |||
| 59 | KC_SALTHARD, | 58 | KC_SALTHARD, |
| 60 | KC_GOODGAME, | 59 | KC_GOODGAME, |
| 61 | KC_SYMM, | 60 | KC_SYMM, |
| 62 | KC_DOOMFIST, | ||
| 63 | KC_JUSTGAME, | 61 | KC_JUSTGAME, |
| 64 | KC_GLHF, | 62 | KC_GLHF, |
| 65 | KC_TORB, | 63 | KC_TORB, |
| 66 | KC_AIM, | 64 | KC_AIM, |
| 67 | KC_MAKE, | 65 | KC_MAKE, |
| 68 | KC_RESET, | 66 | KC_RESET, |
| 69 | KC_P00, | 67 | NEWPLACEHOLDER //use "NEWPLACEHOLDER for keymap specific codes |
| 70 | NEWPLACEHOLDER | ||
| 71 | }; | 68 | }; |
| 72 | 69 | ||
| 73 | #endif | 70 | #endif |
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index 0150bb608..6ce1ff5ba 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk | |||
| @@ -1,2 +1,3 @@ | |||
| 1 | 1 | ||
| 2 | SRC += drashna.c | 2 | SRC += drashna.c |
| 3 | EXTRAFLAGS = -flto | ||
diff --git a/users/drashna/template.c b/users/drashna/template.c new file mode 100644 index 000000000..027c780e9 --- /dev/null +++ b/users/drashna/template.c | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | #include "drashna.h" | ||
| 2 | #include "quantum.h" | ||
| 3 | #include "action.h" | ||
| 4 | #include "version.h" | ||
| 5 | |||
| 6 | // Add reconfigurable functions here, for keymap customization | ||
| 7 | // This allows for a global, userspace functions, and continued | ||
| 8 | // customization of the keymap. Use _keymap instead of _user | ||
| 9 | // functions in the keymaps | ||
| 10 | __attribute__ ((weak)) | ||
| 11 | void matrix_init_keymap(void) {} | ||
| 12 | |||
| 13 | __attribute__ ((weak)) | ||
| 14 | void matrix_scan_keymap(void) {} | ||
| 15 | |||
| 16 | __attribute__ ((weak)) | ||
| 17 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | ||
| 18 | return true; | ||
| 19 | } | ||
| 20 | __attribute__ ((weak)) | ||
| 21 | uint32_t layer_state_set_keymap (uint32_t state) { | ||
| 22 | return state; | ||
| 23 | } | ||
| 24 | |||
| 25 | // Call user matrix init, then call the keymap's init function | ||
| 26 | void matrix_init_user(void) { | ||
| 27 | matrix_init_keymap(); | ||
| 28 | } | ||
| 29 | |||
| 30 | // No global matrix scan code, so just run keymap's matix | ||
| 31 | // scan function | ||
| 32 | void matrix_scan_user(void) { | ||
| 33 | matrix_scan_keymap(); | ||
| 34 | } | ||
| 35 | |||
| 36 | |||
| 37 | // Defines actions tor my global custom keycodes. Defined in drashna.h file | ||
| 38 | // Then runs the _keymap's recod handier if not processed here, | ||
| 39 | // And use "NEWPLACEHOLDER" for new safe range | ||
| 40 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 41 | |||
| 42 | switch (keycode) { | ||
| 43 | case KC_MAKE: | ||
| 44 | if (!record->event.pressed) { | ||
| 45 | SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP); | ||
| 46 | #ifndef CATERINA_BOOTLOADER | ||
| 47 | SEND_STRING(":teensy "); | ||
| 48 | #else | ||
| 49 | SEND_STRING(" "); | ||
| 50 | #endif | ||
| 51 | SEND_STRING(SS_TAP(X_ENTER)); | ||
| 52 | } | ||
| 53 | return false; | ||
| 54 | break; | ||
| 55 | case KC_RESET: | ||
| 56 | if (!record->event.pressed) { | ||
| 57 | reset_keyboard(); | ||
| 58 | } | ||
| 59 | return false; | ||
| 60 | break; | ||
| 61 | case EPRM: | ||
| 62 | if (record->event.pressed) { | ||
| 63 | eeconfig_init(); | ||
| 64 | } | ||
| 65 | return false; | ||
| 66 | break; | ||
| 67 | case VRSN: | ||
| 68 | if (record->event.pressed) { | ||
| 69 | SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 70 | } | ||
| 71 | return false; | ||
| 72 | break; | ||
| 73 | } | ||
| 74 | return process_record_keymap(keycode, record); | ||
| 75 | } | ||
| 76 | |||
| 77 | // Runs state check and changes underglow color and animation | ||
| 78 | // on layer change, no matter where the change was initiated | ||
| 79 | // Then runs keymap's layer change check | ||
| 80 | uint32_t layer_state_set_user (uint32_t state) { | ||
| 81 | return layer_state_set_keymap (state); | ||
| 82 | } | ||
diff --git a/users/drashna/template.h b/users/drashna/template.h new file mode 100644 index 000000000..d1251462b --- /dev/null +++ b/users/drashna/template.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #ifndef USERSPACE | ||
| 2 | #define USERSPACE | ||
| 3 | |||
| 4 | #include "quantum.h" | ||
| 5 | |||
| 6 | // Define layer names | ||
| 7 | #define BASE 0 | ||
| 8 | |||
| 9 | enum custom_keycodes { | ||
| 10 | PLACEHOLDER = SAFE_RANGE, // can always be here | ||
| 11 | EPRM, | ||
| 12 | VRSN, | ||
| 13 | KC_MAKE, | ||
| 14 | KC_RESET, | ||
| 15 | NEWPLACEHOLDER //use "NEWPLACEHOLDER for keymap specific codes | ||
| 16 | }; | ||
| 17 | |||
| 18 | #endif | ||
