summaryrefslogtreecommitdiffstats
path: root/keyboards/clueboard/keymaps/shift_fn/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/clueboard/keymaps/shift_fn/keymap.c')
-rw-r--r--keyboards/clueboard/keymaps/shift_fn/keymap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/keyboards/clueboard/keymaps/shift_fn/keymap.c b/keyboards/clueboard/keymaps/shift_fn/keymap.c
index f21b9b589..c4fae0369 100644
--- a/keyboards/clueboard/keymaps/shift_fn/keymap.c
+++ b/keyboards/clueboard/keymaps/shift_fn/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {