aboutsummaryrefslogtreecommitdiff
path: root/keyboards/comet46/lib/modifier_state_reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/comet46/lib/modifier_state_reader.c')
-rw-r--r--keyboards/comet46/lib/modifier_state_reader.c18
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
4char modifier_state_str[22];
5
6const 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}