forked from mirrors/qmk_userspace
		
	[Bug] Add key event check to is_tap_record and remove is_tap_key (#18063)
		
	This commit is contained in:
		
					parent
					
						
							
								5e6175a553
							
						
					
				
			
			
				commit
				
					
						8ce946b5c8
					
				
			
		
					 3 changed files with 4 additions and 14 deletions
				
			
		| 
						 | 
					@ -1085,20 +1085,15 @@ void clear_keyboard_but_mods_and_keys() {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \brief Utilities for actions. (FIXME: Needs better description)
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * FIXME: Needs documentation.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
bool is_tap_key(keypos_t key) {
 | 
					 | 
				
			||||||
    action_t action = layer_switch_get_action(key);
 | 
					 | 
				
			||||||
    return is_tap_action(action);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** \brief Utilities for actions. (FIXME: Needs better description)
 | 
					/** \brief Utilities for actions. (FIXME: Needs better description)
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * FIXME: Needs documentation.
 | 
					 * FIXME: Needs documentation.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
bool is_tap_record(keyrecord_t *record) {
 | 
					bool is_tap_record(keyrecord_t *record) {
 | 
				
			||||||
 | 
					    if (IS_NOEVENT(record->event)) {
 | 
				
			||||||
 | 
					        return false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef COMBO_ENABLE
 | 
					#ifdef COMBO_ENABLE
 | 
				
			||||||
    action_t action;
 | 
					    action_t action;
 | 
				
			||||||
    if (record->keycode) {
 | 
					    if (record->keycode) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -105,7 +105,6 @@ void clear_keyboard(void);
 | 
				
			||||||
void clear_keyboard_but_mods(void);
 | 
					void clear_keyboard_but_mods(void);
 | 
				
			||||||
void clear_keyboard_but_mods_and_keys(void);
 | 
					void clear_keyboard_but_mods_and_keys(void);
 | 
				
			||||||
void layer_switch(uint8_t new_layer);
 | 
					void layer_switch(uint8_t new_layer);
 | 
				
			||||||
bool is_tap_key(keypos_t key);
 | 
					 | 
				
			||||||
bool is_tap_record(keyrecord_t *record);
 | 
					bool is_tap_record(keyrecord_t *record);
 | 
				
			||||||
bool is_tap_action(action_t action);
 | 
					bool is_tap_action(action_t action);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -140,8 +140,6 @@ TEST_F(DefaultTapHold, tap_regular_key_while_layer_tap_key_is_held) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST_F(DefaultTapHold, tap_mod_tap_hold_key_two_times) {
 | 
					TEST_F(DefaultTapHold, tap_mod_tap_hold_key_two_times) {
 | 
				
			||||||
    GTEST_SKIP() << "TODO:Holding a modtap key results in out of bounds access to the keymap, this is a bug in QMK.";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    TestDriver driver;
 | 
					    TestDriver driver;
 | 
				
			||||||
    InSequence s;
 | 
					    InSequence s;
 | 
				
			||||||
    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
 | 
					    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
 | 
				
			||||||
| 
						 | 
					@ -175,8 +173,6 @@ TEST_F(DefaultTapHold, tap_mod_tap_hold_key_two_times) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST_F(DefaultTapHold, tap_mod_tap_hold_key_twice_and_hold_on_second_time) {
 | 
					TEST_F(DefaultTapHold, tap_mod_tap_hold_key_twice_and_hold_on_second_time) {
 | 
				
			||||||
    GTEST_SKIP() << "TODO:Holding a modtap key results in out of bounds access to the keymap, this is a bug in QMK.";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    TestDriver driver;
 | 
					    TestDriver driver;
 | 
				
			||||||
    InSequence s;
 | 
					    InSequence s;
 | 
				
			||||||
    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
 | 
					    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue