logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

test_combos_repress.c (1140B)


  1. // Copyright 2024 @Filios92
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "quantum.h"
  4. enum combos { alttab, esc };
  5. uint16_t const alttab_combo[] = {KC_F, KC_G, COMBO_END};
  6. uint16_t const esc_combo[] = {KC_H, KC_J, COMBO_END};
  7. // clang-format off
  8. combo_t key_combos[] = {
  9. [alttab] = COMBO(alttab_combo, KC_NO),
  10. [esc] = COMBO(esc_combo, KC_ESC)
  11. };
  12. // clang-format on
  13. void process_combo_event(uint16_t combo_index, bool pressed) {
  14. switch (combo_index) {
  15. case alttab:
  16. if (pressed) {
  17. register_mods(MOD_LALT);
  18. tap_code(KC_TAB);
  19. } else {
  20. unregister_mods(MOD_LALT);
  21. }
  22. break;
  23. }
  24. }
  25. bool process_combo_key_repress(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) {
  26. switch (combo_index) {
  27. case alttab:
  28. switch (keycode) {
  29. case KC_F:
  30. tap_code16(S(KC_TAB));
  31. return true;
  32. case KC_G:
  33. tap_code(KC_TAB);
  34. return true;
  35. }
  36. }
  37. return false;
  38. }