]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add On/Off keycodes
authorDrashna Jaelre <drashna@live.com>
Fri, 1 Jun 2018 20:29:52 +0000 (13:29 -0700)
committerskullydazed <skullydazed@users.noreply.github.com>
Tue, 25 Sep 2018 20:28:36 +0000 (13:28 -0700)
docs/feature_audio.md
quantum/process_keycode/process_clicky.c
quantum/process_keycode/process_clicky.h
quantum/quantum_keycodes.h

index fe210c09b95cfcf1a97c34f05e052ab47572383f..82e0ed9503dcf2f37e4f611cc5d1857529286060 100644 (file)
@@ -119,14 +119,16 @@ You can completely disable Music Mode as well. This is useful, if you're pressed
 
     #define NO_MUSIC_MODE
 
-## Faux Click
+## Audio Click
 
 This adds a click sound each time you hit a button, to simulate click sounds from the keyboard. And the sounds are slightly different for each keypress, so it doesn't sound like a single long note, if you type rapidly. 
 
 * `CK_TOGG` - Toggles the status (will play sound if enabled)
-* `CK_RST` - Resets the frequency to the default state 
-* `CK_UP` - Increases the frequency of the clicks
-* `CK_DOWN` - Decreases the frequency of the clicks
+* `CK_ON` - Turns on Audio Click (plays sound)
+* `CK_OFF` - Turns off Audio Click (doesn't play sound)
+* `CK_RST` - Resets the frequency to the default state (plays sound at default frequency)
+* `CK_UP` - Increases the frequency of the clicks (plays sound at new frequency)
+* `CK_DOWN` - Decreases the frequency of the clicks (plays sound at new frequency)
 
 
 The feature is disabled by default, to save space.  To enable it, add this to your `config.h`:
@@ -142,7 +144,7 @@ You can configure the default, min and max frequencies, the stepping and built i
 | `AUDIO_CLICKY_FREQ_MIN` | 65.0f | Sets the lowest frequency (under 60f are a bit buggy). |
 | `AUDIO_CLICKY_FREQ_MAX` | 1500.0f | Sets the the highest frequency. Too high may result in coworkers attacking you. |
 | `AUDIO_CLICKY_FREQ_FACTOR` | 1.18921f| Sets the stepping of UP/DOWN key codes. |
-| `AUDIO_CLICKY_FREQ_RANDOMNESS`     |  0.05f |  Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical. | 
+| `AUDIO_CLICKY_FREQ_RANDOMNESS`     |  0.05f |  Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical, and `1.0f` will make this sound much like the 90's computer screen scrolling/typing effect. | 
 
 
 
index b3c8d890e205ff3a3ff6216ffafff0f9866c41ca..36578047adbb9421d705705bae2cd82151272e0a 100644 (file)
@@ -56,17 +56,17 @@ void clicky_freq_reset(void) {
   clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT;
 }
 
-void clicky_freq_toggle(void) {
+void clicky_toggle(void) {
   audio_config.clicky_enable ^= 1;
   eeconfig_update_audio(audio_config.raw);
 }
 
-void clicky_freq_on(void) {
+void clicky_on(void) {
   audio_config.clicky_enable = 1;
   eeconfig_update_audio(audio_config.raw);
 }
 
-void clicky_freq_off(void) {
+void clicky_off(void) {
   audio_config.clicky_enable = 0;
   eeconfig_update_audio(audio_config.raw);
 }
@@ -76,7 +76,10 @@ bool is_clicky_on(void) {
 }
 
 bool process_clicky(uint16_t keycode, keyrecord_t *record) {
-    if (keycode == CLICKY_TOGGLE && record->event.pressed) { clicky_freq_toggle(); }
+    if (keycode == CLICKY_TOGGLE && record->event.pressed) { clicky_toggle(); }
+
+    if (keycode == CLICKY_ENABLE && record->event.pressed) { clicky_on(); }
+    if (keycode == CLICKY_DISABLE && record->event.pressed) { clicky_off(); }
 
     if (keycode == CLICKY_RESET && record->event.pressed) { clicky_freq_reset(); }
 
index 6ee3cc5d9f8bb04b201133f0c82a66bfbf2f0979..f746edb95193ad33d1f41c47632a3f72ba1a24af 100644 (file)
@@ -7,9 +7,10 @@ bool process_clicky(uint16_t keycode, keyrecord_t *record);
 void clicky_freq_up(void);
 void clicky_freq_down(void);
 void clicky_freq_reset(void);
-void clicky_freq_toggle(void);
-void clicky_freq_on(void);
-void clicky_freq_off(void);
+
+void clicky_toggle(void);
+void clicky_on(void);
+void clicky_off(void);
 
 bool is_clicky_on(void);
 
index 050d2d275d2e18429aa2d00e1a46716030e0f72c..e983798f2ba638212bdcb0cd42001873b7868f7d 100644 (file)
@@ -139,10 +139,13 @@ enum quantum_keycodes {
 
     // Faux clicky as part of main audio feature
     CLICKY_TOGGLE,
+    CLICKY_ENABLE,
+    CLICKY_DISABLE,
     CLICKY_UP,
     CLICKY_DOWN,
     CLICKY_RESET,
 
+
 #ifdef FAUXCLICKY_ENABLE
     // Faux clicky
     FC_ON,
@@ -571,6 +574,8 @@ enum quantum_keycodes {
 #define CK_RST CLICKY_RESET
 #define CK_UP CLICKY_UP
 #define CK_DOWN CLICKY_DOWN
+#define CK_ON CLICKY_ENABLE
+#define CK_OFF CLICKY_DISABLE
 
 #define RGB_MOD RGB_MODE_FORWARD
 #define RGB_SMOD RGB_MODE_FORWARD