diff options
Diffstat (limited to 'quantum/quantum.c')
| -rw-r--r-- | quantum/quantum.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 0243a7e01..aac1d07a9 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c | |||
| @@ -40,13 +40,12 @@ extern backlight_config_t backlight_config; | |||
| 40 | #ifndef AG_SWAP_SONG | 40 | #ifndef AG_SWAP_SONG |
| 41 | #define AG_SWAP_SONG SONG(AG_SWAP_SOUND) | 41 | #define AG_SWAP_SONG SONG(AG_SWAP_SOUND) |
| 42 | #endif | 42 | #endif |
| 43 | #ifndef DEFAULT_LAYER_SONGS | ||
| 44 | #define DEFAULT_LAYER_SONGS { } | ||
| 45 | #endif | ||
| 46 | float goodbye_song[][2] = GOODBYE_SONG; | 43 | float goodbye_song[][2] = GOODBYE_SONG; |
| 47 | float ag_norm_song[][2] = AG_NORM_SONG; | 44 | float ag_norm_song[][2] = AG_NORM_SONG; |
| 48 | float ag_swap_song[][2] = AG_SWAP_SONG; | 45 | float ag_swap_song[][2] = AG_SWAP_SONG; |
| 49 | float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; | 46 | #ifdef DEFAULT_LAYER_SONGS |
| 47 | float default_layer_songs[][16][2] = DEFAULT_LAYER_SONGS; | ||
| 48 | #endif | ||
| 50 | #endif | 49 | #endif |
| 51 | 50 | ||
| 52 | static void do_code16 (uint16_t code, void (*f) (uint8_t)) { | 51 | static void do_code16 (uint16_t code, void (*f) (uint8_t)) { |
| @@ -479,6 +478,13 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 479 | void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key; | 478 | void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key; |
| 480 | uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) | 479 | uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) |
| 481 | |MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))); | 480 | |MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))); |
| 481 | |||
| 482 | #ifdef GRAVE_ESC_CTRL_OVERRIDE | ||
| 483 | // if CTRL is pressed, ESC is always read as ESC, even if SHIFT or GUI is pressed. | ||
| 484 | // this is handy for the ctrl+shift+esc shortcut on windows, among other things. | ||
| 485 | if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) | ||
| 486 | shifted = 0; | ||
| 487 | #endif | ||
| 482 | 488 | ||
| 483 | method(shifted ? KC_GRAVE : KC_ESCAPE); | 489 | method(shifted ? KC_GRAVE : KC_ESCAPE); |
| 484 | send_keyboard_report(); | 490 | send_keyboard_report(); |
| @@ -560,7 +566,7 @@ void send_string_with_delay(const char *str, uint8_t interval) { | |||
| 560 | } | 566 | } |
| 561 | 567 | ||
| 562 | void set_single_persistent_default_layer(uint8_t default_layer) { | 568 | void set_single_persistent_default_layer(uint8_t default_layer) { |
| 563 | #ifdef AUDIO_ENABLE | 569 | #if defined(AUDIO_ENABLE) && defined(DEFAULT_LAYER_SONGS) |
| 564 | PLAY_SONG(default_layer_songs[default_layer]); | 570 | PLAY_SONG(default_layer_songs[default_layer]); |
| 565 | #endif | 571 | #endif |
| 566 | eeconfig_update_default_layer(1U<<default_layer); | 572 | eeconfig_update_default_layer(1U<<default_layer); |
