aboutsummaryrefslogtreecommitdiffstats
path: root/users/drashna/drashna.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/drashna/drashna.c')
-rw-r--r--users/drashna/drashna.c35
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) {