summaryrefslogtreecommitdiff
path: root/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2023-12-18 16:05:50 +1100
committerGitHub <noreply@github.com>2023-12-18 16:05:50 +1100
commitd235352504f82eae5dedc399bae36c65f1348fa8 (patch)
tree775021fd419c2099ab75d7aa6481924290894b35 /keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c
parentf25226453fb253b5d1c2f1684365d6248d8b5750 (diff)
Remove obvious user keymaps, `keyboards/{b,c}*` edition. (#22693)
Diffstat (limited to 'keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c')
-rw-r--r--keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c164
1 files changed, 0 insertions, 164 deletions
diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c b/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c
deleted file mode 100644
index 51a677a588..0000000000
--- a/keyboards/converter/usb_usb/keymaps/chriskopher/tap_dance.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright 2020 Christopher Ko <chriskopher@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "shared_enum.h"
-
-#include "quantum.h"
-
-enum tap_dance_state {
- SINGLE_HOLD = 1,
- SINGLE_TAP,
- DOUBLE_TAP,
- TRIPLE_TAP,
-};
-
-// Record current state of a tap dance
-static int espc_l_tap_state = 0;
-static int espc_r_tap_state = 0;
-static int scln_cln_tap_state = 0;
-
-// Watch the state of the tap dance
-int cur_dance(tap_dance_state_t *state) {
- if (state->pressed) {
- return SINGLE_HOLD;
- }
- if (state->count == 1) {
- return SINGLE_TAP;
- }
- if (state->count == 2) {
- return DOUBLE_TAP;
- }
- if (state->count == 3) {
- return TRIPLE_TAP;
- }
-
- return -1;
-}
-
-// Extended Space Cadet Shift - Left ==================================
-void espc_l_finished(tap_dance_state_t *state, void *user_data) {
- espc_l_tap_state = cur_dance(state);
- switch (espc_l_tap_state) {
- case SINGLE_TAP: // (
- register_code16(LSFT(KC_9));
- break;
- case DOUBLE_TAP: // {
- unregister_code16(LSFT(KC_9));
- register_code16(LSFT(KC_LBRC));
- break;
- case TRIPLE_TAP: // [
- unregister_code16(LSFT(KC_LBRC));
- register_code16(KC_LBRC);
- break;
- case SINGLE_HOLD: // LShift
- register_code16(KC_LSFT);
- break;
- }
-}
-
-void espc_l_reset(tap_dance_state_t *state, void *user_data) {
- switch (espc_l_tap_state) {
- case SINGLE_TAP: // (
- unregister_code16(LSFT(KC_9));
- break;
- case DOUBLE_TAP: // {
- unregister_code16(LSFT(KC_LBRC));
- break;
- case TRIPLE_TAP: // [
- unregister_code16(KC_LBRC);
- break;
- case SINGLE_HOLD: // LShift
- unregister_code16(KC_LSFT);
- break;
- }
- espc_l_tap_state = 0;
-}
-// ====================================================================//
-
-// Extended Space Cadet Shift - Right ==================================
-void espc_r_finished(tap_dance_state_t *state, void *user_data) {
- espc_r_tap_state = cur_dance(state);
- switch (espc_r_tap_state) {
- case SINGLE_TAP: // )
- register_code16(LSFT(KC_0));
- break;
- case DOUBLE_TAP: // }
- unregister_code16(LSFT(KC_0));
- register_code16(LSFT(KC_RBRC));
- break;
- case TRIPLE_TAP: // ]
- unregister_code16(LSFT(KC_RBRC));
- register_code16(KC_RBRC);
- break;
- case SINGLE_HOLD: // RShift
- register_code16(KC_RSFT);
- break;
- }
-}
-
-void espc_r_reset(tap_dance_state_t *state, void *user_data) {
- switch (espc_r_tap_state) {
- case SINGLE_TAP: // )
- unregister_code16(LSFT(KC_0));
- break;
- case DOUBLE_TAP: // }
- unregister_code16(LSFT(KC_RBRC));
- break;
- case TRIPLE_TAP: // ]
- unregister_code16(KC_RBRC);
- break;
- case SINGLE_HOLD: // RShift
- unregister_code16(KC_RSFT);
- break;
- }
- espc_r_tap_state = 0;
-}
-// ====================================================================//
-
-// Semicolon - Colon ==================================================
-void scln_cln_finished(tap_dance_state_t *state, void *user_data) {
- scln_cln_tap_state = cur_dance(state);
- switch (scln_cln_tap_state) {
- case SINGLE_TAP: // ;
- register_code16(KC_SCLN);
- break;
- default: // :
- register_code16(LSFT(KC_SCLN));
- break;
- }
-}
-
-void scln_cln_reset(tap_dance_state_t *state, void *user_data) {
- switch (scln_cln_tap_state) {
- case SINGLE_TAP: // ;
- unregister_code16(KC_SCLN);
- break;
- default: // :
- unregister_code16(LSFT(KC_SCLN));
- break;
- }
-}
-// ====================================================================//
-
-// Associate tap dance with defined functionality
-tap_dance_action_t tap_dance_actions[] = {
- // Extended space cadet shift left: Hold - Shift, One - (, Two - {, Three - [
- [ESPC_L] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, espc_l_finished, espc_l_reset),
- // Extended space cadet shift right: Hold - Shift, One - ), Two - }, Three - ]
- [ESPC_R] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, espc_r_finished, espc_r_reset),
- // Semicolon - Colon: One - ;, Two - :
- [SCLN_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_cln_finished, scln_cln_reset),
-};