Ignore space cadet key release when caps word is active (#21721)
This commit is contained in:
		
							parent
							
								
									8b48f0dea3
								
							
						
					
					
						commit
						1f6dfd19cf
					
				
					 4 changed files with 13 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
 | 
			
		||||
#include "process_caps_word.h"
 | 
			
		||||
#include "process_auto_shift.h"
 | 
			
		||||
#include "process_space_cadet.h"
 | 
			
		||||
#include "caps_word.h"
 | 
			
		||||
#include "keycodes.h"
 | 
			
		||||
#include "quantum_keycodes.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -110,6 +111,9 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
 | 
			
		|||
#        endif // COMMAND_ENABLE
 | 
			
		||||
        ) {
 | 
			
		||||
            caps_word_on();
 | 
			
		||||
#        ifdef SPACE_CADET_ENABLE
 | 
			
		||||
            reset_space_cadet();
 | 
			
		||||
#        endif // SPACE_CADET_ENABLE
 | 
			
		||||
        }
 | 
			
		||||
#    endif     // defined(COMMAND_ENABLE) && !defined(IS_COMMAND)
 | 
			
		||||
#endif         // BOTH_SHIFTS_TURNS_ON_CAPS_WORD
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -157,10 +157,14 @@ bool process_space_cadet(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
        }
 | 
			
		||||
        default: {
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                sc_last = 0;
 | 
			
		||||
                reset_space_cadet();
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void reset_space_cadet() {
 | 
			
		||||
    sc_last = 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,3 +21,4 @@
 | 
			
		|||
 | 
			
		||||
void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdMod, uint8_t tapMod, uint8_t keycode);
 | 
			
		||||
bool process_space_cadet(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
void reset_space_cadet(void);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue