aboutsummaryrefslogtreecommitdiff
path: root/users/talljoe/tapdance
diff options
context:
space:
mode:
Diffstat (limited to 'users/talljoe/tapdance')
-rw-r--r--users/talljoe/tapdance/actions/td.function.c35
-rw-r--r--users/talljoe/tapdance/actions/td.grave.c36
-rw-r--r--users/talljoe/tapdance/actions/td.lock.c35
-rw-r--r--users/talljoe/tapdance/actions/td.semicolon.c54
-rw-r--r--users/talljoe/tapdance/tapdance.h26
-rw-r--r--users/talljoe/tapdance/tapdance_actions.c28
-rw-r--r--users/talljoe/tapdance/td_setup.c70
-rw-r--r--users/talljoe/tapdance/td_setup.h29
8 files changed, 0 insertions, 313 deletions
diff --git a/users/talljoe/tapdance/actions/td.function.c b/users/talljoe/tapdance/actions/td.function.c
deleted file mode 100644
index 577f2be3d4..0000000000
--- a/users/talljoe/tapdance/actions/td.function.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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/>.
- */
-
-static struct {
- int state;
-} function_state = {0};
-
-// Send semi-colon + enter on two taps
-void tap_dance_function_finished(tap_dance_state_t *state, void *user_data) {
- function_state.state = hold_cur_dance(state);
- switch (function_state.state) {
- case SINGLE_HOLD: layer_on(_ADJUST); break;
- }
-}
-
-void tap_dance_function_reset(tap_dance_state_t *state, void *user_data) {
- switch (function_state.state) {
- case SPECIAL: reset_keyboard(); break;
- case SINGLE_HOLD: layer_off(_ADJUST); break;
- }
- function_state.state = 0;
-}
diff --git a/users/talljoe/tapdance/actions/td.grave.c b/users/talljoe/tapdance/actions/td.grave.c
deleted file mode 100644
index f58f00f8c0..0000000000
--- a/users/talljoe/tapdance/actions/td.grave.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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/>.
- */
-
-// Send `. ~. ```
-void tap_dance_grave_finished(tap_dance_state_t *state, void *user_data) {
- switch(state->count) {
- case 1:
- SEND_STRING("`");
- break;
- case 2:
- SEND_STRING("~");
- break;
- }
-}
-
-void tap_dance_grave_each(tap_dance_state_t *state, void *user_data) {
- if(state->count == 3) {
- SEND_STRING("```");
- } else if (state->count > 3) {
- SEND_STRING("`");
- }
-}
-
diff --git a/users/talljoe/tapdance/actions/td.lock.c b/users/talljoe/tapdance/actions/td.lock.c
deleted file mode 100644
index bdca0bb11b..0000000000
--- a/users/talljoe/tapdance/actions/td.lock.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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/>.
- */
-
-static struct {
- int state;
-} lock_state = {0};
-
-// Send semi-colon + enter on two taps
-void tap_dance_lock_finished(tap_dance_state_t *state, void *user_data) {
- lock_state.state = cur_dance(state);
- switch (lock_state.state) {
- case SINGLE_TAP: register_code(KC_ESC); break;
- case SINGLE_HOLD: macro_lock(); break;
- }
-}
-
-void tap_dance_lock_reset(tap_dance_state_t *state, void *user_data) {
- switch (lock_state.state) {
- case SINGLE_TAP: unregister_code(KC_ESC); break;
- }
- lock_state.state = 0;
-}
diff --git a/users/talljoe/tapdance/actions/td.semicolon.c b/users/talljoe/tapdance/actions/td.semicolon.c
deleted file mode 100644
index c2fc500c48..0000000000
--- a/users/talljoe/tapdance/actions/td.semicolon.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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/>.
- */
-
-static struct {
- int semicolon;
- bool mods;
-} tap_state = {0};
-
-void tap_dance_semicolon_each(tap_dance_state_t *state, void *user_data) {
- tap_state.mods |= get_mods();
-}
-
-// Send semi-colon + enter on two taps
-void tap_dance_semicolon_finished(tap_dance_state_t *state, void *user_data) {
- tap_state.semicolon = hold_cur_dance(state);
- switch (tap_state.semicolon) {
- case SINGLE_TAP: case DOUBLE_HOLD: register_code(KC_SCLN); break;
- case SINGLE_HOLD: layer_on(_NUM); break;
- }
-}
-
-void tap_dance_semicolon_reset(tap_dance_state_t *state, void *user_data) {
- switch (tap_state.semicolon) {
- case SINGLE_TAP: case DOUBLE_HOLD: unregister_code(KC_SCLN); break;
- case DOUBLE_TAP: {
- if (tap_state.mods) {
- SEND_STRING(";;"); // send normal when mods are pressed
- }
- else {
- SEND_STRING(";\n");
- }
- break;
- }
- case TRIPLE_TAP: {
- SEND_STRING(";\n\n");
- }
- case SPECIAL: layer_invert(_NUM); break;
- case SINGLE_HOLD: layer_off(_NUM); break;
- }
- tap_state.semicolon = 0;
-}
diff --git a/users/talljoe/tapdance/tapdance.h b/users/talljoe/tapdance/tapdance.h
deleted file mode 100644
index 532e978ca8..0000000000
--- a/users/talljoe/tapdance/tapdance.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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 "quantum.h"
-#include "td_setup.h"
-
-enum tap_dancers {
- TD_SEMICOLON,
- TD_GRAVE,
- TD_LOCK,
- TD_FUNCTION,
-};
-
diff --git a/users/talljoe/tapdance/tapdance_actions.c b/users/talljoe/tapdance/tapdance_actions.c
deleted file mode 100644
index b574586171..0000000000
--- a/users/talljoe/tapdance/tapdance_actions.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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 "../talljoe.h"
-#include "actions/td.grave.c"
-#include "actions/td.lock.c"
-#include "actions/td.semicolon.c"
-#include "actions/td.function.c"
-
-tap_dance_action_t tap_dance_actions[] = {
- [TD_SEMICOLON] = ACTION_TAP_DANCE_FN_ADVANCED(tap_dance_semicolon_each, tap_dance_semicolon_finished, tap_dance_semicolon_reset),
- [TD_LOCK] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_lock_finished, tap_dance_lock_reset),
- [TD_GRAVE] = ACTION_TAP_DANCE_FN_ADVANCED(tap_dance_grave_each, tap_dance_grave_finished, NULL),
- [TD_FUNCTION] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_function_finished, tap_dance_function_reset),
-};
diff --git a/users/talljoe/tapdance/td_setup.c b/users/talljoe/tapdance/td_setup.c
deleted file mode 100644
index 0742763266..0000000000
--- a/users/talljoe/tapdance/td_setup.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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 "tapdance.h"
-
-int cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP
- if (state->interrupted) {
- // if (!state->pressed) return SINGLE_TAP;
- //need "permissive hold" here.
- // else return SINGLE_HOLD;
- //If the interrupting key is released before the tap-dance key, then it is a single HOLD
- //However, if the tap-dance key is released first, then it is a single TAP
- //But how to get access to the state of the interrupting key????
- return SINGLE_TAP;
- }
- else {
- if (!state->pressed) return SINGLE_TAP;
- else return SINGLE_HOLD;
- }
- }
- //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated
- //with single tap.
- else if (state->count == 2) {
- if (state->interrupted) return DOUBLE_SINGLE_TAP;
- else if (state->pressed) return DOUBLE_HOLD;
- else return DOUBLE_TAP;
- }
- else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP;
- else if (state->count == 3) return TRIPLE_HOLD;
- else return SPECIAL;
-}
-
-int hold_cur_dance (tap_dance_state_t *state) {
- if (state->count == 1) {
- if (state->interrupted) {
- if (!state->pressed) return SINGLE_TAP;
- else return SINGLE_HOLD;
- }
- else {
- if (!state->pressed) return SINGLE_TAP;
- else return SINGLE_HOLD;
- }
- }
- //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated
- //with single tap.
- else if (state->count == 2) {
- if (state->pressed) return DOUBLE_HOLD;
- else return DOUBLE_TAP;
- }
- else if (state->count == 3) {
- if (!state->pressed) return TRIPLE_TAP;
- else return TRIPLE_HOLD;
- }
- else return SPECIAL;
-}
diff --git a/users/talljoe/tapdance/td_setup.h b/users/talljoe/tapdance/td_setup.h
deleted file mode 100644
index e9685c83b2..0000000000
--- a/users/talljoe/tapdance/td_setup.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2020 Joseph Wasson
- *
- * 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/>.
- */
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5, //send two single taps
- TRIPLE_TAP = 6,
- TRIPLE_HOLD = 7,
- SPECIAL = 8
-};
-
-int cur_dance (tap_dance_state_t *state);
-int hold_cur_dance (tap_dance_state_t *state);