process_records.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "process_records.h"
  2. #ifdef TAP_DANCE_ENABLE
  3. //Tap Dance Definitions
  4. qk_tap_dance_action_t tap_dance_actions[] = {
  5. [COMM_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
  6. [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)),
  7. [TAP_TAB] = ACTION_TAP_DANCE_DOUBLE (KC_TAB, LSFT(KC_TAB)),
  8. [CTRL_MINUS] = ACTION_TAP_DANCE_DOUBLE (KC_LCTL, KC_MINS),
  9. [CTRL_PLUS] = ACTION_TAP_DANCE_DOUBLE (KC_RCTL, KC_EQL)
  10. };
  11. #endif
  12. #if defined(RGB_MATRIX_ENABLE)
  13. extern void eeconfig_update_rgb_matrix_default(void);
  14. #endif
  15. #ifdef TRILAYER_ENABLED
  16. uint32_t layer_state_set_user(uint32_t state) {
  17. return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
  18. }
  19. #endif
  20. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  21. static uint16_t reset_timer;
  22. switch (keycode) {
  23. case RGBRST:
  24. #if defined(RGBLIGHT_ENABLE)
  25. if (record->event.pressed) {
  26. eeconfig_update_rgblight_default();
  27. rgblight_enable();
  28. }
  29. #elif defined(RGB_MATRIX_ENABLE)
  30. if (record->event.pressed) {
  31. eeconfig_update_rgb_matrix_default();
  32. }
  33. #endif
  34. return false;
  35. case RESET:
  36. if (record->event.pressed) {
  37. reset_timer = timer_read();
  38. } else {
  39. if (timer_elapsed(reset_timer) >= 500) {
  40. reset_keyboard();
  41. }
  42. }
  43. return false;
  44. }
  45. return process_record_keymap(keycode, record);
  46. }
  47. __attribute__ ((weak))
  48. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  49. return true;
  50. }