]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/quantum.c
capslock led fix for clueboard 60
[qmk_firmware.git] / quantum / quantum.c
index 52f19af98e20a9c75fdae659c2e5905b95988f74..c80975f21b93a696e82b127510cbb10b2ed854dc 100644 (file)
@@ -162,6 +162,11 @@ void reset_keyboard(void) {
   #define RSPC_KEY KC_0
 #endif
 
+// Shift / Enter setup
+#ifndef SFTENT_KEY
+  #define SFTENT_KEY KC_ENT
+#endif
+
 static bool shift_interrupted[2] = {0, 0};
 static uint16_t scs_timer[2] = {0, 0};
 
@@ -552,6 +557,24 @@ bool process_record_quantum(keyrecord_t *record) {
       }
       return false;
     }
+
+    case KC_SFTENT: {
+      if (record->event.pressed) {
+        shift_interrupted[1] = false;
+        scs_timer[1] = timer_read ();
+        register_mods(MOD_BIT(KC_RSFT));
+      }
+      else if (!shift_interrupted[1] && timer_elapsed(scs_timer[1]) < TAPPING_TERM) {
+        unregister_mods(MOD_BIT(KC_RSFT));
+        register_code(SFTENT_KEY);
+        unregister_code(SFTENT_KEY);
+      }
+      else {
+        unregister_mods(MOD_BIT(KC_RSFT));
+      }
+      return false;
+    }
+
     case GRAVE_ESC: {
       uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
                                       |MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)));