]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge branch 'master' into promethium
authorPriyadi Iman Nurcahyo <priyadi@priyadi.net>
Sat, 11 Feb 2017 17:09:25 +0000 (00:09 +0700)
committerPriyadi Iman Nurcahyo <priyadi@priyadi.net>
Sat, 11 Feb 2017 17:09:25 +0000 (00:09 +0700)
keyboards/handwired/promethium/keymaps/priyadi/config.h
keyboards/handwired/promethium/keymaps/priyadi/keymap.c
keyboards/handwired/promethium/promethium.h

index 53059ca7d461cacef719251ea0b3530109b89c03..6c9d2195e1be918cbe815829363afceab8097a6c 100644 (file)
@@ -14,6 +14,8 @@
 #define RGB_DI_PIN B5
 #define RGBSPS_NUM 57
 
+#define UNICODE_TYPE_DELAY 0
+
 #define LAYOUT_DVORAK
 #define LAYOUT_COLEMAK
 #define LAYOUT_NORMAN
index 1ad34612e3ab2295ce5dd1414c5265bf5eb31e30..52b186c4092aed9a82c90fedcb47dfb1bb347c87 100644 (file)
@@ -41,6 +41,7 @@ enum glow_modes {
 };
 uint8_t glow_mode = GLOW_MIN;
 
+void turn_off_capslock(void);
 extern keymap_config_t keymap_config;
 
 enum layers {
@@ -49,6 +50,7 @@ enum layers {
   _COLEMAK,
   _WORKMAN,
   _NORMAN,
+  _DEFAULT_LAYER_MAX = _NORMAN,
 
   _PUNC,
   _NUM,
@@ -444,7 +446,7 @@ void led_set_layer_indicator(void) {
 
   oldlayer = layer;
 
-  if (layer <= _NORMAN) {
+  if (layer <= _DEFAULT_LAYER_MAX) {
     rgbsps_send();
     return;
   }
@@ -461,7 +463,7 @@ void led_set_layer_indicator(void) {
       break;
     default:
       rgbsps_set(LED_IND_FUNC, 3, 3, 3);
-      rgbsps_set(LED_IND_NUM, 3, 3, 3);
+      // rgbsps_set(LED_IND_NUM, 3, 3, 3);
       rgbsps_set(LED_IND_EMOJI, 3, 3, 3);
   }
 
@@ -753,6 +755,30 @@ void persistant_default_layer_set(uint16_t default_layer) {
   default_layer_set(default_layer);
 }
 
+void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *isemitted) {
+  if (pressed) {
+    *isactive = true;
+    if (*otheractive) {
+      layer_on(_SPACE);
+      space_layer_entered = true;
+    }
+  } else {
+    *isactive = false;
+    if (space_layer_entered) {
+      layer_off(_SPACE);
+      if (!*otheractive) {
+        space_layer_entered = false;
+      }
+    } else {
+      if (!*isemitted) {
+        register_code(KC_SPC);
+        unregister_code(KC_SPC);
+      }
+      *isemitted = false;
+    }
+  }
+}
+
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   bool lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
   bool rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
@@ -786,51 +812,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 #ifdef DOUBLESPACE_LAYER_ENABLE
     // double-space enter space layer
     case LSPACE:
-      if (record->event.pressed) {
-        lspace_active = true;
-        if (rspace_active) {
-          layer_on(_SPACE);
-          space_layer_entered = true;
-        }
-      } else {
-        lspace_active = false;
-        if (space_layer_entered) {
-          layer_off(_SPACE);
-          if (!rspace_active) {
-            space_layer_entered = false;
-          }
-        } else {
-          if (!lspace_emitted) {
-            register_code(KC_SPC);
-            unregister_code(KC_SPC);
-          }
-          lspace_emitted = false;
-        }
-      }
+      process_doublespace(record->event.pressed, &lspace_active, &rspace_active, &lspace_emitted);
       return false;
       break;
     case RSPACE:
-      if (record->event.pressed) {
-        rspace_active = true;
-        if (lspace_active) {
-          layer_on(_SPACE);
-          space_layer_entered = true;
-        }
-      } else {
-        rspace_active = false;
-        if (space_layer_entered) {
-          layer_off(_SPACE);
-          if (!lspace_active) {
-            space_layer_entered = false;
-          }
-        } else {
-          if (!rspace_emitted) {
-            register_code(KC_SPC);
-            unregister_code(KC_SPC);
-          }
-          rspace_emitted = false;
-        }
-      }
+      process_doublespace(record->event.pressed, &rspace_active, &lspace_active, &rspace_emitted);
       return false;
       break;
 #endif
@@ -1072,7 +1058,7 @@ void battery_poll(uint8_t level) {
 void led_set_user(uint8_t usb_led) {
   bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK);
   if (new_capslock ^ capslock) { // capslock state is different
-    if (capslock = new_capslock) {
+    if ((capslock = new_capslock)) {
       rgbsps_set(LED_IND_NUM, 15, 0, 0);
     } else {
       rgbsps_set(LED_IND_NUM, 0, 0, 0);
index da37e5c560130413d1f9718085003188e9b44e5e..d6fea76ce1c788eff5869b4660b2fd4c25ade273 100644 (file)
@@ -4,7 +4,6 @@
 #include "quantum.h"
 
 #define PS2_INIT_DELAY 2000
-#define UNICODE_TYPE_DELAY 0
 #define BATTERY_PIN 9
 #define BATTERY_POLL 30000
 #define MAX_VOLTAGE 4.2