Make the keyboard beep when Audio is enabled and `\a` is encountered in a sendstring

master
fauxpark 2019-12-25 19:17:02 +11:00 committed by Drashna Jaelre
parent 46e2b6e43d
commit e5501d4815
1 changed files with 10 additions and 0 deletions

View File

@ -57,6 +57,9 @@ float goodbye_song[][2] = GOODBYE_SONG;
# ifdef DEFAULT_LAYER_SONGS # ifdef DEFAULT_LAYER_SONGS
float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS;
# endif # endif
# ifdef SENDSTRING_BELL
float bell_song[][2] = SONG(TERMINAL_SOUND);
# endif
#endif #endif
static void do_code16(uint16_t code, void (*f)(uint8_t)) { static void do_code16(uint16_t code, void (*f)(uint8_t)) {
@ -470,6 +473,13 @@ void send_string_with_delay_P(const char *str, uint8_t interval) {
} }
void send_char(char ascii_code) { void send_char(char ascii_code) {
#if defined(AUDIO_ENABLE) && defined(SENDSTRING_BELL)
if (ascii_code == '\a') { // BEL
PLAY_SONG(bell_song);
return;
}
#endif
uint8_t keycode = pgm_read_byte(&ascii_to_keycode_lut[(uint8_t)ascii_code]); uint8_t keycode = pgm_read_byte(&ascii_to_keycode_lut[(uint8_t)ascii_code]);
bool is_shifted = pgm_read_byte(&ascii_to_shift_lut[(uint8_t)ascii_code]); bool is_shifted = pgm_read_byte(&ascii_to_shift_lut[(uint8_t)ascii_code]);
bool is_altgred = pgm_read_byte(&ascii_to_altgr_lut[(uint8_t)ascii_code]); bool is_altgred = pgm_read_byte(&ascii_to_altgr_lut[(uint8_t)ascii_code]);