diff options
Diffstat (limited to 'users/talljoe/tapdance')
-rw-r--r-- | users/talljoe/tapdance/actions/td.function.c | 35 | ||||
-rw-r--r-- | users/talljoe/tapdance/actions/td.grave.c | 36 | ||||
-rw-r--r-- | users/talljoe/tapdance/actions/td.lock.c | 35 | ||||
-rw-r--r-- | users/talljoe/tapdance/actions/td.semicolon.c | 54 | ||||
-rw-r--r-- | users/talljoe/tapdance/tapdance.h | 26 | ||||
-rw-r--r-- | users/talljoe/tapdance/tapdance_actions.c | 28 | ||||
-rw-r--r-- | users/talljoe/tapdance/td_setup.c | 70 | ||||
-rw-r--r-- | users/talljoe/tapdance/td_setup.h | 29 |
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); |