process_records.c 2.1 KB

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