From 1ed03f498fa204178c2696c510ac6a2cd8524e2d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 26 Nov 2023 18:36:45 +0000 Subject: Remove userspace keymaps (#22544) --- users/danielo515/alt_tab.c | 38 ------- users/danielo515/alt_tab.h | 4 - users/danielo515/combo.c | 44 --------- users/danielo515/combo.h | 2 - users/danielo515/config.h | 9 -- users/danielo515/danielo515.c | 124 ----------------------- users/danielo515/danielo515.h | 7 -- users/danielo515/process_records.c | 197 ------------------------------------- users/danielo515/process_records.h | 108 -------------------- users/danielo515/readme.md | 14 --- users/danielo515/rules.mk | 11 --- users/danielo515/tap_dance.c | 139 -------------------------- users/danielo515/tap_dance.h | 81 --------------- 13 files changed, 778 deletions(-) delete mode 100644 users/danielo515/alt_tab.c delete mode 100644 users/danielo515/alt_tab.h delete mode 100644 users/danielo515/combo.c delete mode 100644 users/danielo515/combo.h delete mode 100644 users/danielo515/config.h delete mode 100644 users/danielo515/danielo515.c delete mode 100644 users/danielo515/danielo515.h delete mode 100644 users/danielo515/process_records.c delete mode 100644 users/danielo515/process_records.h delete mode 100644 users/danielo515/readme.md delete mode 100644 users/danielo515/rules.mk delete mode 100644 users/danielo515/tap_dance.c delete mode 100644 users/danielo515/tap_dance.h (limited to 'users/danielo515') diff --git a/users/danielo515/alt_tab.c b/users/danielo515/alt_tab.c deleted file mode 100644 index 1602ee6fb2..0000000000 --- a/users/danielo515/alt_tab.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "danielo515.h" -#include "alt_tab.h" - -bool altPressed = false; -__attribute__((weak)) void alt_tab_activated(void){}; -__attribute__((weak)) void alt_tab_deactivated(void){}; -extern bool onMac; - -// =============== ALT_TAB single key handling -bool process_alt_tab(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case ALT_TAB: - if (!record->event.pressed) { - return false; - } - if (altPressed) { - tap_code(KC_TAB); - } else { - altPressed = true; - onMac ? register_code(KC_LGUI) : register_code(KC_LALT); - tap_code(KC_TAB); - alt_tab_activated(); - } - // avoid alt releasing if the key is of movement - case KC_RIGHT ... KC_UP: - if (altPressed) { - return true; // yes QMK, do your stuff - } - } - // Reset sticky alt tab when any other key is pressed - if (altPressed) { - onMac ? unregister_code(KC_LGUI) : unregister_code(KC_LALT); - altPressed = false; - alt_tab_deactivated(); - return false; - } - return true; -}; diff --git a/users/danielo515/alt_tab.h b/users/danielo515/alt_tab.h deleted file mode 100644 index f84350c298..0000000000 --- a/users/danielo515/alt_tab.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once -#include "quantum.h" - -bool process_alt_tab(uint16_t keycode, keyrecord_t *record); diff --git a/users/danielo515/combo.c b/users/danielo515/combo.c deleted file mode 100644 index dae53f6e85..0000000000 --- a/users/danielo515/combo.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "combo.h" - -enum combos { - JK_ESC, - YU_COM, - UI_COM, - IO_COM, - QW_COM, - DOT_SLS, - COM_DOT, - M_COMM, - N_M, - OP_COM, - M_CM_DOT, -}; - -const uint16_t PROGMEM ui_combo[] = {KC_U, KC_I, COMBO_END}; -const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; -const uint16_t PROGMEM yu_combo[] = {KC_Y, KC_U, COMBO_END}; -const uint16_t PROGMEM io_combo[] = {KC_I, KC_O, COMBO_END}; -const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END}; -const uint16_t PROGMEM dot_sls[] = {KC_DOT, KC_SLSH, COMBO_END}; -const uint16_t PROGMEM com_dot[] = {KC_COMMA, KC_DOT, COMBO_END}; -const uint16_t PROGMEM m_comm[] = {KC_M, KC_COMMA, COMBO_END}; -const uint16_t PROGMEM n_m[] = {KC_N, KC_M, COMBO_END}; -const uint16_t PROGMEM o_p_combo[] = {KC_O, KC_P, COMBO_END}; -const uint16_t PROGMEM m_cm_dot_combo[] = {KC_M, KC_COMMA, KC_DOT, COMBO_END}; - -combo_t key_combos[] = { - [JK_ESC] = COMBO(jk_combo, KC_ESC), - [YU_COM] = COMBO(yu_combo, KC_AMPR), - [UI_COM] = COMBO(ui_combo, KC_CIRC), - [IO_COM] = COMBO(io_combo, KC_TILD), - [DOT_SLS] = COMBO(dot_sls, KC_EXLM), - [COM_DOT] = COMBO(com_dot, KC_QUES), - [N_M] = COMBO(n_m, KC_DLR), - [OP_COM] = COMBO(o_p_combo, KC_HASH), - // m + , = { - [M_COMM] = COMBO(m_comm, KC_LCBR), - // m + , + . = } - // [M_CM_DOT] = COMBO(m_cm_dot_combo, KC_RCBR), - // Right hand side combos - [QW_COM] = COMBO(qw_combo, KC_AT), -}; diff --git a/users/danielo515/combo.h b/users/danielo515/combo.h deleted file mode 100644 index 010d4b1383..0000000000 --- a/users/danielo515/combo.h +++ /dev/null @@ -1,2 +0,0 @@ -#pragma once -#include "quantum.h" diff --git a/users/danielo515/config.h b/users/danielo515/config.h deleted file mode 100644 index c5f9b08389..0000000000 --- a/users/danielo515/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#if defined(COMBO_ENABLE) -# define COMBO_TERM 25 -#endif // !COMBO_ENABLE -// Timeout settings for leader key -#undef LEADER_TIMEOUT -#define LEADER_TIMEOUT 350 -#define LEADER_PER_KEY_TIMING diff --git a/users/danielo515/danielo515.c b/users/danielo515/danielo515.c deleted file mode 100644 index aa33f55d66..0000000000 --- a/users/danielo515/danielo515.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "danielo515.h" - -bool onMac = true; - -//**************** LEADER *********************// -#ifdef LEADER_ENABLE -void leader_start_user(vodi) { -# ifdef RGBLIGHT_ENABLE - rgblight_setrgb_range(5, 100, 199, 10, 15); -# endif -} - -void leader_end_user() { - if (leader_sequence_one_key(KC_T)) { - SEND_STRING("``" SS_TAP(X_LEFT)); - } - // Triple ticks - if (leader_sequence_two_keys(KC_T, KC_T)) { - SEND_STRING("```" SS_TAP(X_ENTER) SS_TAP(X_ENTER) "```" SS_TAP(X_UP)); - } - // ==== International spanish accent vowels ==== - if (leader_sequence_one_key(KC_A)) { - SEND_STRING(SS_LALT("e") "a"); - } - if (leader_sequence_one_key(KC_E)) { - SEND_STRING(SS_LALT("e") "e"); - } - if (leader_sequence_one_key(KC_I)) { - SEND_STRING(SS_LALT("e") "i"); - } - if (leader_sequence_one_key(KC_O)) { - SEND_STRING(SS_LALT("e") "o"); - } - if (leader_sequence_one_key(KC_U)) { - SEND_STRING(SS_LALT("e") "u"); - } - if (leader_sequence_one_key(KC_N)) { - SEND_STRING(SS_LALT("n") "n"); - } - // ==== MACROS === - if (leader_sequence_one_key(KC_G)) { - SEND_STRING(" | grep "); - } - if (leader_sequence_one_key(KC_K)) { - onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f")); - } - // vim delete all - if (leader_sequence_two_keys(KC_D, KC_G)) { - if (onMac) { - SEND_STRING(SS_LGUI("a") SS_TAP(X_D)); - } else { - SEND_STRING(SS_LCTL("a") SS_TAP(X_D)); - } - } - // tripe delete! - if (leader_sequence_one_key(KC_BACKSPACE)) { - SEND_STRING(SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE)); - } - if (leader_sequence_two_keys(KC_P, KC_G)) { - SEND_STRING("ps -ef | grep "); - } - if (leader_sequence_two_keys(KC_J, KC_A)) { - SEND_STRING("() => {}" SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - } - // this is a pain to type - if (leader_sequence_two_keys(KC_S, KC_S)) { - SEND_STRING("~/.ssh/ "); - } - if (leader_sequence_two_keys(KC_F, KC_T)) { - SEND_STRING("feat():" SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - } - // ### LAYER CHANGE - if (leader_sequence_one_key(KC_1)) { - layer_on(1); - } - // control enter, because yes - if (leader_sequence_one_key(KC_H)) { - SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_ENTER) SS_UP(X_LCTL)); - } - // paste all - if (leader_sequence_one_key(KC_P)) { - if (onMac) { - SEND_STRING(SS_LGUI("a") SS_LGUI("v")); - } else { - SEND_STRING(SS_LCTL("a") SS_LCTL("v")); - } - } - if (leader_sequence_three_keys(KC_M, KC_A, KC_C)) { - onMac = true; -# ifdef RGBLIGHT_ENABLE - rgblight_setrgb(255, 255, 255); -# endif - } - if (leader_sequence_three_keys(KC_W, KC_I, KC_N)) { - onMac = false; -# ifdef RGBLIGHT_ENABLE - rgblight_setrgb(255, 255, 0); -# endif - } - /* Copy all */ - if (leader_sequence_one_key(KC_Y)) { - if (onMac) { - SEND_STRING(SS_LGUI("a") SS_LGUI("c")); - } else { - SEND_STRING(SS_LCTL("a") SS_LCTL("c")); - } - } - // emoji bar - if (leader_sequence_two_keys(KC_E, KC_E)) { - SEND_STRING(SS_DOWN(X_LGUI) SS_LCTL(" ") SS_UP(X_LGUI)); - } - - if (leader_sequence_two_keys(KC_F, KC_F)) { - SEND_STRING("ps -ef | grep "); - } - if (leader_sequence_two_keys(KC_H, KC_T)) { - SEND_STRING("https://"); - } - -# ifdef RGBLIGHT_ENABLE - rgblight_setrgb_range(200, 200, 255, 10, 15); -# endif -} -#endif // LEADER diff --git a/users/danielo515/danielo515.h b/users/danielo515/danielo515.h deleted file mode 100644 index 715e8132fe..0000000000 --- a/users/danielo515/danielo515.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once -#include "quantum.h" -#include "process_records.h" - -#ifdef TAP_DANCE_ENABLE - #include "tap_dance.h" -#endif diff --git a/users/danielo515/process_records.c b/users/danielo515/process_records.c deleted file mode 100644 index e75526af44..0000000000 --- a/users/danielo515/process_records.c +++ /dev/null @@ -1,197 +0,0 @@ -#include "process_records.h" -#include "alt_tab.h" -extern bool onMac; -// ======== INCREMENTAL MACROS STUFF ============= -#define MAX_INCREMENTAL_MACRO 20 -#define TAP_ROTATION_TIMEOUT 400 -uint16_t latest_kc = 0; -uint16_t latest_rotation = 0; -int key_count = 0; - -const char incremental_macros[][MAX_INCREMENTAL_MACRO] = {"String1" SS_TAP(X_HOME) "X-", "String2" SS_TAP(X_HOME)}; - -bool process_incremental_macro(uint16_t kc) { - if (kc < INC_MACROS_START || kc > INC_MACROS_END) { - return false; - } - int macro_idx = (int)(kc - INC_MACROS_START) - 1; - char tempstring[3] = {0}; - tempstring[0] = incremental_macros[macro_idx][key_count]; - // Special cases of SS_TAP SS_UP and SS_DOWN, they require two characters so get both once and skip on next iteration - if (tempstring[0] == '\1' || tempstring[0] == '\2' || tempstring[0] == '\3') { - tempstring[1] = incremental_macros[macro_idx][++key_count]; - } - if (tempstring[0] == '\0') { - key_count = 0; - } - send_string(tempstring); - - return true; -}; - -void refresh_incremental_macros(uint16_t kc) { - if (kc == latest_kc) { - if ((timer_elapsed(latest_rotation) > TAP_ROTATION_TIMEOUT) || (key_count >= MAX_INCREMENTAL_MACRO)) - key_count = 0; - else - key_count++; - } else { - key_count = 0; - latest_kc = kc; - } - - latest_rotation = timer_read(); -} -// Send control or GUI depending if we are on windows or mac -bool CMD(uint16_t kc) { - if (onMac) { - tap_code16(LGUI(kc)); - } else { - tap_code16(LCTL(kc)); - } - return false; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool pressed = record->event.pressed; - if (pressed) { - refresh_incremental_macros(keycode); - if (process_incremental_macro(keycode)) { - return false; - } - switch (keycode) { - case MAC_TGL: - onMac = !onMac; - onMac ? SEND_STRING("On mac") : SEND_STRING("Not on MAC"); - return false; - } - } - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - layer_on(_QWERTY); - } - return false; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - } else { - layer_off(_RAISE); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - // == Macros START === - case IARROW: - if (record->event.pressed) SEND_STRING("<-"); - return false; - case ARROW: - if (record->event.pressed) SEND_STRING("->"); - return false; - case F_ARROW: - if (record->event.pressed) SEND_STRING("=>"); - return false; - case GREP: - if (record->event.pressed) SEND_STRING(" | grep "); - return false; - case CLN_EQ: - if (record->event.pressed) SEND_STRING(":="); - return false; - // == Macros END === - // == Multi Os START === - case KC_HOME: // make the home behave the same on OSX - if (record->event.pressed && onMac) { - SEND_STRING(SS_LCTL("a")); - return false; - } - case KC_END: // make the end behave the same on OSX - if (record->event.pressed && onMac) { - tap_code16(C(KC_E)); - return false; - } - case AC_A: // Accent á - if (record->event.pressed) SEND_STRING(SS_LALT("e") "a"); - return false; - case AC_E: // Accent é - if (record->event.pressed) SEND_STRING(SS_LALT("e") "e"); - return false; - case AC_I: // Accent í - if (record->event.pressed) SEND_STRING(SS_LALT("e") "i"); - return false; - case AC_O: // Accent ó - if (record->event.pressed) SEND_STRING(SS_LALT("e") "o"); - return false; - case CUT: - if (record->event.pressed) return CMD(KC_X); - case COPY: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTL("c")); - } - return false; - case PASTE: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTL("v")); - } - return false; - case SAVE: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTL("s")); - } - return false; - case UNDO: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTL("z")); - } - return false; - case REDO: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI(SS_LSFT("z"))) : SEND_STRING(SS_LCTL("y")); - } - return false; - case FIND: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTL("f")); - } - return false; - case WIN_TO_RIGHT: - if (record->event.pressed) { - onMac ? tap_code16(SGUI(A(KC_RIGHT))) : tap_code16(G(KC_RIGHT)); - } - return false; - case WIN_TO_LEFT: - if (record->event.pressed) { - onMac ? tap_code16(SGUI(A(KC_LEFT))) : tap_code16(G(KC_LEFT)); - } - return false; - case CHG_LAYOUT: - if (record->event.pressed) { - onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f")); - } - return false; - // == Multi Os END === -#ifdef RGBLIGHT_ENABLE - case RGB_SLD: - if (record->event.pressed) { - rgblight_mode(1); - } - return false; - break; - // First time alt + tab, and alt stays sticky. Next press we just send tab. Any other key releases the alt -#endif - } - // =============== ALT_TAB single key handling - return process_alt_tab(keycode, record); -}; diff --git a/users/danielo515/process_records.h b/users/danielo515/process_records.h deleted file mode 100644 index caa85e6292..0000000000 --- a/users/danielo515/process_records.h +++ /dev/null @@ -1,108 +0,0 @@ -#pragma once -#include "quantum.h" - -enum custom_keycodes { - RGB_SLD = SAFE_RANGE, - ALT_TAB, - QWERTY, - SYM, - NAV, - ADJUST, - // Macros - ARROW, - IARROW, - CLN_EQ, - F_ARROW, - GREP, - // Accented characters - AC_A, - AC_E, - AC_I, - AC_O, - // Custom multi-os key-codes - CUT, - COPY, - PASTE, - SAVE, - UNDO, - REDO, - CHG_LAYOUT, - FIND, - WIN_TO_LEFT, - WIN_TO_RIGHT, - // OTHER OLD STUFF - LOWER, - RAISE, - MAC_TGL, - INC_MACROS_START, - INC_MACROS_END, -}; - -//**************** KEYCODES *********************// -enum layers { - _QWERTY, - _SYMB, - _NAV, - _ADJUST, - _F, - _D, - _S, - _A, - _J, - _K, - // iris specific - TBD - _LOWER, - _RAISE, - _MACROS, - _SAFE_LAYER -}; - -//===== Function letters -#define FN_F LT(_F, KC_F) -#define FN_D LT(_D, KC_D) -#define FN_S LT(_S, KC_S) -#define FN_A LT(_A, KC_A) -#define FN_K LT(_K, KC_K) -#define FN_J LT(_J, KC_J) -#define KC_FN_D FN_D -#define KC_FN_S FN_S -#define KC_FN_F FN_F - -#define KC_MACROS OSL(_MACROS) - -#define KC_E_COLN LSFT(KC_DOT) -#define KC_E_EQL ES_EQL -#define KC_GUI OSM(MOD_RGUI) -#define KC_R_NUB S(KC_NUBS) -#define KC_E_LT KC_NUBS -#define KC_E_GT S(KC_NUBS) -#define KC_E_TILD ES_TILD -#define KC_E_MINS ES_MINS -#define KC_E_OVRR ES_MORD -#define KC_E_APOS ES_QUOT -#define KC_E_IEXL ES_IEXL -//========== Short hand for complex key combinations -#define WIN_LEFT_HALF LALT(LGUI(KC_LEFT)) -#define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT)) -#define ALL_WIN LCTL(KC_DOWN) -#define EXPOSE LGUI(KC_DOWN) -// ========== Modifiers!! -#define SHIFT OSM(MOD_LSFT) -//=============== tap for key hold for mod -#define HYPR_H HYPR_T(KC_H) -#define CTL_K RCTL_T(KC_K) -#define ALT_J ALT_T(KC_J) -#define SFT_MINS LSFT_T(KC_MINS) // tap - hold shift -#define CMD_MINS GUI_T(KC_MINS) // tap - hold cmd -#define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd -#define SFT_QUOT LSFT_T(KC_QUOTE) // tap ' hold shift -//=============== Movement modified -#define CTL_LEFT LCTL(KC_LEFT) -#define CTL_RIGHT LCTL(KC_RIGHT) - -#define SFT_LEFT LSFT(KC_LEFT) -#define SFT_RIGHT LSFT(KC_RIGHT) -#define SHIFT_UP LSFT(KC_UP) -#define SHIFT_DWN LSFT(KC_DOWN) -#define SFT_LEFT_END LGUI(LSFT(KC_LEFT)) -#define SFT_RIGHT_END LGUI(LSFT(KC_RIGHT)) diff --git a/users/danielo515/readme.md b/users/danielo515/readme.md deleted file mode 100644 index 1343df9786..0000000000 --- a/users/danielo515/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2017 Daniel Rodriguez @ danielo515 - -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 . diff --git a/users/danielo515/rules.mk b/users/danielo515/rules.mk deleted file mode 100644 index c77e2f0155..0000000000 --- a/users/danielo515/rules.mk +++ /dev/null @@ -1,11 +0,0 @@ -SRC += danielo515.c \ - alt_tab.c \ - process_records.c - -ifeq ($(strip $(COMBO_ENABLE)), yes) - SRC += combo.c -endif - -ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) - SRC += tap_dance.c -endif diff --git a/users/danielo515/tap_dance.c b/users/danielo515/tap_dance.c deleted file mode 100644 index b69ee715d4..0000000000 --- a/users/danielo515/tap_dance.c +++ /dev/null @@ -1,139 +0,0 @@ -#include "tap_dance.h" -//**************** Definitions needed for quad function to work *********************// -#ifdef QUAD_DANCE -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 || state->pressed == 0) - 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. In example below, that means to send `xx` instead of `Escape`. - else if (state->count == 2) - { - if (state->interrupted) - return DOUBLE_SINGLE_TAP; - else if (state->pressed) - return DOUBLE_HOLD; - else - return DOUBLE_TAP; - } - else - return 6; //magic number. At some point this method will expand to work for more presses -}; - -//**************** Definitions needed for quad function to work *********************// -# endif - -// Slightly better tap dance double: interruption sends double single and any number over double sends the single that number of times -void tap_dance_pair_finished_safe(tap_dance_state_t *state, void *user_data) { - tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data; - int count = state->count; - if (state->count == 2) { - if (state->interrupted){ - tap_code16(pair->kc1);register_code16 (pair->kc1); - state->count = 1; // Reset the counter as we are using the first key - } else register_code16 (pair->kc2); - return; - } - register_code16 (pair->kc1); - while(--count){ - unregister_code16(pair->kc1); - register_code16 (pair->kc1); - } -} - -void tap_dance_pair_reset_safe(tap_dance_state_t *state, void *user_data) { - tap_dance_pair_t *pair = (tap_dance_pair_t *)user_data; - if (state->count == 2) { - unregister_code16 (pair->kc2); - return; - } - unregister_code16(pair->kc1); -} - -//**************** Tap dance functions *********************// - -tap_dance_action_t tap_dance_actions[] = { - [COPY_CUT] = ACTION_TAP_DANCE_FN(td_copy_cut), - [PASTE_DANCE] = ACTION_TAP_DANCE_FN(td_paste), - [_TD_F1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_F1), - [_TD_F2] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_F2), - [_TD_F3] = ACTION_TAP_DANCE_DOUBLE(KC_3, KC_F3), - [_TD_F4] = ACTION_TAP_DANCE_DOUBLE(KC_4, KC_F4), - [_TD_F5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_F5), - [_TD_F6] = ACTION_TAP_DANCE_DOUBLE(KC_6, KC_F6), - [_TD_F7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_F7), - [_TD_F8] = ACTION_TAP_DANCE_DOUBLE(KC_8, KC_F8), - [_TD_F9] = ACTION_TAP_DANCE_DOUBLE(KC_9, KC_F9), - [_TD_F10] = ACTION_TAP_DANCE_DOUBLE(KC_0, KC_F10), - [_TD_F11] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_F11), - [_TD_F12] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_F12), - [_TD_H_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_H, KC_ENT), - [_TD_CLN] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_COLON), - [_TD_SLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLASH, KC_BACKSLASH), - // OLD ONES - [LEFT_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME), - [RGT_HOME] = ACTION_TAP_DANCE_DOUBLE_SAFE(KC_RGHT, KC_END), - [J_ENT] = ACTION_TAP_DANCE_DOUBLE_SAFE(KC_J,KC_ENT), - [H_MINS] = ACTION_TAP_DANCE_DOUBLE_SAFE(KC_H,KC_SLASH), - [_TD_COPY] = ACTION_TAP_DANCE_FN(dance_copy), - [_TD_CUT] = ACTION_TAP_DANCE_FN(dance_cut), - [_TD_PASTE] = ACTION_TAP_DANCE_FN(dance_paste) -}; - -void td_copy_cut(tap_dance_state_t *state, void *user_data) -{ - if (state->count == 2) - { - onMac ? SEND_STRING(SS_LGUI("x")) : SEND_STRING(SS_LCTL("x")); - } - else - { - onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTL("c")); - } - reset_tap_dance(state); -}; - -void td_paste(tap_dance_state_t *state, void *user_data) -{ - if (state->count == 2) - { - onMac ? SEND_STRING(SS_DOWN(X_RSFT) SS_LGUI("v") SS_UP(X_RSFT)) : SEND_STRING(SS_DOWN(X_RSFT) SS_LCTL("v") SS_UP(X_RSFT)); - } - else - { - onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTL("v")); - } - reset_tap_dance(state); -}; - -//===== The awesome tap dance for CUT, COPY and PASTE letters -void dance_copy (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { tap_code16(KC_C); } - else - if (state->interrupted) { tap_code16(KC_C);tap_code16(KC_C);} - else CMD(KC_C); - - reset_tap_dance (state); -} - -void dance_cut (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { tap_code16(KC_X); } - else { CMD(KC_X); } - reset_tap_dance (state); -} - -void dance_paste (tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - tap_code16(KC_V); - } - else { - CMD(KC_V); - } - reset_tap_dance (state); -} diff --git a/users/danielo515/tap_dance.h b/users/danielo515/tap_dance.h deleted file mode 100644 index aaf3864841..0000000000 --- a/users/danielo515/tap_dance.h +++ /dev/null @@ -1,81 +0,0 @@ -#include "quantum.h" -extern bool CMD(uint16_t kc); -extern bool onMac; - - -#define ACTION_TAP_DANCE_DOUBLE_SAFE(kc1, kc2) { \ - .fn = { NULL, tap_dance_pair_finished_safe, tap_dance_pair_reset_safe }, \ - .user_data = (void *)&((tap_dance_pair_t) { kc1, kc2 }), \ - } - -#ifdef QUAD_DANCE -//Enums used to clearly convey the state of the tap dance -enum { - SINGLE_TAP = 1, - SINGLE_HOLD = 2, - DOUBLE_TAP = 3, - DOUBLE_HOLD = 4, - DOUBLE_SINGLE_TAP = 5 //send SINGLE_TAP twice - NOT DOUBLE_TAP - // Add more enums here if you want for triple, quadruple, etc. -}; -int cur_dance (tap_dance_state_t *state); -# endif - -enum tap_dance { - COPY_CUT, - PASTE_DANCE, - _TD_F1, - _TD_F2, - _TD_F3, - _TD_F4, - _TD_F5, - _TD_F6, - _TD_F7, - _TD_F8, - _TD_F9, - _TD_F10, - _TD_F11, - _TD_F12, - _TD_H_ENTER, - _TD_CLN, - _TD_SLASH, - // old ones - LEFT_HOME, - J_ENT, - H_MINS, - RGT_HOME, - _TD_COPY, - _TD_CUT, - _TD_PASTE, -}; -void tap_dance_pair_finished_safe(tap_dance_state_t *state, void *user_data); -void tap_dance_pair_reset_safe(tap_dance_state_t *state, void *user_data); -void td_copy_cut (tap_dance_state_t *state, void *user_data); -void td_paste(tap_dance_state_t *state, void *user_data); -int cur_dance (tap_dance_state_t *state); -void dance_cut (tap_dance_state_t *state, void *user_data); -void dance_copy (tap_dance_state_t *state, void *user_data); -void dance_paste (tap_dance_state_t *state, void *user_data); - -// Ready to use Tap dance definitions, just put them on your layout -#define TD_COPY TD(_TD_COPY) -#define TD_CUT TD(_TD_CUT) -#define KC_TD_COPY TD(_TD_COPY) // Declarations for macros that add KC_ -#define KC_TD_CUT TD(_TD_CUT) -#define KC_TD_PASTE TD(_TD_PASTE) -#define KC_E_GRV ES_GRV -#define TD_F1 TD(_TD_F1) -#define TD_F2 TD(_TD_F2) -#define TD_F3 TD(_TD_F3) -#define TD_F4 TD(_TD_F4) -#define TD_F5 TD(_TD_F5) -#define TD_F6 TD(_TD_F6) -#define TD_F7 TD(_TD_F7) -#define TD_F8 TD(_TD_F8) -#define TD_F9 TD(_TD_F9) -#define TD_F10 TD(_TD_F10) -#define TD_F11 TD(_TD_F11) -#define TD_F12 TD(_TD_F12) -#define H_ENTER TD(_TD_H_ENTER) -#define TD_CLN TD(_TD_CLN) -#define TD_SLASH TD(_TD_SLASH) -- cgit v1.2.3