]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/xulkal/process_records.c
[Keymap] Update Xulkal user code (#5920)
[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 #ifdef TRILAYER_ENABLED
19 uint32_t layer_state_set_user(uint32_t state) {
20   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
21 }
22 #endif
23
24 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
25   static uint16_t reset_timer;
26   switch (keycode) {
27     case RGBRST:
28 #if defined(RGBLIGHT_ENABLE)
29         if (record->event.pressed) {
30           eeconfig_update_rgblight_default();
31           rgblight_enable();
32         }
33 #elif defined(RGB_MATRIX_ENABLE)
34         if (record->event.pressed) {
35           eeconfig_update_rgb_matrix_default();
36         }
37 #endif
38       return false;
39     case RESET:
40       if (record->event.pressed) {
41           reset_timer = timer_read();
42       } else {
43           if (timer_elapsed(reset_timer) >= 500) {
44               reset_keyboard();
45           }
46       }
47       return false;
48   }
49
50   return process_record_keymap(keycode, record);
51 }
52
53 __attribute__ ((weak))
54 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
55   return true;
56 }