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 }