]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c
[Keymap] Add new mod tap dances to Hacker Dvorak (#6155)
[qmk_firmware.git] / keyboards / ergodox_ez / keymaps / hacker_dvorak / tap_dance / mod_tap_layer_dances / k_numpad_hyper.c
1 //instanalize an instance of 'tap' for the K - Numpad - Hyper tap dance.
2 static tap k_numpad_hyper_state = {
3     .is_press_action = true,
4     .state           = 0
5 };
6
7 void k_numpad_hyper_finished(qk_tap_dance_state_t *state, void *user_data) {
8     k_numpad_hyper_state.state = current_dance(state);
9     switch (k_numpad_hyper_state.state) {
10         case SINGLE_TAP:
11             register_code(KC_K);
12             break;
13
14         case SINGLE_HOLD:
15             layer_on(NUMPAD);
16             break;
17
18         case DOUBLE_HOLD:
19             register_code(KC_LCTL);
20             register_code(KC_LSFT);
21             register_code(KC_LALT);
22             register_code(KC_LGUI);
23             break;
24     }
25 }
26
27 void k_numpad_hyper_reset(qk_tap_dance_state_t *state, void *user_data) {
28     switch (k_numpad_hyper_state.state) {
29         case SINGLE_TAP:
30             unregister_code(KC_K);
31             break;
32
33         case SINGLE_HOLD:
34             layer_off(NUMPAD);
35             break;
36
37         case DOUBLE_HOLD:
38             unregister_code(KC_LCTL);
39             unregister_code(KC_LSFT);
40             unregister_code(KC_LALT);
41             unregister_code(KC_LGUI);
42             break;
43     }
44     k_numpad_hyper_state.state = 0;
45 }