]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/quantum.c
Remove images, per @ezuk request. =)
[qmk_firmware.git] / quantum / quantum.c
index 224bfb79514885462dc4200c72aa476dead2cb83..d5b9753b765039ea4336ca342963213e81e18a81 100644 (file)
@@ -88,21 +88,71 @@ bool process_record_quantum(keyrecord_t *record) {
           stop_all_notes();
           shutdown_user();
         #endif
-        _delay_ms(250);
-        #ifdef ATREUS_ASTAR
+        wait_ms(250);
+        #ifdef CATERINA_BOOTLOADER
             *(uint16_t *)0x0800 = 0x7777; // these two are a-star-specific
         #endif
         bootloader_jump();
-        return false;
       }
+         return false;
       break;
     case DEBUG:
       if (record->event.pressed) {
           print("\nDEBUG: enabled.\n");
           debug_enable = true;
-          return false;
       }
+         return false;
+      break;
+       #ifdef RGBLIGHT_ENABLE
+       case RGB_TOG:
+               if (record->event.pressed) {
+                       rgblight_toggle();
+      }
+         return false;
+      break;
+       case RGB_MOD:
+               if (record->event.pressed) {
+                       rgblight_step();
+      }
+         return false;
+      break;
+       case RGB_HUI:
+               if (record->event.pressed) {
+                       rgblight_increase_hue();
+      }
+         return false;
+      break;
+       case RGB_HUD:
+               if (record->event.pressed) {
+                       rgblight_decrease_hue();
+      }
+         return false;
+      break;
+       case RGB_SAI:
+               if (record->event.pressed) {
+                       rgblight_increase_sat();
+      }
+         return false;
       break;
+       case RGB_SAD:
+               if (record->event.pressed) {
+                       rgblight_decrease_sat();
+      }
+         return false;
+      break;
+       case RGB_VAI:
+               if (record->event.pressed) {
+                       rgblight_increase_val();
+      }
+         return false;
+      break;
+       case RGB_VAD:
+               if (record->event.pressed) {
+                       rgblight_decrease_val();
+      }
+         return false;
+      break;
+       #endif
     case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_UNSWAP_ALT_GUI:
       if (record->event.pressed) {
         // MAGIC actions (BOOTMAGIC without the boot)
@@ -162,6 +212,12 @@ bool process_record_quantum(keyrecord_t *record) {
         register_mods(MOD_BIT(KC_LSFT));
       }
       else {
+        #ifdef DISABLE_SPACE_CADET_ROLLOVER
+          if (get_mods() & MOD_BIT(KC_RSFT)) {
+            shift_interrupted[0] = true;
+            shift_interrupted[1] = true;
+          }
+        #endif
         if (!shift_interrupted[0]) {
           register_code(LSPO_KEY);
           unregister_code(LSPO_KEY);
@@ -178,6 +234,12 @@ bool process_record_quantum(keyrecord_t *record) {
         register_mods(MOD_BIT(KC_RSFT));
       }
       else {
+        #ifdef DISABLE_SPACE_CADET_ROLLOVER
+          if (get_mods() & MOD_BIT(KC_LSFT)) {
+            shift_interrupted[0] = true;
+            shift_interrupted[1] = true;
+          }
+        #endif
         if (!shift_interrupted[1]) {
           register_code(RSPC_KEY);
           unregister_code(RSPC_KEY);
@@ -308,8 +370,11 @@ void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
 }
 
 void tap_random_base64(void) {
-  uint8_t key = (TCNT0 + TCNT1 + TCNT3 + TCNT4) % 64;
-  // uint8_t key = rand() % 64;
+  #if defined(__AVR_ATmega32U4__)
+    uint8_t key = (TCNT0 + TCNT1 + TCNT3 + TCNT4) % 64;
+  #else
+    uint8_t key = rand() % 64;
+  #endif
   switch (key) {
     case 0 ... 25:
       register_code(KC_LSFT);