forked from mirrors/qmk_userspace
Keymap introspection for combos. (#19670)
This commit is contained in:
parent
433dc60686
commit
5faa23d54c
226 changed files with 533 additions and 729 deletions
|
@ -37,10 +37,8 @@ enum combo_events {
|
|||
ED_ENTER,
|
||||
|
||||
ED_CS_ENTER,
|
||||
BSPC_LSFT_CLEAR,
|
||||
COMBO_LENGTH
|
||||
BSPC_LSFT_CLEAR
|
||||
};
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH; // do not remove - needed for combos to work
|
||||
|
||||
const uint16_t PROGMEM combo_up[] = {KC_W, KC_R, COMBO_END};
|
||||
const uint16_t PROGMEM combo_left[] = {KC_S, KC_E, COMBO_END};
|
||||
|
@ -122,7 +120,7 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
|||
tap_code16(A(KC_RIGHT));
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case BSPC_LSFT_CLEAR:
|
||||
if (pressed) {
|
||||
tap_code16(KC_END);
|
||||
|
@ -134,7 +132,7 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
|||
if (pressed) {
|
||||
tap_code16(C(S(KC_ENTER)));
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -210,63 +208,63 @@ void send_string_with_translation(char *string) {
|
|||
|
||||
case 'w':
|
||||
toPrint = 'd';
|
||||
break;
|
||||
break;
|
||||
case 'e':
|
||||
toPrint = 'r';
|
||||
break;
|
||||
break;
|
||||
case 'r':
|
||||
toPrint = 'w';
|
||||
break;
|
||||
break;
|
||||
case 't':
|
||||
toPrint = 'b';
|
||||
break;
|
||||
break;
|
||||
case 'y':
|
||||
toPrint = 'j';
|
||||
break;
|
||||
break;
|
||||
case 'u':
|
||||
toPrint = 'f';
|
||||
break;
|
||||
break;
|
||||
case 'i':
|
||||
toPrint = 'u';
|
||||
break;
|
||||
break;
|
||||
case 'o':
|
||||
toPrint = 'p';
|
||||
break;
|
||||
break;
|
||||
case 'p':
|
||||
toPrint = ';';
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
toPrint = 'h';
|
||||
break;
|
||||
break;
|
||||
case 'f':
|
||||
toPrint = 't';
|
||||
break;
|
||||
break;
|
||||
case 'h':
|
||||
toPrint = 'y';
|
||||
break;
|
||||
break;
|
||||
case 'j':
|
||||
toPrint = 'n';
|
||||
break;
|
||||
break;
|
||||
case 'k':
|
||||
toPrint = 'e';
|
||||
break;
|
||||
break;
|
||||
case 'l':
|
||||
toPrint = 'o';
|
||||
break;
|
||||
break;
|
||||
case ';':
|
||||
toPrint = 'i';
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
toPrint = 'm';
|
||||
break;
|
||||
break;
|
||||
case 'n':
|
||||
toPrint = 'k';
|
||||
break;
|
||||
break;
|
||||
case 'm':
|
||||
toPrint = 'l';
|
||||
break;
|
||||
break;
|
||||
}
|
||||
if (isUpperCase) {
|
||||
isUpperCase = 0;
|
||||
|
@ -306,4 +304,4 @@ void send_shifted_strings_add(char *string1, char *string2) {
|
|||
send_string(string2);
|
||||
char_to_bspace = strlen(string1) + strlen(string2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ 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[COMBO_COUNT] = {
|
||||
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),
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#if defined(COMBO_ENABLE)
|
||||
# define COMBO_COUNT 11
|
||||
# define COMBO_TERM 25
|
||||
#endif // !COMBO_ENABLE
|
||||
// Timeout settings for leader key
|
||||
|
|
|
@ -52,10 +52,7 @@ void process_combo_event(uint16_t combo_index, bool pressed);
|
|||
#define TOGG A_ENUM
|
||||
enum combos {
|
||||
#include "combos.def"
|
||||
COMBO_LENGTH
|
||||
};
|
||||
// Export length to combo module
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||
|
||||
// Bake combos into mem
|
||||
#undef COMB
|
||||
|
|
|
@ -64,7 +64,7 @@ const uint16_t PROGMEM rl_i_ii_combo[] = {RLI, RLII, COMBO_END};
|
|||
// both hand combinations.
|
||||
const uint16_t PROGMEM bl_m_m_combo[] = {LLM, RLM, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
// left hand combinations.
|
||||
[R_U_PINKY_RING] = COMBO(lu_p_r_combo, KC_TAB),
|
||||
[R_U_RING_MIDDLE] = COMBO(lu_r_m_combo, KC_QUES),
|
||||
|
@ -93,4 +93,4 @@ combo_t key_combos[COMBO_COUNT] = {
|
|||
|
||||
// both hand combinations.
|
||||
[B_L_MIDDLE_MIDDLE] = COMBO(bl_m_m_combo, KC_ENT),
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#pragma once
|
||||
|
||||
#define COMBO_TERM 50
|
||||
#define COMBO_COUNT 50
|
||||
|
||||
#define PERMISSIVE_HOLD
|
||||
#define PERMISSIVE_HOLD
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#define ONESHOT_TIMEOUT 2000
|
||||
|
||||
// Enable combos for vim
|
||||
#define COMBO_COUNT 5 // Specify the number of combos used. BE SURE TO INCREMENT AS NEEDED
|
||||
#define COMBO_TERM 50 // window in milliseconds to trigger combo
|
||||
|
||||
// Allow more than 4 keys to be sent to the system. Useful for gaming.
|
||||
|
|
|
@ -15,9 +15,7 @@ const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END};
|
|||
const uint16_t PROGMEM copy_combo[] = {KC_X, KC_C, COMBO_END};
|
||||
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
|
||||
|
||||
|
||||
// BE SURE TO UPDATE THE CONFIG.H "COMBO_COUNT" value when you add elements here!
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
COMBO(jk_combo, KC_ESC),
|
||||
COMBO(df_combo, KC_COLON),
|
||||
COMBO(sd_combo, KC_SLASH),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#pragma once
|
||||
#pragma once
|
||||
#include "quantum.h"
|
||||
enum combo_events {
|
||||
ZV_COPY,
|
||||
|
@ -12,10 +12,9 @@ const uint16_t PROGMEM cut_combo[] = {KC_X, KC_V, COMBO_END};
|
|||
const uint16_t PROGMEM paste_combo[] = {KC_C, KC_V, COMBO_END};
|
||||
const uint16_t PROGMEM sleep_combo[] = {KC_Q, KC_P, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[ZV_COPY] = COMBO_ACTION(copy_combo),
|
||||
[XV_CUT] = COMBO_ACTION(cut_combo),
|
||||
[CV_PASTE] = COMBO_ACTION(paste_combo),
|
||||
[QP_SLEEP] = COMBO_ACTION(sleep_combo),
|
||||
};
|
||||
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
#endif // !LEADER_ENABLE
|
||||
|
||||
#if defined(COMBO_ENABLE)
|
||||
# define COMBO_COUNT 4
|
||||
# define COMBO_TERM 150
|
||||
#endif // !COMBO_ENABLE
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
|
||||
// Thumb Combos
|
||||
#if defined (MIRYOKU_KLUDGE_THUMBCOMBOS)
|
||||
#define COMBO_COUNT 8
|
||||
#define COMBO_TERM 200
|
||||
#define EXTRA_SHORT_COMBOS
|
||||
#endif
|
||||
|
|
|
@ -74,7 +74,7 @@ const uint16_t PROGMEM thumbcombos_sym[] = {KC_UNDS, KC_LPRN, COMBO_END};
|
|||
const uint16_t PROGMEM thumbcombos_sym[] = {KC_RPRN, KC_UNDS, COMBO_END};
|
||||
#endif
|
||||
const uint16_t PROGMEM thumbcombos_fun[] = {KC_SPC, KC_TAB, COMBO_END};
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
COMBO(thumbcombos_base_right, LT(U_FUN, KC_DEL)),
|
||||
COMBO(thumbcombos_base_left, LT(U_MEDIA, KC_ESC)),
|
||||
COMBO(thumbcombos_nav, KC_DEL),
|
||||
|
|
|
@ -35,6 +35,4 @@
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
#define COMBO_COUNT 3
|
||||
#define COMBO_TERM 40
|
||||
|
|
|
@ -27,8 +27,7 @@ const uint16_t PROGMEM h_comm_tab[] = {KC_H, KC_COMM, COMBO_END};
|
|||
const uint16_t PROGMEM l_u_scln[] = {KC_L, KC_U, COMBO_END};
|
||||
const uint16_t PROGMEM j_m_caps[] = {KC_J, KC_M, COMBO_END};
|
||||
|
||||
// COMBO_COUNT defined in config.h
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[H_COMM_TAB] = COMBO(h_comm_tab, KC_TAB),
|
||||
[L_U_SCLN] = COMBO(l_u_scln, KC_SCLN),
|
||||
[J_M_CAPS] = COMBO(j_m_caps, KC_CAPS),
|
||||
|
|
|
@ -24,7 +24,7 @@ const uint16_t PROGMEM superduper_combos[SUPERDUPER_COMBO_COUNT][3] = {
|
|||
[_QWOC] = {CM_S, CM_D, COMBO_END},
|
||||
};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[CB_SUPERDUPER] = COMBO_ACTION(superduper_combos[_QWERTY]),
|
||||
};
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ const uint16_t PROGMEM tab_combo[] = {KC_Q, KC_T, COMBO_END};
|
|||
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
|
||||
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[EQ_QUIT] = COMBO_ACTION(quit_combo),
|
||||
[RW_CLOSE] = COMBO_ACTION(close_combo),
|
||||
[QT_TAB] = COMBO_ACTION(tab_combo),
|
||||
|
@ -52,4 +52,4 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -15,8 +15,6 @@
|
|||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
#ifdef COMBO_ENABLE
|
||||
#undef COMBO_COUNT
|
||||
#undef COMBO_TERM
|
||||
#define COMBO_COUNT 5
|
||||
#define COMBO_TERM 60
|
||||
#endif
|
||||
|
|
|
@ -181,7 +181,7 @@ const uint16_t PROGMEM xcombo_redo[] = {KC_B, KC_H, COMBO_END};
|
|||
const uint16_t PROGMEM xcombo_pgup[] = {KC_G, KC_B, COMBO_END};
|
||||
const uint16_t PROGMEM xcombo_pgdn[] = {KC_G, KC_K, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[VCOMBO_PU] = COMBO(vcombo_pu, KC_CIRC),
|
||||
[VCOMBO_NU] = COMBO(vcombo_nu, KC_LBRC),
|
||||
[VCOMBO_EU] = COMBO(vcombo_eu, LSFT(KC_9)),
|
||||
|
|
|
@ -19,5 +19,4 @@
|
|||
|
||||
#define RESET_LAYER 15
|
||||
|
||||
#define COMBO_COUNT 2
|
||||
#define COMBO_TERM 250
|
||||
|
|
|
@ -125,8 +125,6 @@ const uint16_t PROGMEM my_combos[][4] = {
|
|||
{KC_BTN1, KC_BTN2, KC_BTN3, COMBO_END},
|
||||
};
|
||||
|
||||
const uint16_t COMBO_LEN = ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos);
|
||||
|
||||
#define MY_ACTION_COMBO(ck) \
|
||||
[ck] = { .keys = &(my_action_combos[ck][0]) }
|
||||
#define MY_COMBO(ck) \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#pragma once
|
||||
#pragma once
|
||||
#include "quantum.h"
|
||||
enum combo_events {
|
||||
ZV_COPY,
|
||||
|
@ -12,10 +12,9 @@ const uint16_t PROGMEM cut_combo[] = {KC_X, KC_V, COMBO_END};
|
|||
const uint16_t PROGMEM paste_combo[] = {KC_C, KC_V, COMBO_END};
|
||||
const uint16_t PROGMEM sleep_combo[] = {KC_Q, KC_P, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[ZV_COPY] = COMBO_ACTION(copy_combo),
|
||||
[XV_CUT] = COMBO_ACTION(cut_combo),
|
||||
[CV_PASTE] = COMBO_ACTION(paste_combo),
|
||||
[QP_SLEEP] = COMBO_ACTION(sleep_combo),
|
||||
};
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#endif // !LEADER_ENABLE
|
||||
|
||||
#if defined(COMBO_ENABLE)
|
||||
#define COMBO_COUNT 4
|
||||
#define COMBO_TERM 150
|
||||
#endif // !COMBO_ENABLE
|
||||
|
||||
|
|
|
@ -15,10 +15,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
enum combos {
|
||||
EM_EMAIL,
|
||||
CL_CAPSL,
|
||||
COMBO_LENGTH
|
||||
CL_CAPSL
|
||||
};
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||
|
||||
const uint16_t PROGMEM email_combo[] = {LT(_SYM, KC_E), KC_M, COMBO_END};
|
||||
const uint16_t PROGMEM caps_combo[] = {KC_C, KC_L, COMBO_END};
|
||||
|
@ -37,4 +35,3 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue