diff options
author | Drashna Jaelre <drashna@live.com> | 2018-01-17 11:28:23 -0800 |
---|---|---|
committer | skullydazed <skullydazed@users.noreply.github.com> | 2018-01-17 11:28:23 -0800 |
commit | ccaacde4d663f50b04fcd67d1477db7e0bd46091 (patch) | |
tree | 4f5a90b6fd5100e30da28c7dc6265e3516338f57 /users/drashna/drashna.c | |
parent | 5836d1a06a7265781fa37acf13e3ba9df7224247 (diff) | |
download | qmk_firmware-ccaacde4d663f50b04fcd67d1477db7e0bd46091.tar.gz |
Update to drashna keymaps (#2281)
* Move faux clicky into userspace
* Get Audio and RGB enabled on Orthodox-rev1
* Add faux click to userspace
* Add Orthodox Rev3 check to macros
* Hack Orthodox Name for drashna keymap
* No more One Shots
* Ergodox product name hack
* Enable Audio on Orthodox by default
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) { |