Add On/Off keycodes

This commit is contained in:
Drashna Jaelre 2018-06-01 13:29:52 -07:00 committed by skullydazed
parent cfb1b353ee
commit a0309db983
4 changed files with 23 additions and 12 deletions

View File

@ -119,14 +119,16 @@ You can completely disable Music Mode as well. This is useful, if you're pressed
#define NO_MUSIC_MODE #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. 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_TOGG` - Toggles the status (will play sound if enabled)
* `CK_RST` - Resets the frequency to the default state * `CK_ON` - Turns on Audio Click (plays sound)
* `CK_UP` - Increases the frequency of the clicks * `CK_OFF` - Turns off Audio Click (doesn't play sound)
* `CK_DOWN` - Decreases the frequency of the clicks * `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`: 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_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_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_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. |

View File

@ -56,17 +56,17 @@ void clicky_freq_reset(void) {
clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT; clicky_freq = AUDIO_CLICKY_FREQ_DEFAULT;
} }
void clicky_freq_toggle(void) { void clicky_toggle(void) {
audio_config.clicky_enable ^= 1; audio_config.clicky_enable ^= 1;
eeconfig_update_audio(audio_config.raw); eeconfig_update_audio(audio_config.raw);
} }
void clicky_freq_on(void) { void clicky_on(void) {
audio_config.clicky_enable = 1; audio_config.clicky_enable = 1;
eeconfig_update_audio(audio_config.raw); eeconfig_update_audio(audio_config.raw);
} }
void clicky_freq_off(void) { void clicky_off(void) {
audio_config.clicky_enable = 0; audio_config.clicky_enable = 0;
eeconfig_update_audio(audio_config.raw); eeconfig_update_audio(audio_config.raw);
} }
@ -76,7 +76,10 @@ bool is_clicky_on(void) {
} }
bool process_clicky(uint16_t keycode, keyrecord_t *record) { 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(); } if (keycode == CLICKY_RESET && record->event.pressed) { clicky_freq_reset(); }

View File

@ -7,9 +7,10 @@ bool process_clicky(uint16_t keycode, keyrecord_t *record);
void clicky_freq_up(void); void clicky_freq_up(void);
void clicky_freq_down(void); void clicky_freq_down(void);
void clicky_freq_reset(void); void clicky_freq_reset(void);
void clicky_freq_toggle(void);
void clicky_freq_on(void); void clicky_toggle(void);
void clicky_freq_off(void); void clicky_on(void);
void clicky_off(void);
bool is_clicky_on(void); bool is_clicky_on(void);

View File

@ -139,10 +139,13 @@ enum quantum_keycodes {
// Faux clicky as part of main audio feature // Faux clicky as part of main audio feature
CLICKY_TOGGLE, CLICKY_TOGGLE,
CLICKY_ENABLE,
CLICKY_DISABLE,
CLICKY_UP, CLICKY_UP,
CLICKY_DOWN, CLICKY_DOWN,
CLICKY_RESET, CLICKY_RESET,
#ifdef FAUXCLICKY_ENABLE #ifdef FAUXCLICKY_ENABLE
// Faux clicky // Faux clicky
FC_ON, FC_ON,
@ -571,6 +574,8 @@ enum quantum_keycodes {
#define CK_RST CLICKY_RESET #define CK_RST CLICKY_RESET
#define CK_UP CLICKY_UP #define CK_UP CLICKY_UP
#define CK_DOWN CLICKY_DOWN #define CK_DOWN CLICKY_DOWN
#define CK_ON CLICKY_ENABLE
#define CK_OFF CLICKY_DISABLE
#define RGB_MOD RGB_MODE_FORWARD #define RGB_MOD RGB_MODE_FORWARD
#define RGB_SMOD RGB_MODE_FORWARD #define RGB_SMOD RGB_MODE_FORWARD