Added mod carry over from press to release. (#5866)
Update docs/feature_space_cadet.md Co-Authored-By: fauxpark <fauxpark@gmail.com>
This commit is contained in:
		@@ -81,11 +81,17 @@
 | 
			
		||||
 | 
			
		||||
static uint8_t sc_last = 0;
 | 
			
		||||
static uint16_t sc_timer = 0;
 | 
			
		||||
#ifdef SPACE_CADET_MODIFIER_CARRYOVER
 | 
			
		||||
static uint8_t sc_mods = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void perform_space_cadet(keyrecord_t *record, uint8_t holdMod, uint8_t tapMod, uint8_t keycode) {
 | 
			
		||||
  if (record->event.pressed) {
 | 
			
		||||
    sc_last = holdMod;
 | 
			
		||||
    sc_timer = timer_read ();
 | 
			
		||||
#ifdef SPACE_CADET_MODIFIER_CARRYOVER
 | 
			
		||||
    sc_mods = get_mods();
 | 
			
		||||
#endif
 | 
			
		||||
    if (IS_MOD(holdMod)) {
 | 
			
		||||
      register_mods(MOD_BIT(holdMod));
 | 
			
		||||
    }
 | 
			
		||||
@@ -100,7 +106,13 @@ void perform_space_cadet(keyrecord_t *record, uint8_t holdMod, uint8_t tapMod, u
 | 
			
		||||
          register_mods(MOD_BIT(tapMod));
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
#ifdef SPACE_CADET_MODIFIER_CARRYOVER
 | 
			
		||||
    set_weak_mods(sc_mods);
 | 
			
		||||
#endif
 | 
			
		||||
      tap_code(keycode);
 | 
			
		||||
#ifdef SPACE_CADET_MODIFIER_CARRYOVER
 | 
			
		||||
    clear_weak_mods();
 | 
			
		||||
#endif
 | 
			
		||||
      if (IS_MOD(tapMod)) {
 | 
			
		||||
        unregister_mods(MOD_BIT(tapMod));
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user