[Bug] Add key event check to is_tap_record and remove is_tap_key (#18063)

This commit is contained in:
Stefan Kerkmann 2022-08-15 16:40:51 +02:00 committed by GitHub
parent 5e6175a553
commit 8ce946b5c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 14 deletions

View file

@ -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) {

View file

@ -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);

View file

@ -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));