]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - users/drashna/drashna.c
Cu24 keyboard addition (#2330)
[qmk_firmware.git] / users / drashna / drashna.c
index 2ac0257b5c9aa932cf87d2efb54057f311bc7de7..a07d744077c811e9f3047e68fb7ba767e8fdf349 100644 (file)
@@ -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;
@@ -460,11 +480,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         " AUDIO_ENABLE=yes"
 #else
         " AUDIO_ENABLE=no"
-#endif
-#ifdef FAUXCLICKY_ENABLE
-        " FAUXCLICKY_ENABLE=yes"
-#else
-        " FAUXCLICKY_ENABLE=no" 
 #endif
         SS_TAP(X_ENTER));
     }
@@ -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) {