};
#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;
-}