diff options
Diffstat (limited to 'keyboards/comet46/lib/modifier_state_reader.c')
-rw-r--r-- | keyboards/comet46/lib/modifier_state_reader.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/keyboards/comet46/lib/modifier_state_reader.c b/keyboards/comet46/lib/modifier_state_reader.c new file mode 100644 index 000000000..518eef92a --- /dev/null +++ b/keyboards/comet46/lib/modifier_state_reader.c | |||
@@ -0,0 +1,18 @@ | |||
1 | #include <stdio.h> | ||
2 | #include "comet46.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 | } | ||