process_records.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  16. switch (keycode) {
  17. case QWERTY:
  18. if (record->event.pressed) {
  19. set_single_persistent_default_layer(_QWERTY);
  20. }
  21. return false;
  22. break;
  23. case GAME:
  24. #ifndef GAMELAYER_DISABLE
  25. if (record->event.pressed) {
  26. set_single_persistent_default_layer(_GAME);
  27. }
  28. #endif
  29. return false;
  30. break;
  31. case LOWER:
  32. if (record->event.pressed) {
  33. layer_on(_LOWER);
  34. #ifdef TRILAYER_ENABLED
  35. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  36. #endif
  37. } else {
  38. layer_off(_LOWER);
  39. #ifdef TRILAYER_ENABLED
  40. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  41. #endif
  42. }
  43. return false;
  44. break;
  45. case RAISE:
  46. if (record->event.pressed) {
  47. layer_on(_RAISE);
  48. #ifdef TRILAYER_ENABLED
  49. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  50. #endif
  51. } else {
  52. layer_off(_RAISE);
  53. #ifdef TRILAYER_ENABLED
  54. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  55. #endif
  56. }
  57. return false;
  58. break;
  59. case RGBRST:
  60. #if defined(RGBLIGHT_ENABLE)
  61. if (record->event.pressed) {
  62. eeconfig_update_rgblight_default();
  63. rgblight_enable();
  64. }
  65. #elif defined(RGB_MATRIX_ENABLE)
  66. if (record->event.pressed) {
  67. eeconfig_update_rgb_matrix_default();
  68. }
  69. #endif
  70. return false;
  71. break;
  72. }
  73. return process_record_keymap(keycode, record) &&
  74. #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
  75. process_record_rgb(keycode, record) &&
  76. #endif // RGBLIGHT_ENABLE;
  77. true;
  78. }
  79. __attribute__ ((weak))
  80. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  81. return true;
  82. }
  83. __attribute__ ((weak))
  84. bool process_record_rgb(uint16_t keycode, keyrecord_t *record) {
  85. return true;
  86. }