diff options
author | Ismael Venegas Castelló <ismael.vc1337@gmail.com> | 2019-06-19 00:43:07 -0500 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-06-18 22:43:06 -0700 |
commit | 628e08c60661ca14313ecaef9205a1bf851b70bb (patch) | |
tree | fed692ab9028606d693a9ddd16af75b124872090 /keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances | |
parent | 2d15961855460ee098d6890a2b7fa336e25ed522 (diff) | |
download | qmk_firmware-628e08c60661ca14313ecaef9205a1bf851b70bb.tar.gz qmk_firmware-628e08c60661ca14313ecaef9205a1bf851b70bb.zip |
[Keymap] Add new mod tap dances to Hacker Dvorak (#6155)
Diffstat (limited to 'keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances')
10 files changed, 381 insertions, 2 deletions
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c new file mode 100644 index 0000000000..cbfbcdaf9f --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/dot_comm.c @@ -0,0 +1,41 @@ +//instanalize an instance of 'tap' for the Dot - Comma tap dance. +static tap dot_comm_state = { + .is_press_action = true, + .state = 0 +}; + +void dot_comm_finished(qk_tap_dance_state_t *state, void *user_data) { + dot_comm_state.state = current_dance(state); + switch (dot_comm_state.state) { + case SINGLE_TAP: + register_code(KC_DOT); + break; + + case SINGLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LSFT); + break; + + case DOUBLE_TAP: + register_code(KC_COMM); + break; + } +} + +void dot_comm_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (dot_comm_state.state) { + case SINGLE_TAP: + unregister_code(KC_DOT); + break; + + case SINGLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + break; + + case DOUBLE_TAP: + unregister_code(KC_COMM); + break; + } + dot_comm_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c new file mode 100644 index 0000000000..76dda6eb32 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/h_mouse_gui.c @@ -0,0 +1,39 @@ +//instanalize an instance of 'tap' for the H - Mouse - Gui tap dance. +static tap h_mouse_gui_state = { + .is_press_action = true, + .state = 0 +}; + +void h_mouse_gui_finished(qk_tap_dance_state_t *state, void *user_data) { + h_mouse_gui_state.state = current_dance(state); + switch (h_mouse_gui_state.state) { + case SINGLE_TAP: + register_code(KC_H); + break; + + case SINGLE_HOLD: + layer_on(MOUSE); + break; + + case DOUBLE_HOLD: + register_code(KC_LGUI); + break; + } +} + +void h_mouse_gui_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (h_mouse_gui_state.state) { + case SINGLE_TAP: + unregister_code(KC_H); + break; + + case SINGLE_HOLD: + layer_off(MOUSE); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LGUI); + break; + } + h_mouse_gui_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c new file mode 100644 index 0000000000..daf7be1f6f --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/j_media_meh.c @@ -0,0 +1,43 @@ +//instanalize an instance of 'tap' for the J - Media - Meh tap dance. +static tap j_media_meh_state = { + .is_press_action = true, + .state = 0 +}; + +void j_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) { + j_media_meh_state.state = current_dance(state); + switch (j_media_meh_state.state) { + case SINGLE_TAP: + register_code(KC_J); + break; + + case SINGLE_HOLD: + layer_on(MEDIA_FN); + break; + + case DOUBLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LSFT); + register_code(KC_LALT); + break; + } +} + +void j_media_meh_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (j_media_meh_state.state) { + case SINGLE_TAP: + unregister_code(KC_J); + break; + + case SINGLE_HOLD: + layer_off(MEDIA_FN); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + unregister_code(KC_LALT); + break; + } + j_media_meh_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c new file mode 100644 index 0000000000..609e9f5539 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/k_numpad_hyper.c @@ -0,0 +1,45 @@ +//instanalize an instance of 'tap' for the K - Numpad - Hyper tap dance. +static tap k_numpad_hyper_state = { + .is_press_action = true, + .state = 0 +}; + +void k_numpad_hyper_finished(qk_tap_dance_state_t *state, void *user_data) { + k_numpad_hyper_state.state = current_dance(state); + switch (k_numpad_hyper_state.state) { + case SINGLE_TAP: + register_code(KC_K); + break; + + case SINGLE_HOLD: + layer_on(NUMPAD); + break; + + case DOUBLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LSFT); + register_code(KC_LALT); + register_code(KC_LGUI); + break; + } +} + +void k_numpad_hyper_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (k_numpad_hyper_state.state) { + case SINGLE_TAP: + unregister_code(KC_K); + break; + + case SINGLE_HOLD: + layer_off(NUMPAD); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + unregister_code(KC_LALT); + unregister_code(KC_LGUI); + break; + } + k_numpad_hyper_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c new file mode 100644 index 0000000000..e7df3aef14 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/m_chords_hyper.c @@ -0,0 +1,45 @@ +//instanalize an instance of 'tap' for the M - Chords - Hyper tap dance. +static tap m_chords_hyper_state = { + .is_press_action = true, + .state = 0 +}; + +void m_chords_hyper_finished(qk_tap_dance_state_t *state, void *user_data) { + m_chords_hyper_state.state = current_dance(state); + switch (m_chords_hyper_state.state) { + case SINGLE_TAP: + register_code(KC_M); + break; + + case SINGLE_HOLD: + layer_on(CHORD); + break; + + case DOUBLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LSFT); + register_code(KC_LALT); + register_code(KC_LGUI); + break; + } +} + +void m_chords_hyper_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (m_chords_hyper_state.state) { + case SINGLE_TAP: + unregister_code(KC_M); + break; + + case SINGLE_HOLD: + layer_off(CHORD); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + unregister_code(KC_LALT); + unregister_code(KC_LGUI); + break; + } + m_chords_hyper_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c index 6debc1ce45..0ba31cec81 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/none_lead.c @@ -1,7 +1,7 @@ //instanalize an instance of 'tap' for the None - Lead tap dance. static tap none_lead_state = { - .is_press_action = true, - .state = 0 + .is_press_action = true, + .state = 0 }; void none_lead_finished(qk_tap_dance_state_t *state, void *user_data) { diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c new file mode 100644 index 0000000000..ac6da9e00e --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/quot_dquot.c @@ -0,0 +1,41 @@ +//instanalize an instance of 'tap' for the Quote - Double Quote tap dance. +static tap quot_dquot_state = { + .is_press_action = true, + .state = 0 +}; + +void quot_dquot_finished(qk_tap_dance_state_t *state, void *user_data) { + quot_dquot_state.state = current_dance(state); + switch (quot_dquot_state.state) { + case SINGLE_TAP: + register_code(KC_QUOT); + break; + + case SINGLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LALT); + break; + + case DOUBLE_TAP: + register_code16(KC_DQUO); + break; + } +} + +void quot_dquot_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (quot_dquot_state.state) { + case SINGLE_TAP: + unregister_code(KC_QUOT); + break; + + case SINGLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LALT); + break; + + case DOUBLE_TAP: + unregister_code16(KC_DQUO); + break; + } + quot_dquot_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c new file mode 100644 index 0000000000..513c932663 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/scln_coln.c @@ -0,0 +1,43 @@ +//instanalize an instance of 'tap' for the Semicolon - Colon tap dance. +static tap scln_coln_state = { + .is_press_action = true, + .state = 0 +}; + +void scln_coln_finished(qk_tap_dance_state_t *state, void *user_data) { + scln_coln_state.state = current_dance(state); + switch (scln_coln_state.state) { + case SINGLE_TAP: + register_code(KC_SCLN); + break; + + case SINGLE_HOLD: + register_code(KC_LALT); + register_code(KC_LSFT); + register_code(KC_LGUI); + break; + + case DOUBLE_TAP: + register_code16(KC_COLN); + break; + } +} + +void scln_coln_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (scln_coln_state.state) { + case SINGLE_TAP: + unregister_code(KC_SCLN); + break; + + case SINGLE_HOLD: + unregister_code(KC_LALT); + unregister_code(KC_LSFT); + unregister_code(KC_LGUI); + break; + + case DOUBLE_TAP: + unregister_code16(KC_COLN); + break; + } + scln_coln_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c new file mode 100644 index 0000000000..e57502a790 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/u_arrows_gui.c @@ -0,0 +1,39 @@ +//instanalize an instance of 'tap' for the U - Arrows - Gui tap dance. +static tap u_arrows_gui_state = { + .is_press_action = true, + .state = 0 +}; + +void u_arrows_gui_finished(qk_tap_dance_state_t *state, void *user_data) { + u_arrows_gui_state.state = current_dance(state); + switch (u_arrows_gui_state.state) { + case SINGLE_TAP: + register_code(KC_U); + break; + + case SINGLE_HOLD: + layer_on(ARROWS); + break; + + case DOUBLE_HOLD: + register_code(KC_LGUI); + break; + } +} + +void u_arrows_gui_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (u_arrows_gui_state.state) { + case SINGLE_TAP: + unregister_code(KC_U); + break; + + case SINGLE_HOLD: + layer_off(ARROWS); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LGUI); + break; + } + u_arrows_gui_state.state = 0; +} diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c new file mode 100644 index 0000000000..c26980526c --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/mod_tap_layer_dances/w_media_meh.c @@ -0,0 +1,43 @@ +//instanalize an instance of 'tap' for the W - Media - Meh tap dance. +static tap w_media_meh_state = { + .is_press_action = true, + .state = 0 +}; + +void w_media_meh_finished(qk_tap_dance_state_t *state, void *user_data) { + w_media_meh_state.state = current_dance(state); + switch (w_media_meh_state.state) { + case SINGLE_TAP: + register_code(KC_W); + break; + + case SINGLE_HOLD: + layer_on(MEDIA_FN); + break; + + case DOUBLE_HOLD: + register_code(KC_LCTL); + register_code(KC_LSFT); + register_code(KC_LALT); + break; + } +} + +void w_media_meh_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (w_media_meh_state.state) { + case SINGLE_TAP: + unregister_code(KC_W); + break; + + case SINGLE_HOLD: + layer_off(MEDIA_FN); + break; + + case DOUBLE_HOLD: + unregister_code(KC_LCTL); + unregister_code(KC_LSFT); + unregister_code(KC_LALT); + break; + } + w_media_meh_state.state = 0; +} |