diff options
author | Nick Brassel <[email protected]> | 2023-05-15 22:27:37 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2023-05-15 22:27:37 +1000 |
commit | 5faa23d54ca1e3ab83097f2a07922f48800616e6 (patch) | |
tree | 6ed05e5492f3fc8dda210a75b897dd9d4ed8df38 /tests/caps_word | |
parent | 433dc6068603e61d466e755aedcea0be96664f95 (diff) | |
download | qmk_firmware-5faa23d54ca1e3ab83097f2a07922f48800616e6.tar.gz qmk_firmware-5faa23d54ca1e3ab83097f2a07922f48800616e6.zip |
Keymap introspection for combos. (#19670)
Diffstat (limited to 'tests/caps_word')
-rw-r--r-- | tests/caps_word/caps_word_combo/test.mk | 1 | ||||
-rw-r--r-- | tests/caps_word/caps_word_combo/test_caps_word_combo.cpp | 23 | ||||
-rw-r--r-- | tests/caps_word/caps_word_combo/test_combos.c | 20 |
3 files changed, 21 insertions, 23 deletions
diff --git a/tests/caps_word/caps_word_combo/test.mk b/tests/caps_word/caps_word_combo/test.mk index 9f2e157189..c294864113 100644 --- a/tests/caps_word/caps_word_combo/test.mk +++ b/tests/caps_word/caps_word_combo/test.mk @@ -17,3 +17,4 @@ CAPS_WORD_ENABLE = yes COMBO_ENABLE = yes AUTO_SHIFT_ENABLE = yes +INTROSPECTION_KEYMAP_C = test_combos.c diff --git a/tests/caps_word/caps_word_combo/test_caps_word_combo.cpp b/tests/caps_word/caps_word_combo/test_caps_word_combo.cpp index 0876cc91a3..2cee203dfd 100644 --- a/tests/caps_word/caps_word_combo/test_caps_word_combo.cpp +++ b/tests/caps_word/caps_word_combo/test_caps_word_combo.cpp @@ -38,29 +38,6 @@ using ::testing::AnyOf; using ::testing::InSequence; using ::testing::TestParamInfo; -extern "C" { -// Define some combos to use for the test, including overlapping combos and -// combos that chord tap-hold keys. -enum combo_events { AB_COMBO, BC_COMBO, AD_COMBO, DE_COMBO, FGHI_COMBO, COMBO_LENGTH }; -uint16_t COMBO_LEN = COMBO_LENGTH; - -const uint16_t ab_combo[] PROGMEM = {KC_A, KC_B, COMBO_END}; -const uint16_t bc_combo[] PROGMEM = {KC_B, KC_C, COMBO_END}; -const uint16_t ad_combo[] PROGMEM = {KC_A, LCTL_T(KC_D), COMBO_END}; -const uint16_t de_combo[] PROGMEM = {LCTL_T(KC_D), LT(1, KC_E), COMBO_END}; -const uint16_t fghi_combo[] PROGMEM = {KC_F, KC_G, KC_H, KC_I, COMBO_END}; - -// clang-format off -combo_t key_combos[] = { - [AB_COMBO] = COMBO(ab_combo, KC_SPC), // KC_A + KC_B = KC_SPC - [BC_COMBO] = COMBO(bc_combo, KC_X), // KC_B + KC_C = KC_X - [AD_COMBO] = COMBO(ad_combo, KC_Y), // KC_A + LCTL_T(KC_D) = KC_Y - [DE_COMBO] = COMBO(de_combo, KC_Z), // LCTL_T(KC_D) + LT(1, KC_E) = KC_Z - [FGHI_COMBO] = COMBO(fghi_combo, KC_W) // KC_F + KC_G + KC_H + KC_I = KC_W -}; -// clang-format on -} // extern "C" - namespace { // To test combos thorougly, we test them with pressing the chord keys with diff --git a/tests/caps_word/caps_word_combo/test_combos.c b/tests/caps_word/caps_word_combo/test_combos.c new file mode 100644 index 0000000000..1d07118d50 --- /dev/null +++ b/tests/caps_word/caps_word_combo/test_combos.c @@ -0,0 +1,20 @@ +#include <quantum.h> + +// Define some combos to use for the test, including overlapping combos and +// combos that chord tap-hold keys. +enum combo_events { AB_COMBO, BC_COMBO, AD_COMBO, DE_COMBO, FGHI_COMBO }; + +const uint16_t ab_combo[] PROGMEM = {KC_A, KC_B, COMBO_END}; +const uint16_t bc_combo[] PROGMEM = {KC_B, KC_C, COMBO_END}; +const uint16_t ad_combo[] PROGMEM = {KC_A, LCTL_T(KC_D), COMBO_END}; +const uint16_t de_combo[] PROGMEM = {LCTL_T(KC_D), LT(1, KC_E), COMBO_END}; +const uint16_t fghi_combo[] PROGMEM = {KC_F, KC_G, KC_H, KC_I, COMBO_END}; + +// clang-format off +combo_t key_combos[] = { + [AB_COMBO] = COMBO(ab_combo, KC_SPC), // KC_A + KC_B = KC_SPC + [BC_COMBO] = COMBO(bc_combo, KC_X), // KC_B + KC_C = KC_X + [AD_COMBO] = COMBO(ad_combo, KC_Y), // KC_A + LCTL_T(KC_D) = KC_Y + [DE_COMBO] = COMBO(de_combo, KC_Z), // LCTL_T(KC_D) + LT(1, KC_E) = KC_Z + [FGHI_COMBO] = COMBO(fghi_combo, KC_W) // KC_F + KC_G + KC_H + KC_I = KC_W +}; |