diff options
| author | Julian Schuler <31921487+julianschuler@users.noreply.github.com> | 2025-11-23 12:25:59 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 22:25:59 +1100 |
| commit | b321789d7b3e0207f9f5e103a8481a0d90ba2814 (patch) | |
| tree | 42ebfe5efd5625306bb0ccf485b8ca0d42d19bc0 /tests | |
| parent | 4015c40ba4fd9a671c2e919582bbabab7320544b (diff) | |
Fix single key combos activating only once (#25198)
Co-authored-by: Julian Schuler <julianschuler@users.noreply.github.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/combo/test_combo.cpp | 15 | ||||
| -rw-r--r-- | tests/combo/test_combos.c | 6 |
2 files changed, 19 insertions, 2 deletions
diff --git a/tests/combo/test_combo.cpp b/tests/combo/test_combo.cpp index d78ec55990..cc6425a94c 100644 --- a/tests/combo/test_combo.cpp +++ b/tests/combo/test_combo.cpp | |||
| @@ -54,3 +54,18 @@ TEST_F(Combo, combo_osmshift_tapped) { | |||
| 54 | tap_key(key_i); | 54 | tap_key(key_i); |
| 55 | VERIFY_AND_CLEAR(driver); | 55 | VERIFY_AND_CLEAR(driver); |
| 56 | } | 56 | } |
| 57 | |||
| 58 | TEST_F(Combo, combo_single_key_twice) { | ||
| 59 | TestDriver driver; | ||
| 60 | KeymapKey key_a(0, 0, 1, KC_A); | ||
| 61 | set_keymap({key_a}); | ||
| 62 | |||
| 63 | EXPECT_REPORT(driver, (KC_B)); | ||
| 64 | tap_combo({key_a}); | ||
| 65 | VERIFY_AND_CLEAR(driver); | ||
| 66 | |||
| 67 | EXPECT_REPORT(driver, (KC_B)); | ||
| 68 | EXPECT_EMPTY_REPORT(driver); | ||
| 69 | tap_combo({key_a}); | ||
| 70 | VERIFY_AND_CLEAR(driver); | ||
| 71 | } | ||
diff --git a/tests/combo/test_combos.c b/tests/combo/test_combos.c index 8dcb364c6e..9a0465a9b4 100644 --- a/tests/combo/test_combos.c +++ b/tests/combo/test_combos.c | |||
| @@ -4,14 +4,16 @@ | |||
| 4 | // SPDX-License-Identifier: GPL-2.0-or-later | 4 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 5 | #include "quantum.h" | 5 | #include "quantum.h" |
| 6 | 6 | ||
| 7 | enum combos { modtest, osmshift }; | 7 | enum combos { modtest, osmshift, single_key }; |
| 8 | 8 | ||
| 9 | uint16_t const modtest_combo[] = {KC_Y, KC_U, COMBO_END}; | 9 | uint16_t const modtest_combo[] = {KC_Y, KC_U, COMBO_END}; |
| 10 | uint16_t const osmshift_combo[] = {KC_Z, KC_X, COMBO_END}; | 10 | uint16_t const osmshift_combo[] = {KC_Z, KC_X, COMBO_END}; |
| 11 | uint16_t const single_key_combo[] = {KC_A, COMBO_END}; | ||
| 11 | 12 | ||
| 12 | // clang-format off | 13 | // clang-format off |
| 13 | combo_t key_combos[] = { | 14 | combo_t key_combos[] = { |
| 14 | [modtest] = COMBO(modtest_combo, RSFT_T(KC_SPACE)), | 15 | [modtest] = COMBO(modtest_combo, RSFT_T(KC_SPACE)), |
| 15 | [osmshift] = COMBO(osmshift_combo, OSM(MOD_LSFT)) | 16 | [osmshift] = COMBO(osmshift_combo, OSM(MOD_LSFT)), |
| 17 | [single_key] = COMBO(single_key_combo, KC_B), | ||
| 16 | }; | 18 | }; |
| 17 | // clang-format on | 19 | // clang-format on |
