~ruther/qmk_firmware

ref: dda6e7fb36f20821c60fbd7638c9bd016ef217d6 qmk_firmware/keyboards/satt/comet46/lib/modifier_state_reader.c -rw-r--r-- 606 bytes
dda6e7fb — Ryan LED drivers: register naming cleanups (#22436) 1 year, 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include "quantum.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;
}
Do not follow this link