diff options
Diffstat (limited to 'users/drashna/drashna.c')
-rw-r--r-- | users/drashna/drashna.c | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 2ac0257b5..a07d74407 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -30,6 +30,15 @@ PROGMEM const char secret[][64] = { }; #endif +#ifdef FAUXCLICKY_ENABLE +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A6, 2); // (_D4, 0.25); +float fauxclicky_released_note[2] = MUSICAL_NOTE(_A6, 2); // (_C4, 0.125); +#else +float fauxclicky_pressed[][2] = SONG(E__NOTE(_A6)); // change to your tastes +float fauxclicky_released[][2] = SONG(E__NOTE(_A6)); // change to your tastes +#endif +bool faux_click_enabled = true; + #ifdef TAP_DANCE_ENABLE //define diablo macro timer variables static uint16_t diablo_timer[4]; @@ -222,11 +231,22 @@ void persistent_default_layer_set(uint16_t default_layer) { // Defines actions tor my global custom keycodes. Defined in drashna.h file // Then runs the _keymap's recod handier if not processed here bool process_record_user(uint16_t keycode, keyrecord_t *record) { - + #ifdef CONSOLE_ENABLE xprintf("KL: row: %u, column: %u, pressed: %u\n", record->event.key.col, record->event.key.row, record->event.pressed); #endif +#ifdef AUDIO_ENABLE + if (faux_click_enabled) { + if (record->event.pressed) { + PLAY_SONG(fauxclicky_pressed); + } else { + stop_note(NOTE_A6); + PLAY_SONG(fauxclicky_released); + } + } +#endif + switch (keycode) { case KC_QWERTY: if (record->event.pressed) { @@ -295,7 +315,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; -#if !(defined(KEYBOARD_orthodox_rev1) || defined(KEYBOARD_ergodox_ez)) +#if !(defined(KEYBOARD_orthodox_rev1) || defined(KEYBOARD_orthodox_rev3) || defined(KEYBOARD_ergodox_ez)) case KC_OVERWATCH: if (record->event.pressed) { is_overwatch = !is_overwatch; @@ -461,11 +481,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #else " AUDIO_ENABLE=no" #endif -#ifdef FAUXCLICKY_ENABLE - " FAUXCLICKY_ENABLE=yes" -#else - " FAUXCLICKY_ENABLE=no" -#endif SS_TAP(X_ENTER)); } return false; @@ -499,6 +514,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case KC_FXCL: + if (!record->event.pressed) { + faux_click_enabled = !faux_click_enabled; + } + return false; + break; case KC_RGB_T: // Because I want the option to go back to normal RGB mode rather than always layer indication #ifdef RGBLIGHT_ENABLE if (record->event.pressed) { |