qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

modifier_state_reader.c (610B)


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