]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - users/xulkal/process_records.c
[Keymap] Update Xulkal user code (#5920)
[qmk_firmware.git] / users / xulkal / process_records.c
index af849a0729672ceacf7732681138beb1c2319eb3..5ba59965fb88b714983456147924bf8805979f40 100644 (file)
@@ -11,75 +11,46 @@ qk_tap_dance_action_t tap_dance_actions[] = {
 };
 #endif
 
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case QWERTY:
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_QWERTY);
-      }
-      return false;
-      break;
-    case GAME:
-#ifndef GAMELAYER_DISABLE
-      if (record->event.pressed) {
-        set_single_persistent_default_layer(_GAME);
-      }
-#endif
-      return false;
-      break;
-    case LOWER:
-      if (record->event.pressed) {
-        layer_on(_LOWER);
-#ifdef TRILAYER_ENABLED
-        update_tri_layer(_LOWER, _RAISE, _ADJUST);
-#endif
-      } else {
-        layer_off(_LOWER);
-#ifdef TRILAYER_ENABLED
-        update_tri_layer(_LOWER, _RAISE, _ADJUST);
-#endif
-      }
-      return false;
-      break;
-    case RAISE:
-      if (record->event.pressed) {
-        layer_on(_RAISE);
-#ifdef TRILAYER_ENABLED
-        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+#if defined(RGB_MATRIX_ENABLE)
+extern void eeconfig_update_rgb_matrix_default(void);
 #endif
-      } else {
-        layer_off(_RAISE);
+
 #ifdef TRILAYER_ENABLED
-        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+uint32_t layer_state_set_user(uint32_t state) {
+  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
 #endif
-      }
-      return false;
-      break;
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  static uint16_t reset_timer;
+  switch (keycode) {
     case RGBRST:
-      #ifdef RGBLIGHT_ENABLE
+#if defined(RGBLIGHT_ENABLE)
         if (record->event.pressed) {
           eeconfig_update_rgblight_default();
           rgblight_enable();
         }
-      #endif
+#elif defined(RGB_MATRIX_ENABLE)
+        if (record->event.pressed) {
+          eeconfig_update_rgb_matrix_default();
+        }
+#endif
+      return false;
+    case RESET:
+      if (record->event.pressed) {
+          reset_timer = timer_read();
+      } else {
+          if (timer_elapsed(reset_timer) >= 500) {
+              reset_keyboard();
+          }
+      }
       return false;
-      break;
   }
 
-  return process_record_keymap(keycode, record) &&
-#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
-    process_record_rgb(keycode, record) &&
-#endif // RGBLIGHT_ENABLE;
-    true;
+  return process_record_keymap(keycode, record);
 }
 
 __attribute__ ((weak))
 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
-
-
-__attribute__ ((weak))
-bool process_record_rgb(uint16_t keycode, keyrecord_t *record) {
-  return true;
-}