|
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
|
|
|
|
|
|
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
static uint8_t mods_pressed;
|
|
static uint8_t mods_pressed;
|
|
|
|
+ static boot mod_flag;
|
|
|
|
|
|
switch (id) {
|
|
switch (id) {
|
|
case 0:
|
|
case 0:
|
|
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
/* The key is being pressed.
|
|
/* The key is being pressed.
|
|
*/
|
|
*/
|
|
if (mods_pressed) {
|
|
if (mods_pressed) {
|
|
|
|
+ mod_flag = true;
|
|
add_key(KC_GRV);
|
|
add_key(KC_GRV);
|
|
send_keyboard_report();
|
|
send_keyboard_report();
|
|
} else {
|
|
} else {
|
|
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
} else {
|
|
} else {
|
|
/* The key is being released.
|
|
/* The key is being released.
|
|
*/
|
|
*/
|
|
- if (mods_pressed) {
|
|
|
|
|
|
+ if (mod_flag) {
|
|
|
|
+ mod_flag = false;
|
|
del_key(KC_GRV);
|
|
del_key(KC_GRV);
|
|
send_keyboard_report();
|
|
send_keyboard_report();
|
|
} else {
|
|
} else {
|