diff options
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r-- | quantum/process_keycode/process_clicky.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c index 8238c263f..34c3f620b 100644 --- a/quantum/process_keycode/process_clicky.c +++ b/quantum/process_keycode/process_clicky.c | |||
@@ -32,7 +32,7 @@ extern bool midi_activated; | |||
32 | 32 | ||
33 | void clicky_play(void) { | 33 | void clicky_play(void) { |
34 | #ifndef NO_MUSIC_MODE | 34 | #ifndef NO_MUSIC_MODE |
35 | if (music_activated || midi_activated) return; | 35 | if (music_activated || midi_activated || audio_config.enable) return; |
36 | #endif // !NO_MUSIC_MODE | 36 | #endif // !NO_MUSIC_MODE |
37 | clicky_song[0][0] = 2.0f * clicky_freq * (1.0f + clicky_rand * ( ((float)rand()) / ((float)(RAND_MAX)) ) ); | 37 | clicky_song[0][0] = 2.0f * clicky_freq * (1.0f + clicky_rand * ( ((float)rand()) / ((float)(RAND_MAX)) ) ); |
38 | clicky_song[1][0] = clicky_freq * (1.0f + clicky_rand * ( ((float)rand()) / ((float)(RAND_MAX)) ) ); | 38 | clicky_song[1][0] = clicky_freq * (1.0f + clicky_rand * ( ((float)rand()) / ((float)(RAND_MAX)) ) ); |
@@ -73,27 +73,29 @@ void clicky_off(void) { | |||
73 | } | 73 | } |
74 | 74 | ||
75 | bool is_clicky_on(void) { | 75 | bool is_clicky_on(void) { |
76 | return (audio_config.clicky_enable != 0); | 76 | return (audio_config.clicky_enable != 0); |
77 | } | 77 | } |
78 | 78 | ||
79 | bool process_clicky(uint16_t keycode, keyrecord_t *record) { | 79 | bool process_clicky(uint16_t keycode, keyrecord_t *record) { |
80 | if (keycode == CLICKY_TOGGLE && record->event.pressed) { clicky_toggle(); } | 80 | if (keycode == CLICKY_TOGGLE && record->event.pressed) { clicky_toggle(); } |
81 | 81 | ||
82 | if (keycode == CLICKY_ENABLE && record->event.pressed) { clicky_on(); } | 82 | if (keycode == CLICKY_ENABLE && record->event.pressed) { clicky_on(); } |
83 | if (keycode == CLICKY_DISABLE && record->event.pressed) { clicky_off(); } | 83 | if (keycode == CLICKY_DISABLE && record->event.pressed) { clicky_off(); } |
84 | 84 | ||
85 | if (keycode == CLICKY_RESET && record->event.pressed) { clicky_freq_reset(); } | 85 | if (keycode == CLICKY_RESET && record->event.pressed) { clicky_freq_reset(); } |
86 | 86 | ||
87 | if (keycode == CLICKY_UP && record->event.pressed) { clicky_freq_up(); } | 87 | if (keycode == CLICKY_UP && record->event.pressed) { clicky_freq_up(); } |
88 | if (keycode == CLICKY_DOWN && record->event.pressed) { clicky_freq_down(); } | 88 | if (keycode == CLICKY_DOWN && record->event.pressed) { clicky_freq_down(); } |
89 | 89 | ||
90 | 90 | ||
91 | if ( audio_config.clicky_enable ) { | 91 | if (audio_config.enable && audio_config.clicky_enable) { |
92 | if (record->event.pressed) { | 92 | if (record->event.pressed) { // Leave this separate so it's easier to add upstroke sound |
93 | clicky_play();; | 93 | if (keycode != AU_OFF && keycode != AU_TOG) { // DO NOT PLAY if audio will be disabled, and causes issuse on ARM |
94 | clicky_play(); | ||
94 | } | 95 | } |
95 | } | 96 | } |
96 | return true; | 97 | } |
98 | return true; | ||
97 | } | 99 | } |
98 | 100 | ||
99 | #endif //AUDIO_CLICKY | 101 | #endif //AUDIO_CLICKY |