Ver código fonte

Add #1170 to all the clueboard keymaps

skullY 8 anos atrás
pai
commit
452949f913

+ 4 - 1
keyboards/clueboard/keymaps/caps_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 boot 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 {

+ 4 - 1
keyboards/clueboard/keymaps/colemak/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 {

+ 4 - 1
keyboards/clueboard/keymaps/default/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 {

+ 2 - 2
keyboards/clueboard/keymaps/mac_optimized/keymap.c

@@ -62,8 +62,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
         /* The key is being pressed.
          */
         if (mods_pressed) {
-          add_key(KC_GRV);
           mod_flag = true;
+          add_key(KC_GRV);
           send_keyboard_report();
         } else {
           add_key(KC_ESC);
@@ -73,8 +73,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
         /* The key is being released.
          */
         if (mod_flag) {
-          del_key(KC_GRV);
           mod_flag = false;
+          del_key(KC_GRV);
           send_keyboard_report();
         } else {
           del_key(KC_ESC);

+ 4 - 1
keyboards/clueboard/keymaps/mouse_keys/keymap.c

@@ -60,6 +60,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:
@@ -71,6 +72,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 {
@@ -80,7 +82,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 {

+ 4 - 1
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 {

+ 4 - 1
keyboards/clueboard/keymaps/skully/keymap.c

@@ -47,6 +47,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:
@@ -58,6 +59,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 {
@@ -67,7 +69,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 {

+ 4 - 1
keyboards/clueboard/keymaps/unix_optimized/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 {

+ 4 - 1
keyboards/clueboard/keymaps/win_optimized/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 {