diff options
Diffstat (limited to 'users/ibnuda/combo.h')
| -rw-r--r-- | users/ibnuda/combo.h | 109 |
1 files changed, 72 insertions, 37 deletions
diff --git a/users/ibnuda/combo.h b/users/ibnuda/combo.h index a9fa69d22..5a331e7d0 100644 --- a/users/ibnuda/combo.h +++ b/users/ibnuda/combo.h | |||
| @@ -1,61 +1,96 @@ | |||
| 1 | #pragma once | 1 | #pragma once |
| 2 | #include "quantum.h" | 2 | #include "quantum.h" |
| 3 | 3 | ||
| 4 | #include "abstraction.h" | ||
| 5 | |||
| 4 | // enum for combos. | 6 | // enum for combos. |
| 5 | enum combos { | 7 | enum combos { |
| 6 | // left hand combinations. | 8 | // left hand combinations. |
| 7 | COLON_COMMA, | 9 | R_U_PINKY_RING, |
| 8 | COMMA_DOT, | 10 | R_U_RING_MIDDLE, |
| 9 | DOT_P, | 11 | R_U_RING_INDEX, |
| 10 | QUOT_Q, | 12 | R_U_MIDDLE_INDEX, |
| 11 | Q_J, | 13 | R_U_MIDDLE_INNER_INDEX, |
| 12 | J_K, | 14 | R_U_INDEX_INNER_INDEX, |
| 15 | R_L_PINKY_RING, | ||
| 16 | R_L_RING_MIDDLE, | ||
| 17 | R_L_RING_INDEX, | ||
| 18 | R_L_MIDDLE_INDEX, | ||
| 19 | R_L_INDEX_INNER_INDEX, | ||
| 13 | 20 | ||
| 14 | // right hand combinations. | 21 | // right hand combinations. |
| 15 | L_R, | 22 | L_U_PINKY_RING, |
| 16 | R_C, | 23 | L_U_RING_MIDDLE, |
| 17 | C_G, | 24 | L_U_RING_INDEX, |
| 18 | V_W, | 25 | L_U_MIDDLE_INDEX, |
| 19 | W_M, | 26 | L_U_MIDDLE_INNER_INDEX, |
| 27 | L_U_INNER_INNER_INDEX, | ||
| 28 | L_L_PINKY_RING, | ||
| 29 | L_L_RING_MIDDLE, | ||
| 30 | L_L_MIDDLE_INDEX, | ||
| 31 | L_L_RING_INDEX, | ||
| 32 | L_L_INDEX_INNER_INDEX, | ||
| 20 | 33 | ||
| 21 | // both hands combinations. | 34 | // both hands combinations. |
| 22 | J_W, | 35 | B_L_MIDDLE_MIDDLE, |
| 23 | }; | 36 | }; |
| 24 | 37 | ||
| 25 | // left hand combinations. | 38 | // left hand combinations. |
| 26 | const uint16_t PROGMEM colon_comma_combo[] = {KC_SCLN, KC_COMM, COMBO_END}; | 39 | const uint16_t PROGMEM lu_p_r_combo[] = {LUP, LUR, COMBO_END}; |
| 27 | const uint16_t PROGMEM comma_dot_combo[] = {KC_COMM, KC_DOT, COMBO_END}; | 40 | const uint16_t PROGMEM lu_r_m_combo[] = {LUR, LUM, COMBO_END}; |
| 28 | const uint16_t PROGMEM dot_p_combo[] = {KC_DOT, KC_P, COMBO_END}; | 41 | const uint16_t PROGMEM lu_r_i_combo[] = {LUR, LUI, COMBO_END}; |
| 29 | const uint16_t PROGMEM quot_q_combo[] = {KC_QUOT, KC_Q, COMBO_END}; | 42 | const uint16_t PROGMEM lu_m_i_combo[] = {LUM, LUI, COMBO_END}; |
| 30 | const uint16_t PROGMEM q_j_combo[] = {KC_Q, KC_J, COMBO_END}; | 43 | const uint16_t PROGMEM lu_m_ii_combo[] = {LUM, LUII, COMBO_END}; |
| 31 | const uint16_t PROGMEM j_k_combo[] = {KC_J, KC_K, COMBO_END}; | 44 | const uint16_t PROGMEM lu_i_ii_combo[] = {LUI, LUII, COMBO_END}; |
| 45 | const uint16_t PROGMEM ll_p_r_combo[] = {LLP, LLR, COMBO_END}; | ||
| 46 | const uint16_t PROGMEM ll_r_m_combo[] = {LLR, LLM, COMBO_END}; | ||
| 47 | const uint16_t PROGMEM ll_r_i_combo[] = {LLR, LLI, COMBO_END}; | ||
| 48 | const uint16_t PROGMEM ll_m_i_combo[] = {LLM, LLI, COMBO_END}; | ||
| 49 | const uint16_t PROGMEM ll_i_ii_combo[] = {LLI, LLII, COMBO_END}; | ||
| 32 | 50 | ||
| 33 | // right hand combinations. | 51 | // right hand combinations. |
| 34 | const uint16_t PROGMEM l_r_combo[] = {KC_L, KC_R, COMBO_END}; | 52 | const uint16_t PROGMEM ru_p_r_combo[] = {RUP, RUR, COMBO_END}; |
| 35 | const uint16_t PROGMEM r_c_combo[] = {KC_R, KC_C, COMBO_END}; | 53 | const uint16_t PROGMEM ru_r_m_combo[] = {RUR, RUM, COMBO_END}; |
| 36 | const uint16_t PROGMEM c_g_combo[] = {KC_C, KC_G, COMBO_END}; | 54 | const uint16_t PROGMEM ru_r_i_combo[] = {RUR, RUI, COMBO_END}; |
| 37 | const uint16_t PROGMEM v_w_combo[] = {KC_V, KC_W, COMBO_END}; | 55 | const uint16_t PROGMEM ru_m_i_combo[] = {RUM, RUI, COMBO_END}; |
| 38 | const uint16_t PROGMEM w_m_combo[] = {KC_W, KC_M, COMBO_END}; | 56 | const uint16_t PROGMEM ru_m_ii_combo[] = {RUM, RUII, COMBO_END}; |
| 57 | const uint16_t PROGMEM ru_i_ii_combo[] = {RUI, RUII, COMBO_END}; | ||
| 58 | const uint16_t PROGMEM rl_p_r_combo[] = {RLP, RLR, COMBO_END}; | ||
| 59 | const uint16_t PROGMEM rl_r_m_combo[] = {RLR, RLM, COMBO_END}; | ||
| 60 | const uint16_t PROGMEM rl_r_i_combo[] = {RLR, RLI, COMBO_END}; | ||
| 61 | const uint16_t PROGMEM rl_m_i_combo[] = {RLM, RLI, COMBO_END}; | ||
| 62 | const uint16_t PROGMEM rl_i_ii_combo[] = {RLI, RLII, COMBO_END}; | ||
| 39 | 63 | ||
| 40 | // both hand combinations. | 64 | // both hand combinations. |
| 41 | const uint16_t PROGMEM j_w_combo[] = {KC_J, KC_W, COMBO_END}; | 65 | const uint16_t PROGMEM bl_m_m_combo[] = {LLM, RLM, COMBO_END}; |
| 42 | 66 | ||
| 43 | combo_t key_combos[COMBO_COUNT] = { | 67 | combo_t key_combos[COMBO_COUNT] = { |
| 44 | // left hand combinations. | 68 | // left hand combinations. |
| 45 | [COLON_COMMA] = COMBO(colon_comma_combo, KC_TAB), | 69 | [R_U_PINKY_RING] = COMBO(lu_p_r_combo, KC_TAB), |
| 46 | [COMMA_DOT] = COMBO(comma_dot_combo, KC_QUES), | 70 | [R_U_RING_MIDDLE] = COMBO(lu_r_m_combo, KC_QUES), |
| 47 | [DOT_P] = COMBO(dot_p_combo, KC_UNDS), | 71 | [R_U_RING_INDEX] = COMBO(lu_r_i_combo, PRVTAB), |
| 48 | [QUOT_Q] = COMBO(quot_q_combo, KC_ENT), | 72 | [R_U_MIDDLE_INDEX] = COMBO(lu_m_i_combo, KC_UNDS), |
| 49 | [Q_J] = COMBO(q_j_combo, LCTL(KC_W)), | 73 | [R_U_MIDDLE_INNER_INDEX] = COMBO(lu_m_ii_combo, KC_ENT), |
| 50 | [J_K] = COMBO(j_k_combo, KC_DELT), | 74 | [R_U_INDEX_INNER_INDEX] = COMBO(lu_i_ii_combo, KC_PIPE), |
| 75 | [R_L_PINKY_RING] = COMBO(ll_p_r_combo, KC_ENT), | ||
| 76 | [R_L_RING_MIDDLE] = COMBO(ll_r_m_combo, LCTL(KC_W)), | ||
| 77 | [R_L_RING_INDEX] = COMBO(ll_r_i_combo, KC_TAB), | ||
| 78 | [R_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DELT), | ||
| 79 | [R_L_INDEX_INNER_INDEX] = COMBO(ll_i_ii_combo, KC_TILD), | ||
| 51 | 80 | ||
| 52 | // right hand combinations. | 81 | // right hand combinations. |
| 53 | [L_R] = COMBO(l_r_combo, KC_BSPC), | 82 | [L_U_PINKY_RING] = COMBO(ru_p_r_combo, KC_BSPC), |
| 54 | [R_C] = COMBO(r_c_combo, KC_SLSH), | 83 | [L_U_RING_MIDDLE] = COMBO(ru_r_m_combo, KC_SLSH), |
| 55 | [C_G] = COMBO(c_g_combo, KC_MINS), | 84 | [L_U_RING_INDEX] = COMBO(ru_r_i_combo, NXTTAB), |
| 56 | [V_W] = COMBO(v_w_combo, KC_APP), | 85 | [L_U_MIDDLE_INDEX] = COMBO(ru_m_i_combo, KC_MINS), |
| 57 | [W_M] = COMBO(w_m_combo, KC_DELT), | 86 | [L_U_MIDDLE_INNER_INDEX] = COMBO(ru_m_ii_combo, KC_ENT), |
| 87 | [L_U_INNER_INNER_INDEX] = COMBO(ru_i_ii_combo, KC_BSLS), | ||
| 88 | [L_L_PINKY_RING] = COMBO(rl_p_r_combo, KC_BSLS), | ||
| 89 | [L_L_RING_MIDDLE] = COMBO(rl_r_m_combo, KC_APP), | ||
| 90 | [L_L_RING_INDEX] = COMBO(rl_r_i_combo, LSFT(KC_TAB)), | ||
| 91 | [L_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DELT), | ||
| 92 | [L_L_INDEX_INNER_INDEX] = COMBO(rl_i_ii_combo, KC_GRV), | ||
| 58 | 93 | ||
| 59 | // both hand combinations. | 94 | // both hand combinations. |
| 60 | [J_W] = COMBO(j_w_combo, KC_ENT), | 95 | [B_L_MIDDLE_MIDDLE] = COMBO(bl_m_m_combo, KC_ENT), |
| 61 | }; | 96 | }; \ No newline at end of file |
