You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
610 B

  1. #include <stdio.h>
  2. #include "action_util.h"
  3. char modifier_state_str[22];
  4. const char *read_modifier_state(void) {
  5. uint8_t modifiers = get_mods();
  6. uint8_t one_shot = get_oneshot_mods();
  7. snprintf(modifier_state_str, sizeof(modifier_state_str), "Mod: %s%s%s%s",
  8. (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) ? "CTL " : "",
  9. (modifiers & MODS_GUI_MASK || one_shot & MODS_GUI_MASK) ? "GUI " : "",
  10. (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) ? "ALT " : "",
  11. (modifiers & MODS_SHIFT_MASK || one_shot & MODS_SHIFT_MASK) ? "SFT" : ""
  12. );
  13. return modifier_state_str;
  14. }