- #include "process_records.h"
- #include "custom_keycodes.h"
-
- #ifdef RGB_ENABLE
- #include "custom_rgb.h"
- #endif
-
- #ifdef TRILAYER_ENABLED
- layer_state_t layer_state_set_user(layer_state_t state)
- {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
- }
- #endif
-
- bool process_record_user(uint16_t keycode, keyrecord_t *record)
- {
- static uint16_t reset_timer;
-
- #ifndef TAP_DANCE_ENABLE
- if (!process_custom_tap_dance(keycode, record))
- return false;
- #endif
-
- switch (keycode)
- {
- case RGBRST:
- #ifdef RGB_ENABLE
- if (record->event.pressed)
- rgb_reset();
- #endif
- return false;
- case RESET:
- {
- if (record->event.pressed)
- reset_timer = timer_read() + 500;
- else if (timer_expired(timer_read(), reset_timer))
- reset_keyboard();
- }
- return false;
- #if defined(RGB_MATRIX_TOG_LAYERS) && defined(RGB_ENABLE)
- case RGB_TOG:
- if (record->event.pressed) {
- rgb_matrix_increase_flags();
- }
- return false;
- #endif
- }
-
- return process_record_encoder(keycode, record) && process_record_keymap(keycode, record);
- }
-
- __attribute__ ((weak))
- bool process_record_keymap(uint16_t keycode, keyrecord_t *record)
- {
- return true;
- }
-
- __attribute__ ((weak))
- bool process_record_encoder(uint16_t keycode, keyrecord_t *record)
- {
- return true;
- }
|