]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/xulkal/process_records.c
[Keymap] Xulkal keymap tweeks (#5746)
[qmk_firmware.git] / users / xulkal / process_records.c
1 #include "process_records.h"
2
3 #ifdef TAP_DANCE_ENABLE
4 //Tap Dance Definitions
5 qk_tap_dance_action_t tap_dance_actions[] = {
6   [COMM_QUOT]  = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
7   [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)),
8   [TAP_TAB] = ACTION_TAP_DANCE_DOUBLE (KC_TAB, LSFT(KC_TAB)),
9   [CTRL_MINUS] = ACTION_TAP_DANCE_DOUBLE (KC_LCTL, KC_MINS),
10   [CTRL_PLUS] = ACTION_TAP_DANCE_DOUBLE (KC_RCTL, KC_EQL)
11 };
12 #endif
13
14 #if defined(RGB_MATRIX_ENABLE)
15 extern void eeconfig_update_rgb_matrix_default(void);
16 #endif
17
18 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
19   switch (keycode) {
20     case QWERTY:
21       if (record->event.pressed) {
22         set_single_persistent_default_layer(_QWERTY);
23       }
24       return false;
25       break;
26     case GAME:
27 #ifndef GAMELAYER_DISABLE
28       if (record->event.pressed) {
29         set_single_persistent_default_layer(_GAME);
30       }
31 #endif
32       return false;
33       break;
34     case LOWER:
35       if (record->event.pressed) {
36         layer_on(_LOWER);
37 #ifdef TRILAYER_ENABLED
38         update_tri_layer(_LOWER, _RAISE, _ADJUST);
39 #endif
40       } else {
41         layer_off(_LOWER);
42 #ifdef TRILAYER_ENABLED
43         update_tri_layer(_LOWER, _RAISE, _ADJUST);
44 #endif
45       }
46       return false;
47       break;
48     case RAISE:
49       if (record->event.pressed) {
50         layer_on(_RAISE);
51 #ifdef TRILAYER_ENABLED
52         update_tri_layer(_LOWER, _RAISE, _ADJUST);
53 #endif
54       } else {
55         layer_off(_RAISE);
56 #ifdef TRILAYER_ENABLED
57         update_tri_layer(_LOWER, _RAISE, _ADJUST);
58 #endif
59       }
60       return false;
61       break;
62     case RGBRST:
63 #if defined(RGBLIGHT_ENABLE)
64         if (record->event.pressed) {
65           eeconfig_update_rgblight_default();
66           rgblight_enable();
67         }
68 #elif defined(RGB_MATRIX_ENABLE)
69         if (record->event.pressed) {
70           eeconfig_update_rgb_matrix_default();
71         }
72 #endif
73       return false;
74       break;
75   }
76
77   return process_record_keymap(keycode, record) &&
78 #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
79     process_record_rgb(keycode, record) &&
80 #endif // RGBLIGHT_ENABLE;
81     true;
82 }
83
84 __attribute__ ((weak))
85 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
86   return true;
87 }
88
89
90 __attribute__ ((weak))
91 bool process_record_rgb(uint16_t keycode, keyrecord_t *record) {
92   return true;
93 }