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