diff options
Diffstat (limited to 'users/ninjonas')
| -rw-r--r-- | users/ninjonas/README.md | 27 | ||||
| -rw-r--r-- | users/ninjonas/config.h | 2 | ||||
| -rw-r--r-- | users/ninjonas/ninjonas.h | 18 | ||||
| -rw-r--r-- | users/ninjonas/oled.c | 5 | ||||
| -rw-r--r-- | users/ninjonas/process_records.c | 6 | ||||
| -rw-r--r-- | users/ninjonas/tap_dances.c | 86 | ||||
| -rw-r--r-- | users/ninjonas/tap_dances.h | 23 |
7 files changed, 140 insertions, 27 deletions
diff --git a/users/ninjonas/README.md b/users/ninjonas/README.md index 39d92cff3..f537373bc 100644 --- a/users/ninjonas/README.md +++ b/users/ninjonas/README.md | |||
| @@ -17,17 +17,17 @@ See: https://docs.qmk.fm/#/feature_userspace | |||
| 17 | - [Kyria](../../keyboards/kyria/keymaps/ninjonas) | 17 | - [Kyria](../../keyboards/kyria/keymaps/ninjonas) |
| 18 | 18 | ||
| 19 | ## Features | 19 | ## Features |
| 20 | ### [Keys](ninjonas.h#L37) | 20 | ### [Keys](ninjonas.h) |
| 21 | |Code | Description | | 21 | |Code | Description | |
| 22 | |---|---| | 22 | |---|---| |
| 23 | |K_LOCK | MacOS shortcut to execute lock command + CTRL + Q | | 23 | |K_LOCK | MacOS shortcut to execute lock command Cmd + CTRL + Q | |
| 24 | |K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard | | 24 | |K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard | |
| 25 | |K_MDSH | MacOS shortcut to get em-dash `–` | | 25 | |K_MDSH | MacOS shortcut to get em-dash `–` | |
| 26 | |K_RAPP | MacOS shortcut to switch apps to the right | | 26 | |K_RAPP | MacOS shortcut to switch apps to the right | |
| 27 | |K_LAPP | MacOS shortcut to switch apps to the left | | 27 | |K_LAPP | MacOS shortcut to switch apps to the left | |
| 28 | |K_CPRF | + Shift + M. Used for switching Google Chrome profiles | | 28 | |K_CPRF | Cmd + Shift + M. Used for switching Google Chrome profiles | |
| 29 | 29 | ||
| 30 | ### [Layers](ninjonas.h#L44) | 30 | ### [Layers](ninjonas.h) |
| 31 | |Code | Description | | 31 | |Code | Description | |
| 32 | |---|---| | 32 | |---|---| |
| 33 | |LT_LOW | Tap for ENTER, hold for RAISE | | 33 | |LT_LOW | Tap for ENTER, hold for RAISE | |
| @@ -38,13 +38,13 @@ See: https://docs.qmk.fm/#/feature_userspace | |||
| 38 | |LG_LOW | Press to toggle LOWER layer | | 38 | |LG_LOW | Press to toggle LOWER layer | |
| 39 | |LG_RAI | Press to toggle RAISE layer | | 39 | |LG_RAI | Press to toggle RAISE layer | |
| 40 | 40 | ||
| 41 | ### [Mod-Taps](ninjonas.h#L50) | 41 | ### [Mod-Taps](ninjonas.h) |
| 42 | |Code | Description | | 42 | |Code | Description | |
| 43 | |---|---| | 43 | |---|---| |
| 44 | |MT_DEL | Tap for Delete, hold for + ALT + SHIFT | | 44 | |MT_DEL | Tap for Delete, hold for Cmd + ALT + SHIFT | |
| 45 | |MT_EQL | Tap for =, hold for ALT + SHIFT | | 45 | |MT_EQL | Tap for =, hold for ALT + SHIFT | |
| 46 | 46 | ||
| 47 | ### [Layout Blocks](ninjonas.h#L54) | 47 | ### [Layout Blocks](ninjonas.h) |
| 48 | Predefined keyboard layout templates to speed up configuring split keyboards | 48 | Predefined keyboard layout templates to speed up configuring split keyboards |
| 49 | 49 | ||
| 50 | |Code | Description | | 50 | |Code | Description | |
| @@ -59,6 +59,7 @@ Predefined keyboard layout templates to speed up configuring split keyboards | |||
| 59 | |MOUSE | Mouse Cluster | | 59 | |MOUSE | Mouse Cluster | |
| 60 | |MEDIA | Media Cluster | | 60 | |MEDIA | Media Cluster | |
| 61 | |MOD | Modifier Cluster | | 61 | |MOD | Modifier Cluster | |
| 62 | |NUMPAD | Numpad Cluster | | ||
| 62 | 63 | ||
| 63 | ### [Macros](process_records.c) | 64 | ### [Macros](process_records.c) |
| 64 | |Code | Description | | 65 | |Code | Description | |
| @@ -68,7 +69,7 @@ Predefined keyboard layout templates to speed up configuring split keyboards | |||
| 68 | |M_MALL | Macro to send QMK make command to all [ninjonas](#Supported%20Keyboards) keyboards | | 69 | |M_MALL | Macro to send QMK make command to all [ninjonas](#Supported%20Keyboards) keyboards | |
| 69 | |M_FLSH | Macro to send QMK make command to compile keyboard with the correct bootloader | | 70 | |M_FLSH | Macro to send QMK make command to compile keyboard with the correct bootloader | |
| 70 | |M_VRSN | Macro to send QMK version | | 71 | |M_VRSN | Macro to send QMK version | |
| 71 | |M_SHFT | Sends + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) | | 72 | |M_SHFT | Sends Cmd + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) | |
| 72 | |M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory | | 73 | |M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory | |
| 73 | |M_TERM | Launches Spotlight and calls Terminal | | 74 | |M_TERM | Launches Spotlight and calls Terminal | |
| 74 | |M_COPA | Single key copy/paste | | 75 | |M_COPA | Single key copy/paste | |
| @@ -81,10 +82,12 @@ Predefined keyboard layout templates to speed up configuring split keyboards | |||
| 81 | |T_LBRC | Tap once for [, double for back browser | | 82 | |T_LBRC | Tap once for [, double for back browser | |
| 82 | |T_RBRC | Tap once for ], double for forward browser | | 83 | |T_RBRC | Tap once for ], double for forward browser | |
| 83 | |T_TAB | Tap once for TAB, double for CTRL + TAB | | 84 | |T_TAB | Tap once for TAB, double for CTRL + TAB | |
| 84 | |T_GRV | Tap once for GRV, double for + GRV | | 85 | |T_GRV | Tap once for GRV, double for Cmd + GRV | |
| 85 | |T_GUI | Tap once for , double to open spotlight | | 86 | |T_GUI | Tap once for Cmd, double to open spotlight | |
| 86 | |T_W | Tap for W, double tap for + W | | 87 | |T_W | Tap for W, double tap for Cmd + W | |
| 87 | |T_Q | Tap for Q, double tap for + Q | | 88 | |T_Q | Tap for Q, double tap for Cmd + Q | |
| 89 | |T_CPNU | Tap for Cmd + V, hold for Cmd + C, double tap for NUMPAD layer | | ||
| 90 | |T_Y | Tap for Y, double tap for NUMPAD layer | | ||
| 88 | 91 | ||
| 89 | ### Secrets | 92 | ### Secrets |
| 90 | There's times where you have macros you don't want to share like emails, an address you need but you always forget, passwords 😱, & and private strings. Based off [drashna's secret macros](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), it's now possible to do this. All you need to do is create a `secrets.c` file. Below is an example of how this is used. | 93 | There's times where you have macros you don't want to share like emails, an address you need but you always forget, passwords 😱, & and private strings. Based off [drashna's secret macros](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), it's now possible to do this. All you need to do is create a `secrets.c` file. Below is an example of how this is used. |
diff --git a/users/ninjonas/config.h b/users/ninjonas/config.h index 1166939c6..ae2370c5a 100644 --- a/users/ninjonas/config.h +++ b/users/ninjonas/config.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #ifdef TAPPING_TERM | 1 | #ifdef TAPPING_TERM |
| 2 | #undef TAPPING_TERM | 2 | #undef TAPPING_TERM |
| 3 | #define TAPPING_TERM 200 | 3 | #define TAPPING_TERM 300 |
| 4 | #endif | 4 | #endif |
| 5 | 5 | ||
| 6 | // Mouse Settings: Smoothing out mouse movement on keypress | 6 | // Mouse Settings: Smoothing out mouse movement on keypress |
diff --git a/users/ninjonas/ninjonas.h b/users/ninjonas/ninjonas.h index 6f79b262f..6772957e2 100644 --- a/users/ninjonas/ninjonas.h +++ b/users/ninjonas/ninjonas.h | |||
| @@ -33,20 +33,22 @@ | |||
| 33 | #define _LOWER 3 | 33 | #define _LOWER 3 |
| 34 | #define _RAISE 4 | 34 | #define _RAISE 4 |
| 35 | #define _ADJUST 5 | 35 | #define _ADJUST 5 |
| 36 | #define _NUMPAD 6 | ||
| 36 | 37 | ||
| 37 | // Shortcut Keys | 38 | // Shortcut Keys |
| 38 | #define K_LOCK LGUI(LCTL(KC_Q)) // Locks screen on MacOS | 39 | #define K_LOCK LGUI(LCTL(KC_Q)) // Locks screen on MacOS |
| 39 | #define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard | 40 | #define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard |
| 40 | #define K_CPRF LGUI(LSFT(KC_M)) // + Shift + M. Used for switching Google Chrome profiles | 41 | #define K_CPRF LGUI(LSFT(KC_M)) // Cmd + Shift + M. Used for switching Google Chrome profiles |
| 41 | #define K_MDSH LSFT(LALT(KC_MINS)) | 42 | #define K_MDSH LSFT(LALT(KC_MINS)) |
| 42 | #define K_LAPP SGUI(KC_TAB) // + Shift + Tab | 43 | #define K_LAPP SGUI(KC_TAB) // Cmd + Shift + Tab |
| 43 | #define K_RAPP LGUI(KC_TAB) // + Tab | 44 | #define K_RAPP LGUI(KC_TAB) // Cmd + Tab |
| 44 | 45 | ||
| 45 | // Layer Keys | 46 | // Layer Keys |
| 46 | #define LM_LOW MO(_LOWER) | 47 | #define LM_LOW MO(_LOWER) |
| 47 | #define LM_RAI MO(_RAISE) | 48 | #define LM_RAI MO(_RAISE) |
| 48 | #define LG_LOW TG(_LOWER) | 49 | #define LG_LOW TG(_LOWER) |
| 49 | #define LG_RAI TG(_RAISE) | 50 | #define LG_RAI TG(_RAISE) |
| 51 | #define LG_NUM TG(_NUMPAD) | ||
| 50 | #define LT_LOW LT(_LOWER, KC_ENT) | 52 | #define LT_LOW LT(_LOWER, KC_ENT) |
| 51 | #define LT_RAI LT(_RAISE, KC_SPC) | 53 | #define LT_RAI LT(_RAISE, KC_SPC) |
| 52 | 54 | ||
| @@ -59,7 +61,7 @@ | |||
| 59 | #define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G | 61 | #define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G |
| 60 | #define _____________________QWERTY_L3______________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B | 62 | #define _____________________QWERTY_L3______________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B |
| 61 | 63 | ||
| 62 | #define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS | 64 | #define _____________________QWERTY_R1______________________ T_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS |
| 63 | #define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT | 65 | #define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT |
| 64 | #define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_EQL | 66 | #define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_EQL |
| 65 | 67 | ||
| @@ -115,6 +117,10 @@ | |||
| 115 | #endif | 117 | #endif |
| 116 | #define _____________________ADJUST_R2______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | 118 | #define _____________________ADJUST_R2______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX |
| 117 | 119 | ||
| 120 | #define _____________________NUMPAD_1_______________________ T_Y, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PAST | ||
| 121 | #define _____________________NUMPAD_2_______________________ XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS | ||
| 122 | #define _____________________NUMPAD_3_______________________ KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_COLN | ||
| 123 | |||
| 118 | #define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END | 124 | #define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END |
| 119 | #define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT | 125 | #define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT |
| 120 | 126 | ||
| @@ -124,7 +130,7 @@ | |||
| 124 | #define __________________________________ _______, _______, _______, _______ | 130 | #define __________________________________ _______, _______, _______, _______ |
| 125 | 131 | ||
| 126 | #define _____________MOD_LEFT_____________ KC_LALT, T_GUI, KC_LCTL, LT_RAI | 132 | #define _____________MOD_LEFT_____________ KC_LALT, T_GUI, KC_LCTL, LT_RAI |
| 127 | #define _____________MOD_RIGHT____________ LT_LOW, KC_BSPC, MT_DEL, LM_LOW | 133 | #define _____________MOD_RIGHT____________ LT_LOW, KC_BSPC, MT_DEL, T_CPNU |
| 128 | 134 | ||
| 129 | #define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE | 135 | #define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE |
| 130 | #define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP | 136 | #define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP |
| @@ -135,7 +141,7 @@ | |||
| 135 | #define ________MOD_RIGHT________ LT_LOW, KC_BSPC, MT_DEL | 141 | #define ________MOD_RIGHT________ LT_LOW, KC_BSPC, MT_DEL |
| 136 | #else | 142 | #else |
| 137 | #define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL | 143 | #define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL |
| 138 | #define ________MOD_RIGHT________ KC_BSPC, MT_DEL, LM_LOW | 144 | #define ________MOD_RIGHT________ KC_BSPC, MT_DEL, T_CPNU |
| 139 | #endif | 145 | #endif |
| 140 | 146 | ||
| 141 | // Layout wrappers | 147 | // Layout wrappers |
diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c index 285b0364e..ffb9eecbc 100644 --- a/users/ninjonas/oled.c +++ b/users/ninjonas/oled.c | |||
| @@ -47,13 +47,16 @@ void render_layer_state(void) { | |||
| 47 | bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); | 47 | bool lower = layer_state_is(_LOWER) & !layer_state_is(_ADJUST); |
| 48 | bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); | 48 | bool raise = layer_state_is(_RAISE) & !layer_state_is(_ADJUST); |
| 49 | bool adjust = layer_state_is(_ADJUST); | 49 | bool adjust = layer_state_is(_ADJUST); |
| 50 | bool numpad = layer_state_is(_NUMPAD); | ||
| 50 | 51 | ||
| 51 | if(lower){ | 52 | if(lower){ |
| 52 | oled_write_P(PSTR(" Lower "), true); | 53 | oled_write_P(PSTR(" Lower "), true); |
| 53 | } else if(raise){ | 54 | } else if(raise){ |
| 54 | oled_write_P(PSTR(" Raise "), true); | 55 | oled_write_P(PSTR(" Raise "), true); |
| 55 | } else if(adjust){ | 56 | } else if(adjust){ |
| 56 | oled_write_P(PSTR(" Adjust "), true); | 57 | oled_write_P(PSTR(" Adjust "), true); |
| 58 | } else if(numpad) { | ||
| 59 | oled_write_P(PSTR(" Numpad "), true); | ||
| 57 | } else { | 60 | } else { |
| 58 | oled_write_P(PSTR(" Default"), false); | 61 | oled_write_P(PSTR(" Default"), false); |
| 59 | } | 62 | } |
diff --git a/users/ninjonas/process_records.c b/users/ninjonas/process_records.c index 5c6d98ec8..b4a5e35d1 100644 --- a/users/ninjonas/process_records.c +++ b/users/ninjonas/process_records.c | |||
| @@ -23,7 +23,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 23 | } | 23 | } |
| 24 | break; | 24 | break; |
| 25 | 25 | ||
| 26 | // Sends + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt | 26 | // Sends Cmd + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt |
| 27 | case M_SHFT: | 27 | case M_SHFT: |
| 28 | if (record->event.pressed) { | 28 | if (record->event.pressed) { |
| 29 | register_code(KC_LGUI); | 29 | register_code(KC_LGUI); |
| @@ -98,9 +98,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 98 | copy_paste_timer = timer_read(); | 98 | copy_paste_timer = timer_read(); |
| 99 | } else { | 99 | } else { |
| 100 | if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { | 100 | if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { |
| 101 | tap_code16(LGUI(KC_C)); // Hold + C | 101 | tap_code16(LGUI(KC_C)); // Hold Cmd + C |
| 102 | } else { | 102 | } else { |
| 103 | tap_code16(LGUI(KC_V)); // Tap + V | 103 | tap_code16(LGUI(KC_V)); // Tap Cmd + V |
| 104 | } | 104 | } |
| 105 | } | 105 | } |
| 106 | 106 | ||
diff --git a/users/ninjonas/tap_dances.c b/users/ninjonas/tap_dances.c index 0665a1607..ece95887a 100644 --- a/users/ninjonas/tap_dances.c +++ b/users/ninjonas/tap_dances.c | |||
| @@ -1,5 +1,87 @@ | |||
| 1 | #include "ninjonas.h" | 1 | #include "ninjonas.h" |
| 2 | 2 | ||
| 3 | //// BEGIN: Advanced Tap Dances | ||
| 4 | int cur_dance (qk_tap_dance_state_t *state) { | ||
| 5 | if (state->count == 1) { | ||
| 6 | if (!state->pressed) { | ||
| 7 | return SINGLE_TAP; | ||
| 8 | } else { | ||
| 9 | return SINGLE_HOLD; | ||
| 10 | } | ||
| 11 | } else if (state->count == 2) { | ||
| 12 | return DOUBLE_TAP; | ||
| 13 | } | ||
| 14 | else return 8; | ||
| 15 | } | ||
| 16 | |||
| 17 | // BEGIN: Copy, Paste, NUMPAD | ||
| 18 | // https://beta.docs.qmk.fm/features/feature_tap_dance#example-6-using-tap-dance-for-momentary-layer-switch-and-layer-toggle-keys | ||
| 19 | static tap copy_paste_numpad_tap_state = { | ||
| 20 | .is_press_action = true, | ||
| 21 | .state = 0 | ||
| 22 | }; | ||
| 23 | |||
| 24 | void copy_paste_numpad_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 25 | copy_paste_numpad_tap_state.state = cur_dance(state); | ||
| 26 | switch (copy_paste_numpad_tap_state.state) { | ||
| 27 | case SINGLE_TAP: | ||
| 28 | tap_code16(LGUI(KC_V)); // Tap Cmd + V | ||
| 29 | break; | ||
| 30 | case SINGLE_HOLD: | ||
| 31 | tap_code16(LGUI(KC_C)); // Hold Cmd + C | ||
| 32 | break; | ||
| 33 | case DOUBLE_TAP: | ||
| 34 | if (layer_state_is(_NUMPAD)) { | ||
| 35 | layer_off(_NUMPAD); | ||
| 36 | } else { | ||
| 37 | layer_on(_NUMPAD); | ||
| 38 | } | ||
| 39 | break; | ||
| 40 | } | ||
| 41 | } | ||
| 42 | |||
| 43 | void copy_paste_numpad_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 44 | copy_paste_numpad_tap_state.state = 0; | ||
| 45 | } | ||
| 46 | // END: Copy, Paste, NUMPAD | ||
| 47 | |||
| 48 | // BEGIN: Y, NUMPAD | ||
| 49 | static tap y_numpad_tap_state = { | ||
| 50 | .is_press_action = true, | ||
| 51 | .state = 0 | ||
| 52 | }; | ||
| 53 | |||
| 54 | void y_numpad_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 55 | y_numpad_tap_state.state = cur_dance(state); | ||
| 56 | switch (y_numpad_tap_state.state) { | ||
| 57 | case SINGLE_TAP: | ||
| 58 | tap_code(KC_Y); | ||
| 59 | break; | ||
| 60 | case SINGLE_HOLD: | ||
| 61 | register_code16(KC_Y); | ||
| 62 | break; | ||
| 63 | case DOUBLE_TAP: | ||
| 64 | if (layer_state_is(_NUMPAD)) { | ||
| 65 | layer_off(_NUMPAD); | ||
| 66 | } else { | ||
| 67 | layer_on(_NUMPAD); | ||
| 68 | } | ||
| 69 | break; | ||
| 70 | } | ||
| 71 | } | ||
| 72 | |||
| 73 | void y_numpad_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 74 | switch (y_numpad_tap_state.state) { | ||
| 75 | case SINGLE_HOLD: | ||
| 76 | unregister_code16(KC_Y); | ||
| 77 | break; | ||
| 78 | } | ||
| 79 | y_numpad_tap_state.state = 0; | ||
| 80 | } | ||
| 81 | // END: Y, NUMPAD | ||
| 82 | |||
| 83 | //// END: Advanced Tap Dances | ||
| 84 | |||
| 3 | qk_tap_dance_action_t tap_dance_actions[] = { | 85 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 4 | [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), | 86 | [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), |
| 5 | [TD_LBRC_BACK] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)), | 87 | [TD_LBRC_BACK] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)), |
| @@ -9,4 +91,8 @@ qk_tap_dance_action_t tap_dance_actions[] = { | |||
| 9 | [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), | 91 | [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), |
| 10 | [TD_W_CTRLW] = ACTION_TAP_DANCE_DOUBLE(KC_W, LGUI(KC_W)), | 92 | [TD_W_CTRLW] = ACTION_TAP_DANCE_DOUBLE(KC_W, LGUI(KC_W)), |
| 11 | [TD_Q_GUIQ] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LGUI(KC_Q)), | 93 | [TD_Q_GUIQ] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LGUI(KC_Q)), |
| 94 | |||
| 95 | // Advanced Tap Dances | ||
| 96 | [TD_COPY_PASTE_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, copy_paste_numpad_finished, copy_paste_numpad_reset), | ||
| 97 | [TD_Y_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, y_numpad_finished, y_numpad_reset), | ||
| 12 | }; \ No newline at end of file | 98 | }; \ No newline at end of file |
diff --git a/users/ninjonas/tap_dances.h b/users/ninjonas/tap_dances.h index 0a781ce4e..f2f39108d 100644 --- a/users/ninjonas/tap_dances.h +++ b/users/ninjonas/tap_dances.h | |||
| @@ -1,6 +1,17 @@ | |||
| 1 | #pragma once | 1 | #pragma once |
| 2 | #include "ninjonas.h" | 2 | #include "ninjonas.h" |
| 3 | 3 | ||
| 4 | typedef struct { | ||
| 5 | bool is_press_action; | ||
| 6 | int state; | ||
| 7 | } tap; | ||
| 8 | |||
| 9 | enum tapdance_types{ | ||
| 10 | SINGLE_TAP = 1, | ||
| 11 | SINGLE_HOLD = 2, | ||
| 12 | DOUBLE_TAP = 3 | ||
| 13 | }; | ||
| 14 | |||
| 4 | enum custom_tapdances{ | 15 | enum custom_tapdances{ |
| 5 | TD_ESC_CAPS = 0, | 16 | TD_ESC_CAPS = 0, |
| 6 | TD_LBRC_BACK, | 17 | TD_LBRC_BACK, |
| @@ -10,13 +21,17 @@ enum custom_tapdances{ | |||
| 10 | TD_GUI_GUISPC, | 21 | TD_GUI_GUISPC, |
| 11 | TD_W_CTRLW, | 22 | TD_W_CTRLW, |
| 12 | TD_Q_GUIQ, | 23 | TD_Q_GUIQ, |
| 24 | TD_COPY_PASTE_NUMPAD, | ||
| 25 | TD_Y_NUMPAD, | ||
| 13 | }; | 26 | }; |
| 14 | 27 | ||
| 15 | #define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK | 28 | #define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK |
| 16 | #define T_LBRC TD(TD_LBRC_BACK) // Tap for [, double tap for back browser | 29 | #define T_LBRC TD(TD_LBRC_BACK) // Tap for [, double tap for back browser |
| 17 | #define T_RBRC TD(TD_RBRC_FWD) // Tap for ], double tap for forward browser | 30 | #define T_RBRC TD(TD_RBRC_FWD) // Tap for ], double tap for forward browser |
| 18 | #define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB | 31 | #define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB |
| 19 | #define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for + GRV | 32 | #define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for Cmd + GRV |
| 20 | #define T_GUI TD(TD_GUI_GUISPC) // Tap for , double tap for + Space | 33 | #define T_GUI TD(TD_GUI_GUISPC) // Tap for Cmd, double tap for Cmd + Space |
| 21 | #define T_W TD(TD_W_CTRLW) // Tap for W, double tap for + W | 34 | #define T_W TD(TD_W_CTRLW) // Tap for W, double tap for Cmd + W |
| 22 | #define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for + Q \ No newline at end of file | 35 | #define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for Cmd + Q |
| 36 | #define T_CPNU TD(TD_COPY_PASTE_NUMPAD) // Tap for paste, hold for copy, double tap for NUMPAD | ||
| 37 | #define T_Y TD(TD_Y_NUMPAD) // Tap for Y, double tap for NUMPAD \ No newline at end of file | ||
