X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fquantum.c;h=52f19af98e20a9c75fdae659c2e5905b95988f74;hb=e6b91549e36f9d9d20f9857c8a081ad1ecfbfff0;hp=09920159660febc52bc758350699941cdc32ad5a;hpb=b669d115c2969a58f0ae00f6ae5c2290dba44c03;p=qmk_firmware.git diff --git a/quantum/quantum.c b/quantum/quantum.c index 099201596..52f19af98 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -132,7 +132,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void reset_keyboard(void) { clear_keyboard(); -#if defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_ENABLE_BASIC)) +#if defined(MIDI_ENABLE) && defined(MIDI_BASIC) + process_midi_all_notes_off(); +#endif +#if defined(AUDIO_ENABLE) music_all_notes_off(); uint16_t timer_start = timer_read(); PLAY_SONG(goodbye_song); @@ -143,7 +146,8 @@ void reset_keyboard(void) { #else wait_ms(250); #endif -#ifdef CATERINA_BOOTLOADER +// this is also done later in bootloader.c - not sure if it's neccesary here +#ifdef BOOTLOADER_CATERINA *(uint16_t *)0x0800 = 0x7777; // these two are a-star-specific #endif bootloader_jump(); @@ -285,20 +289,25 @@ bool process_record_quantum(keyrecord_t *record) { rgblight_toggle(); } return false; - case RGB_MOD: + case RGB_MODE_FORWARD: if (record->event.pressed) { - rgblight_step(); + uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); + if(shifted) { + rgblight_step_reverse(); + } + else { + rgblight_step(); + } } return false; - case RGB_SMOD: - // same as RBG_MOD, but if shift is pressed, it will use the reverese direction instead. + case RGB_MODE_REVERSE: if (record->event.pressed) { uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); if(shifted) { - rgblight_step_reverse(); + rgblight_step(); } else { - rgblight_step(); + rgblight_step_reverse(); } } return false; @@ -547,11 +556,34 @@ bool process_record_quantum(keyrecord_t *record) { uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT) |MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))); +#ifdef GRAVE_ESC_ALT_OVERRIDE + // if ALT is pressed, ESC is always sent + // this is handy for the cmd+opt+esc shortcut on macOS, among other things. + if (get_mods() & (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT))) { + shifted = 0; + } +#endif + #ifdef GRAVE_ESC_CTRL_OVERRIDE - // if CTRL is pressed, ESC is always read as ESC, even if SHIFT or GUI is pressed. + // if CTRL is pressed, ESC is always sent // this is handy for the ctrl+shift+esc shortcut on windows, among other things. - if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) + if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL))) { shifted = 0; + } +#endif + +#ifdef GRAVE_ESC_GUI_OVERRIDE + // if GUI is pressed, ESC is always sent + if (get_mods() & (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))) { + shifted = 0; + } +#endif + +#ifdef GRAVE_ESC_SHIFT_OVERRIDE + // if SHIFT is pressed, ESC is always sent + if (get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) { + shifted = 0; + } #endif if (record->event.pressed) { @@ -906,6 +938,11 @@ void backlight_task(void) { #ifdef BACKLIGHT_BREATHING +#ifdef NO_BACKLIGHT_CLOCK +void breathing_defaults(void) {} +void breathing_intensity_default(void) {} +#else + #define BREATHING_NO_HALT 0 #define BREATHING_HALT_OFF 1 #define BREATHING_HALT_ON 2 @@ -1105,6 +1142,7 @@ ISR(TIMER1_COMPA_vect) } +#endif // NO_BACKLIGHT_CLOCK #endif // breathing #else // backlight