diff options
| author | Ibnu Daru Aji <ibnuda@users.noreply.github.com> | 2021-09-01 01:23:02 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-31 11:23:02 -0700 |
| commit | 6f5428687c37d45cf279d9d3f44de1098a767723 (patch) | |
| tree | 4e83e846eb6a4e613683fc1409eab79b529a36ee /users | |
| parent | bdd0a6c09789e3e4380f4351f1f83004542d309f (diff) | |
| download | qmk_firmware-6f5428687c37d45cf279d9d3f44de1098a767723.tar.gz qmk_firmware-6f5428687c37d45cf279d9d3f44de1098a767723.zip | |
[Keymap] reflects current rick's keymap (#14169)
Diffstat (limited to 'users')
| -rw-r--r-- | users/ibnuda/abstraction.c | 17 | ||||
| -rw-r--r-- | users/ibnuda/abstraction.h | 117 | ||||
| -rw-r--r-- | users/ibnuda/combo.h | 109 | ||||
| -rw-r--r-- | users/ibnuda/config.h | 8 | ||||
| -rw-r--r-- | users/ibnuda/ibnuda.h | 52 | ||||
| -rw-r--r-- | users/ibnuda/rules.mk | 6 | ||||
| -rw-r--r-- | users/ibnuda/tapdance.c | 83 | ||||
| -rw-r--r-- | users/ibnuda/tapdance.h | 23 | ||||
| -rw-r--r-- | users/ibnuda/wrapper.h | 38 |
9 files changed, 210 insertions, 243 deletions
diff --git a/users/ibnuda/abstraction.c b/users/ibnuda/abstraction.c new file mode 100644 index 000000000..757248a26 --- /dev/null +++ b/users/ibnuda/abstraction.c | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | /* Copyright 2021 Ibnu D. Aji | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #include "abstraction.h" \ No newline at end of file | ||
diff --git a/users/ibnuda/abstraction.h b/users/ibnuda/abstraction.h new file mode 100644 index 000000000..0870116c9 --- /dev/null +++ b/users/ibnuda/abstraction.h | |||
| @@ -0,0 +1,117 @@ | |||
| 1 | /* Copyright 2021 Ibnu D. Aji | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | #include "quantum.h" | ||
| 19 | |||
| 20 | enum { | ||
| 21 | _BASE, | ||
| 22 | _LOWER, | ||
| 23 | _RAISE, | ||
| 24 | _ADJUST, | ||
| 25 | }; | ||
| 26 | |||
| 27 | // keycode abstraction | ||
| 28 | // ABC: | ||
| 29 | // A: L = left | ||
| 30 | // R = right | ||
| 31 | // B: U = upper row | ||
| 32 | // M = middle row | ||
| 33 | // L = lower row | ||
| 34 | // C: P = pinky finger | ||
| 35 | // R = ring finger | ||
| 36 | // M = middle finger | ||
| 37 | // I = index finger | ||
| 38 | // II = inner index finger | ||
| 39 | #define LUP KC_Q | ||
| 40 | #define LUR KC_V | ||
| 41 | #define LUM KC_C | ||
| 42 | #define LUI KC_P | ||
| 43 | #define LUII KC_B | ||
| 44 | #define LMP KC_R | ||
| 45 | #define LMR KC_S | ||
| 46 | #define LMM KC_T | ||
| 47 | #define LMI KC_H | ||
| 48 | #define LMII KC_D | ||
| 49 | #define LLP KC_QUOT | ||
| 50 | #define LLR KC_J | ||
| 51 | #define LLM KC_G | ||
| 52 | #define LLI KC_K | ||
| 53 | #define LLII KC_X | ||
| 54 | |||
| 55 | #define RUP KC_Z | ||
| 56 | #define RUR KC_Y | ||
| 57 | #define RUM KC_U | ||
| 58 | #define RUI KC_L | ||
| 59 | #define RUII KC_DOT | ||
| 60 | #define RMP KC_O | ||
| 61 | #define RMR KC_I | ||
| 62 | #define RMM KC_A | ||
| 63 | #define RMI KC_N | ||
| 64 | #define RMII KC_F | ||
| 65 | #define RLP KC_SLSH | ||
| 66 | #define RLR KC_SCLN | ||
| 67 | #define RLM KC_W | ||
| 68 | #define RLI KC_M | ||
| 69 | #define RLII KC_COMM | ||
| 70 | |||
| 71 | |||
| 72 | // thumb keys. | ||
| 73 | #define TRAISE TG(_RAISE) | ||
| 74 | #define AL_ENT ALT_T(KC_ENT) | ||
| 75 | #define SF_BSPC SFT_T(KC_BSPC) | ||
| 76 | #define CT_ESC CTL_T(KC_ESC) | ||
| 77 | |||
| 78 | // home row mods. | ||
| 79 | #define CTLR LCTL_T(LMR) | ||
| 80 | #define CTRR RCTL_T(RMR) | ||
| 81 | #define CT_LEFT LCTL_T(KC_LEFT) | ||
| 82 | #define CT_SIX RCTL_T(KC_6) | ||
| 83 | |||
| 84 | #define SHLP LSFT_T(LMP) | ||
| 85 | #define SHRP RSFT_T(RMP) | ||
| 86 | #define SH_HASH LSFT_T(KC_HASH) | ||
| 87 | #define SH_ZERO RSFT_T(KC_0) | ||
| 88 | |||
| 89 | #define ALLM LALT_T(LMM) | ||
| 90 | #define ALRM RALT_T(RMM) | ||
| 91 | #define AL_DOWN LALT_T(KC_DOWN) | ||
| 92 | #define AL_FIVE RALT_T(KC_5) | ||
| 93 | |||
| 94 | #define GULII RGUI_T(LMII) | ||
| 95 | #define GURII LGUI_T(RMII) | ||
| 96 | #define GU_DLR RGUI_T(KC_DLR) | ||
| 97 | #define GU_EQL LGUI_T(KC_EQL) | ||
| 98 | |||
| 99 | // layer toggle. | ||
| 100 | #define LW_E LT(_LOWER, KC_E) | ||
| 101 | #define RS_SPC LT(_RAISE, KC_SPC) | ||
| 102 | |||
| 103 | #define ADDDD MO(_ADJUST) | ||
| 104 | |||
| 105 | // common shortcuts for windows and linux that i use. | ||
| 106 | #define NXTTAB LCTL(KC_PGDN) | ||
| 107 | #define PRVTAB LCTL(KC_PGUP) | ||
| 108 | #define UPTAB LCTL(LSFT(KC_PGUP)) | ||
| 109 | #define DNTAB LCTL(LSFT(KC_PGDN)) | ||
| 110 | #define NXTWIN LALT(KC_TAB) | ||
| 111 | #define PRVWIN LALT(LSFT(KC_TAB)) | ||
| 112 | #define CALDL LCTL(LALT(KC_DELT)) | ||
| 113 | #define TSKMGR LCTL(LSFT(KC_ESC)) | ||
| 114 | #define EXPLR LGUI(KC_E) | ||
| 115 | #define LCKGUI LGUI(KC_L) | ||
| 116 | #define CONPST LSFT(KC_INS) | ||
| 117 | #define CLSGUI LALT(KC_F4) | ||
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 |
diff --git a/users/ibnuda/config.h b/users/ibnuda/config.h index b43679a66..f9a89389b 100644 --- a/users/ibnuda/config.h +++ b/users/ibnuda/config.h | |||
| @@ -1,9 +1,7 @@ | |||
| 1 | #pragma once | 1 | #pragma once |
| 2 | 2 | ||
| 3 | #define COMBO_COUNT 18 | 3 | #define COMBO_TERM 50 |
| 4 | #define COMBO_TERM 100 | 4 | #define COMBO_COUNT 50 |
| 5 | 5 | ||
| 6 | #define IGNORE_MOD_TAP_INTERRUPT | 6 | #define IGNORE_MOD_TAP_INTERRUPT |
| 7 | #define PERMISSIVE_HOLD | 7 | #define PERMISSIVE_HOLD \ No newline at end of file |
| 8 | |||
| 9 | #define TAPPING_TERM 200 | ||
diff --git a/users/ibnuda/ibnuda.h b/users/ibnuda/ibnuda.h index f50949df5..6047b546f 100644 --- a/users/ibnuda/ibnuda.h +++ b/users/ibnuda/ibnuda.h | |||
| @@ -1,55 +1,5 @@ | |||
| 1 | #pragma once | 1 | #pragma once |
| 2 | #include "quantum.h" | 2 | #include "quantum.h" |
| 3 | 3 | ||
| 4 | #include "tapdance.h" | 4 | #include "abstraction.h" |
| 5 | #include "wrapper.h" | 5 | #include "wrapper.h" |
| 6 | //#include "combo.h" | ||
| 7 | |||
| 8 | enum { | ||
| 9 | _BASE, | ||
| 10 | _LOWER, | ||
| 11 | _RAISE, | ||
| 12 | _ADJUST, | ||
| 13 | }; | ||
| 14 | |||
| 15 | // thumb keys. | ||
| 16 | #define ALT_ENT ALT_T(KC_ENT) | ||
| 17 | #define SFT_ESC SFT_T(KC_ESC) | ||
| 18 | |||
| 19 | // home row mods. | ||
| 20 | #define CT_O LCTL_T(KC_O) | ||
| 21 | #define CT_N RCTL_T(KC_N) | ||
| 22 | #define SH_A LSFT_T(KC_A) | ||
| 23 | #define SH_S RSFT_T(KC_S) | ||
| 24 | #define AL_E LALT_T(KC_E) | ||
| 25 | #define AL_T RALT_T(KC_T) | ||
| 26 | #define GU_I LGUI_T(KC_I) | ||
| 27 | #define GU_D RGUI_T(KC_D) | ||
| 28 | |||
| 29 | // layer toggle. | ||
| 30 | #define LW_I LT(_LOWER, KC_I) | ||
| 31 | #define LW_BSPC LT(_LOWER, KC_BSPC) | ||
| 32 | #define RS_SPC LT(_RAISE, KC_SPC) | ||
| 33 | #define RS_D LT(_RAISE, KC_D) | ||
| 34 | |||
| 35 | // idk, man. not used, i guess. | ||
| 36 | #define ADDDD MO(_ADJUST) | ||
| 37 | |||
| 38 | // common shortcuts for windows and linux that i use. | ||
| 39 | #define NXTTAB LCTL(KC_PGDN) | ||
| 40 | #define PRVTAB LCTL(KC_PGUP) | ||
| 41 | #define UPTAB LCTL(LSFT(KC_PGUP)) | ||
| 42 | #define DNTAB LCTL(LSFT(KC_PGDN)) | ||
| 43 | #define NXTWIN LALT(KC_TAB) | ||
| 44 | #define PRVWIN LALT(LSFT(KC_TAB)) | ||
| 45 | #define CALDL LCTL(LALT(KC_DELT)) | ||
| 46 | #define TSKMGR LCTL(LSFT(KC_ESC)) | ||
| 47 | #define EXPLR LGUI(KC_E) | ||
| 48 | #define LCKGUI LGUI(KC_L) | ||
| 49 | #define CONPST LSFT(KC_INS) | ||
| 50 | #define CLSGUI LALT(KC_F4) | ||
| 51 | |||
| 52 | // tap dances | ||
| 53 | #define CTL_DLT TD(TD_DLT_CTLDLT) | ||
| 54 | #define SM_CLN TD(TD_SCLN_CLN) | ||
| 55 | #define LFT_TMB TD(TD_LEFT_THUMB) | ||
diff --git a/users/ibnuda/rules.mk b/users/ibnuda/rules.mk index 1cf315ebe..c4b096c4a 100644 --- a/users/ibnuda/rules.mk +++ b/users/ibnuda/rules.mk | |||
| @@ -1,14 +1,8 @@ | |||
| 1 | COMBO_ENABLE = yes | 1 | COMBO_ENABLE = yes |
| 2 | COMMAND_ENABLE = yes | ||
| 3 | CONSOLE_ENABLE = yes | 2 | CONSOLE_ENABLE = yes |
| 4 | TAP_DANCE_ENABLE = yes | ||
| 5 | 3 | ||
| 6 | SRC += ibnuda.c | 4 | SRC += ibnuda.c |
| 7 | 5 | ||
| 8 | ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) | ||
| 9 | SRC += tapdance.c | ||
| 10 | endif | ||
| 11 | |||
| 12 | ifeq ($(strip $(COMBO_ENABLE)), yes) | 6 | ifeq ($(strip $(COMBO_ENABLE)), yes) |
| 13 | SRC += combo.c | 7 | SRC += combo.c |
| 14 | endif | 8 | endif |
diff --git a/users/ibnuda/tapdance.c b/users/ibnuda/tapdance.c deleted file mode 100644 index c0d219258..000000000 --- a/users/ibnuda/tapdance.c +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | #include "tapdance.h" | ||
| 2 | |||
| 3 | static td_state_t td_state; | ||
| 4 | |||
| 5 | void dance_dlt_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 6 | if (state->count == 1) { | ||
| 7 | register_code16(KC_DELT); | ||
| 8 | } else { | ||
| 9 | register_code16(C(KC_DELT)); | ||
| 10 | } | ||
| 11 | } | ||
| 12 | |||
| 13 | void dance_dlt_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 14 | if (state->count == 1) { | ||
| 15 | unregister_code16(KC_DELT); | ||
| 16 | } else { | ||
| 17 | unregister_code16(C(KC_DELT)); | ||
| 18 | } | ||
| 19 | } | ||
| 20 | |||
| 21 | void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 22 | if (state->count == 1) { | ||
| 23 | register_code(KC_LSFT); | ||
| 24 | } | ||
| 25 | register_code(KC_SCLN); | ||
| 26 | } | ||
| 27 | |||
| 28 | void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 29 | if (state->count == 1) { | ||
| 30 | unregister_code(KC_LSFT); | ||
| 31 | } | ||
| 32 | unregister_code(KC_SCLN); | ||
| 33 | } | ||
| 34 | |||
| 35 | int current_dance(qk_tap_dance_state_t *state) { | ||
| 36 | if (state->count == 1) { | ||
| 37 | if (state->interrupted || !state->pressed) { | ||
| 38 | return SINGLE_TAP; | ||
| 39 | } else { | ||
| 40 | return SINGLE_HOLD; | ||
| 41 | } | ||
| 42 | } | ||
| 43 | if (state->count == 2) { | ||
| 44 | return DOUBLE_TAP; | ||
| 45 | } else { | ||
| 46 | return 3; | ||
| 47 | } | ||
| 48 | } | ||
| 49 | |||
| 50 | void dance_tmb_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 51 | td_state = current_dance(state); | ||
| 52 | switch (td_state) { | ||
| 53 | case SINGLE_TAP: | ||
| 54 | register_code16(KC_ESC); | ||
| 55 | break; | ||
| 56 | case SINGLE_HOLD: | ||
| 57 | register_mods(MOD_BIT(KC_LSFT)); | ||
| 58 | break; | ||
| 59 | case DOUBLE_TAP: | ||
| 60 | register_code16(KC_DELT); | ||
| 61 | break; | ||
| 62 | } | ||
| 63 | } | ||
| 64 | |||
| 65 | void dance_tmb_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 66 | switch (td_state) { | ||
| 67 | case SINGLE_TAP: | ||
| 68 | unregister_code16(KC_ESC); | ||
| 69 | break; | ||
| 70 | case SINGLE_HOLD: | ||
| 71 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 72 | break; | ||
| 73 | case DOUBLE_TAP: | ||
| 74 | unregister_code16(KC_DELT); | ||
| 75 | break; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | |||
| 79 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 80 | [TD_DLT_CTLDLT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_dlt_finished, dance_dlt_reset), | ||
| 81 | [TD_SCLN_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset), | ||
| 82 | [TD_LEFT_THUMB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_tmb_finished, dance_tmb_reset), | ||
| 83 | }; | ||
diff --git a/users/ibnuda/tapdance.h b/users/ibnuda/tapdance.h deleted file mode 100644 index 258321d4c..000000000 --- a/users/ibnuda/tapdance.h +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | #pragma once | ||
| 2 | #include "ibnuda.h" | ||
| 3 | |||
| 4 | #ifdef TAP_DANCE_ENABLE | ||
| 5 | typedef enum { | ||
| 6 | SINGLE_TAP, | ||
| 7 | SINGLE_HOLD, | ||
| 8 | DOUBLE_TAP, | ||
| 9 | } td_state_t; | ||
| 10 | |||
| 11 | int current_dance(qk_tap_dance_state_t *state); | ||
| 12 | |||
| 13 | void dance_tmb_finished(qk_tap_dance_state_t *state, void *user_data); | ||
| 14 | void dance_tmb_reset(qk_tap_dance_state_t *state, void *user_data); | ||
| 15 | |||
| 16 | // enum for tap dances. | ||
| 17 | enum { | ||
| 18 | TD_DLT_CTLDLT = 0, | ||
| 19 | TD_SCLN_CLN, | ||
| 20 | TD_LEFT_THUMB, | ||
| 21 | }; | ||
| 22 | |||
| 23 | #endif // TAP_DANCE_ENABLE | ||
diff --git a/users/ibnuda/wrapper.h b/users/ibnuda/wrapper.h index 34350cf36..c85be9d6b 100644 --- a/users/ibnuda/wrapper.h +++ b/users/ibnuda/wrapper.h | |||
| @@ -1,46 +1,8 @@ | |||
| 1 | #pragma once | 1 | #pragma once |
| 2 | #include "ibnuda.h" | ||
| 3 | 2 | ||
| 4 | /* | ||
| 5 | Since our quirky block definitions are basically a list of comma separated | ||
| 6 | arguments, we need a wrapper in order for these definitions to be | ||
| 7 | expanded before being used as arguments to the LAYOUT_xxx macro. | ||
| 8 | */ | ||
| 9 | #if (!defined(LAYOUT) && defined(KEYMAP)) | 3 | #if (!defined(LAYOUT) && defined(KEYMAP)) |
| 10 | # define LAYOUT KEYMAP | 4 | # define LAYOUT KEYMAP |
| 11 | #endif | 5 | #endif |
| 12 | 6 | ||
| 13 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) | 7 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) |
| 14 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | 8 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) |
| 15 | |||
| 16 | #define ________________DVORAK_L1_______________ KC_SCLN,KC_COMM,KC_DOT, KC_P, KC_Y | ||
| 17 | #define ________________DVORAK_L2_______________ SH_A, CT_O, AL_E, KC_U, GU_I | ||
| 18 | #define ________________DVORAK_L3_______________ KC_QUOT,KC_Q, KC_J, KC_K, KC_X | ||
| 19 | |||
| 20 | #define ________________DVORAK_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L | ||
| 21 | #define ________________DVORAK_R2_______________ GU_D, KC_H, AL_T, CT_N, SH_S | ||
| 22 | #define ________________DVORAK_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z | ||
| 23 | |||
| 24 | #define ________________RAISE_L1________________ KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR | ||
| 25 | #define ________________RAISE_L2________________ KC_HASH,KC_LEFT,KC_DOWN,KC_RGHT,KC_DLR | ||
| 26 | #define ________________RAISE_L3________________ KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR | ||
| 27 | |||
| 28 | #define ________________RAISE_R1________________ KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR | ||
| 29 | #define ________________RAISE_R2________________ KC_EQL, KC_4, KC_5, KC_6, KC_0 | ||
| 30 | #define ________________RAISE_R3________________ KC_GRV, KC_1, KC_2, KC_3, KC_PLUS | ||
| 31 | |||
| 32 | #define ________________LOWER_L1________________ KC_ESC, KC_QUES,KC_UNDS,KC_F1, KC_F2 | ||
| 33 | #define ________________LOWER_L2________________ KC_LSFT,KC_TAB, KC_PGUP,KC_F5, KC_F6 | ||
| 34 | #define ________________LOWER_L3________________ KC_CLCK,KC_SLCK,KC_PGDN,KC_F9, KC_F10 | ||
| 35 | |||
| 36 | #define ________________LOWER_R1________________ KC_F3, KC_F4, KC_MINS,KC_SLSH,KC_BSPC | ||
| 37 | #define ________________LOWER_R2________________ KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT | ||
| 38 | #define ________________LOWER_R3________________ KC_F11, KC_F12, KC_END, KC_INS, KC_SLSH | ||
| 39 | |||
| 40 | #define ________________ADJUST_L1_______________ _______,EXPLR, KC_UP, PRVTAB, PRVWIN | ||
| 41 | #define ________________ADJUST_L2_______________ TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB | ||
| 42 | #define ________________ADJUST_L3_______________ _______,CLSGUI, _______,CONPST, RESET | ||
| 43 | |||
| 44 | #define ________________ADJUST_R1_______________ NXTWIN, NXTTAB, _______,_______,LCKGUI | ||
| 45 | #define ________________ADJUST_R2_______________ DNTAB, KC_ENT, KC_LGUI,_______,CALDL | ||
| 46 | #define ________________ADJUST_R3_______________ _______,_______,_______,_______,_______ | ||
