diff options
Diffstat (limited to 'keyboards/satt/comet46/lib/modifier_state_reader.c')
-rw-r--r-- | keyboards/satt/comet46/lib/modifier_state_reader.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/keyboards/satt/comet46/lib/modifier_state_reader.c b/keyboards/satt/comet46/lib/modifier_state_reader.c new file mode 100644 index 0000000000..518eef92a6 --- /dev/null +++ b/keyboards/satt/comet46/lib/modifier_state_reader.c @@ -0,0 +1,18 @@ +#include <stdio.h> +#include "comet46.h" + +char modifier_state_str[22]; + +const char *read_modifier_state(void) { + uint8_t modifiers = get_mods(); + uint8_t one_shot = get_oneshot_mods(); + + snprintf(modifier_state_str, sizeof(modifier_state_str), "Mod: %s%s%s%s", + (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) ? "CTL " : "", + (modifiers & MODS_GUI_MASK || one_shot & MODS_GUI_MASK) ? "GUI " : "", + (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) ? "ALT " : "", + (modifiers & MODS_SHIFT_MASK || one_shot & MODS_SHIFT_MASK) ? "SFT" : "" + ); + + return modifier_state_str; +} |