diff options
| author | Luc <luc.wastiaux@xsmail.com> | 2022-12-12 13:21:23 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-11 21:21:23 -0800 |
| commit | bf2ed0174bb2c9e60555e41f682cae25b6e4dde7 (patch) | |
| tree | 921b4dbc2d15fc21bb098adc9f51f750efc46de2 /users | |
| parent | 96ba554ca8878a4bc434e68b1b265d6fb9b11365 (diff) | |
[Keymap] user dvorak_42_key ergodox_ez and crkbd keymaps (#19154)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: luc wastiaux <luc.wastiaux@airpost.net>
Co-authored-by: Luc W <lucw@airpost.net>
Diffstat (limited to 'users')
| -rw-r--r-- | users/dvorak_42_key/config.h | 8 | ||||
| -rw-r--r-- | users/dvorak_42_key/dvorak_42_key.c | 205 | ||||
| -rw-r--r-- | users/dvorak_42_key/dvorak_42_key.h | 161 | ||||
| -rw-r--r-- | users/dvorak_42_key/rules.mk | 7 | ||||
| -rw-r--r-- | users/dvorak_42_key/vscode_macros.h | 35 |
5 files changed, 416 insertions, 0 deletions
diff --git a/users/dvorak_42_key/config.h b/users/dvorak_42_key/config.h new file mode 100644 index 0000000000..b6f9918770 --- /dev/null +++ b/users/dvorak_42_key/config.h | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | // Copyright 2022 LucW (@luc-languagetools) | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD | ||
| 7 | #undef TAPPING_TERM | ||
| 8 | #define TAPPING_TERM 175 \ No newline at end of file | ||
diff --git a/users/dvorak_42_key/dvorak_42_key.c b/users/dvorak_42_key/dvorak_42_key.c new file mode 100644 index 0000000000..f4ec3cd06e --- /dev/null +++ b/users/dvorak_42_key/dvorak_42_key.c | |||
| @@ -0,0 +1,205 @@ | |||
| 1 | // Copyright 2022 LucW (@luc-languagetools) | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include "dvorak_42_key.h" | ||
| 5 | |||
| 6 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 7 | // tap dance processing | ||
| 8 | qk_tap_dance_action_t *action; | ||
| 9 | switch (keycode) { | ||
| 10 | case TD(TD_DEL_WORD_DEL): // list all tap dance keycodes with tap-hold configurations | ||
| 11 | action = &tap_dance_actions[TD_INDEX(keycode)]; | ||
| 12 | if (!record->event.pressed && action->state.count && !action->state.finished) { | ||
| 13 | tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; | ||
| 14 | tap_code16(tap_hold->tap); | ||
| 15 | } | ||
| 16 | } | ||
| 17 | |||
| 18 | // shell macros | ||
| 19 | if(record->event.pressed) { | ||
| 20 | switch (keycode) { | ||
| 21 | case SHELL_LS: | ||
| 22 | SEND_STRING("ls\n"); | ||
| 23 | break; | ||
| 24 | case SHELL_LSLTR: | ||
| 25 | SEND_STRING("ls -ltr\n"); | ||
| 26 | break; | ||
| 27 | case SHELL_LSLA: | ||
| 28 | SEND_STRING("ls -la\n"); | ||
| 29 | break; | ||
| 30 | case SHELL_CDPRE: | ||
| 31 | SEND_STRING("cd ..\n"); | ||
| 32 | break; | ||
| 33 | case SHELL_LESS: | ||
| 34 | SEND_STRING("less "); | ||
| 35 | break; | ||
| 36 | case SHELL_PLESS: | ||
| 37 | SEND_STRING(" | less"); | ||
| 38 | break; | ||
| 39 | case SHELL_PGREP: | ||
| 40 | SEND_STRING(" | grep "); | ||
| 41 | return true; | ||
| 42 | break; | ||
| 43 | case SHELL_TAILF: | ||
| 44 | SEND_STRING("tail -f "); | ||
| 45 | break; | ||
| 46 | case SHELL_SCREENRD: | ||
| 47 | SEND_STRING("screen -r -d "); | ||
| 48 | break; | ||
| 49 | case SHELL_SCREEN_NEW: | ||
| 50 | SEND_STRING("screen -S "); | ||
| 51 | break; | ||
| 52 | case SHELL_SCREEN_LIST: | ||
| 53 | SEND_STRING("screen -list\n"); | ||
| 54 | break; | ||
| 55 | |||
| 56 | case SHELL_GIT_DIFF: | ||
| 57 | SEND_STRING("git diff\n"); | ||
| 58 | break; | ||
| 59 | |||
| 60 | case SHELL_GIT_STATUS: | ||
| 61 | SEND_STRING("git status\n"); | ||
| 62 | break; | ||
| 63 | |||
| 64 | case WINDOWS10_WORKSPACE_LEFT: | ||
| 65 | tap_code16(C(G(KC_LEFT))); | ||
| 66 | break; | ||
| 67 | case WINDOWS10_WORKSPACE_RIGHT: | ||
| 68 | tap_code16(C(G(KC_RIGHT))); | ||
| 69 | break; | ||
| 70 | case WINDOWS10_TASK_VIEW: | ||
| 71 | tap_code16(G(KC_TAB)); | ||
| 72 | break; | ||
| 73 | // linux screen shortcuts | ||
| 74 | case SCREEN_TAB_LEFT: | ||
| 75 | SEND_STRING(SS_LCTL("a") "p"); | ||
| 76 | break; | ||
| 77 | case SCREEN_TAB_RIGHT: | ||
| 78 | SEND_STRING(SS_LCTL("a") "n"); | ||
| 79 | break; | ||
| 80 | case SCREEN_NEW_TAB: | ||
| 81 | SEND_STRING(SS_LCTL("a") "c"); | ||
| 82 | break; | ||
| 83 | case SCREEN_DETACH: | ||
| 84 | SEND_STRING(SS_LCTL("a") "d"); | ||
| 85 | break; | ||
| 86 | case SCREEN_RENAME: | ||
| 87 | SEND_STRING(SS_LCTL("a") "A"); | ||
| 88 | break; | ||
| 89 | case SCREEN_NUMBER: | ||
| 90 | SEND_STRING(SS_LCTL("a") ":number "); | ||
| 91 | break; | ||
| 92 | case SCREEN_0: | ||
| 93 | SEND_STRING(SS_LCTL("a") "0"); | ||
| 94 | break; | ||
| 95 | case SCREEN_1: | ||
| 96 | SEND_STRING(SS_LCTL("a") "1"); | ||
| 97 | break; | ||
| 98 | case SCREEN_2: | ||
| 99 | SEND_STRING(SS_LCTL("a") "2"); | ||
| 100 | break; | ||
| 101 | case SCREEN_3: | ||
| 102 | SEND_STRING(SS_LCTL("a") "3"); | ||
| 103 | break; | ||
| 104 | case SCREEN_4: | ||
| 105 | SEND_STRING(SS_LCTL("a") "4"); | ||
| 106 | break; | ||
| 107 | case SCREEN_5: | ||
| 108 | SEND_STRING(SS_LCTL("a") "5"); | ||
| 109 | break; | ||
| 110 | case SCREEN_6: | ||
| 111 | SEND_STRING(SS_LCTL("a") "6"); | ||
| 112 | break; | ||
| 113 | case SCREEN_7: | ||
| 114 | SEND_STRING(SS_LCTL("a") "7"); | ||
| 115 | break; | ||
| 116 | case SCREEN_8: | ||
| 117 | SEND_STRING(SS_LCTL("a") "8"); | ||
| 118 | break; | ||
| 119 | case SCREEN_9: | ||
| 120 | SEND_STRING(SS_LCTL("a") "9"); | ||
| 121 | break; | ||
| 122 | case SCREEN_COPY_MODE: | ||
| 123 | SEND_STRING(SS_LCTL("a") "["); | ||
| 124 | break; | ||
| 125 | case SCREEN_PASTE: | ||
| 126 | SEND_STRING(SS_LCTL("a") "]"); | ||
| 127 | break; | ||
| 128 | case SCREEN_KILL: | ||
| 129 | SEND_STRING(SS_LCTL("a") "ky"); | ||
| 130 | break; | ||
| 131 | case SCREEN_READREG_1: | ||
| 132 | SEND_STRING(SS_LCTL("a") ":readreg 1\n"); | ||
| 133 | break; | ||
| 134 | case SCREEN_READREG_2: | ||
| 135 | SEND_STRING(SS_LCTL("a") ":readreg 2\n"); | ||
| 136 | break; | ||
| 137 | case SCREEN_READREG_3: | ||
| 138 | SEND_STRING(SS_LCTL("a") ":readreg 3\n"); | ||
| 139 | break; | ||
| 140 | |||
| 141 | case SCREEN_PASTEREG_1: | ||
| 142 | SEND_STRING(SS_LCTL("a") ":paste 1\n"); | ||
| 143 | break; | ||
| 144 | case SCREEN_PASTEREG_2: | ||
| 145 | SEND_STRING(SS_LCTL("a") ":paste 2\n"); | ||
| 146 | break; | ||
| 147 | case SCREEN_PASTEREG_3: | ||
| 148 | SEND_STRING(SS_LCTL("a") ":paste 3\n"); | ||
| 149 | break; | ||
| 150 | } | ||
| 151 | } | ||
| 152 | |||
| 153 | return true; | ||
| 154 | } | ||
| 155 | |||
| 156 | |||
| 157 | bool caps_word_press_user(uint16_t keycode) { | ||
| 158 | switch (keycode) { | ||
| 159 | // Keycodes that continue Caps Word, with shift applied. | ||
| 160 | case KC_A ... KC_Z: | ||
| 161 | add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. | ||
| 162 | return true; | ||
| 163 | |||
| 164 | default: | ||
| 165 | return false; // Deactivate Caps Word. | ||
| 166 | } | ||
| 167 | } | ||
| 168 | |||
| 169 | |||
| 170 | void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 171 | tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; | ||
| 172 | |||
| 173 | if (state->pressed) { | ||
| 174 | if (state->count == 1 | ||
| 175 | #ifndef PERMISSIVE_HOLD | ||
| 176 | && !state->interrupted | ||
| 177 | #endif | ||
| 178 | ) { | ||
| 179 | register_code16(tap_hold->hold); | ||
| 180 | tap_hold->held = tap_hold->hold; | ||
| 181 | } else { | ||
| 182 | register_code16(tap_hold->tap); | ||
| 183 | tap_hold->held = tap_hold->tap; | ||
| 184 | } | ||
| 185 | } | ||
| 186 | } | ||
| 187 | |||
| 188 | void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 189 | tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; | ||
| 190 | |||
| 191 | if (tap_hold->held) { | ||
| 192 | unregister_code16(tap_hold->held); | ||
| 193 | tap_hold->held = 0; | ||
| 194 | } | ||
| 195 | } | ||
| 196 | |||
| 197 | |||
| 198 | // Tap Dance definitions | ||
| 199 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 200 | // Tap once for Escape, twice for Caps Lock | ||
| 201 | // [TD_BSPC_CTL_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, RCTL(KC_BSPC)), | ||
| 202 | // [TD_BSPC_CTL_BSPC_IOS] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)), | ||
| 203 | [TD_DEL_WORD_DEL] = ACTION_TAP_DANCE_TAP_HOLD(RCTL(KC_BSPC), KC_BSPC), | ||
| 204 | [TD_DEL_WORD_DEL_IOS] = ACTION_TAP_DANCE_TAP_HOLD(LALT(KC_BSPC), KC_BSPC) | ||
| 205 | }; \ No newline at end of file | ||
diff --git a/users/dvorak_42_key/dvorak_42_key.h b/users/dvorak_42_key/dvorak_42_key.h new file mode 100644 index 0000000000..4a3c34ba52 --- /dev/null +++ b/users/dvorak_42_key/dvorak_42_key.h | |||
| @@ -0,0 +1,161 @@ | |||
| 1 | // Copyright 2022 LucW (@luc-languagetools) | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include "quantum.h" | ||
| 7 | |||
| 8 | // LAYERS | ||
| 9 | // ====== | ||
| 10 | |||
| 11 | enum layer_names { | ||
| 12 | BASE, // base dvorak layer | ||
| 13 | KEYNAV, // arrow navigation (right hand) | ||
| 14 | KEYSEL, // arrow navigation + shift (allow text selection) | ||
| 15 | SHELL_NAV, // bash shortcuts | ||
| 16 | SHELL_SCREEN, // linux screen shortcuts | ||
| 17 | BROWSER_CONTROL, // control browser and mouse | ||
| 18 | COMBINED, // combined numbers and symbols layer | ||
| 19 | ANDROID_STUDIO, // android studio specific layer | ||
| 20 | VSCODE, // visual studio code specific layer | ||
| 21 | SHORTCUTS, // shortcuts to be intercepted by autohotkey | ||
| 22 | }; | ||
| 23 | |||
| 24 | enum custom_keycodes { | ||
| 25 | PLACEHOLDER = SAFE_RANGE, // can always be here | ||
| 26 | |||
| 27 | // shell nav macros | ||
| 28 | SHELL_LS, | ||
| 29 | SHELL_LSLTR, | ||
| 30 | SHELL_LSLA, | ||
| 31 | SHELL_CDPRE, | ||
| 32 | SHELL_LESS, | ||
| 33 | SHELL_PLESS, | ||
| 34 | SHELL_PGREP, | ||
| 35 | SHELL_TAILF, | ||
| 36 | |||
| 37 | SHELL_SCREENRD, | ||
| 38 | SHELL_SCREEN_NEW, | ||
| 39 | SHELL_SCREEN_LIST, | ||
| 40 | |||
| 41 | SHELL_GIT_DIFF, | ||
| 42 | SHELL_GIT_STATUS, | ||
| 43 | |||
| 44 | // linux screen macros | ||
| 45 | SCREEN_TAB_LEFT, | ||
| 46 | SCREEN_TAB_RIGHT, | ||
| 47 | |||
| 48 | SCREEN_NEW_TAB, | ||
| 49 | SCREEN_DETACH, | ||
| 50 | SCREEN_RENAME, | ||
| 51 | SCREEN_NUMBER, | ||
| 52 | SCREEN_KILL, | ||
| 53 | |||
| 54 | SCREEN_0, | ||
| 55 | SCREEN_1, | ||
| 56 | SCREEN_2, | ||
| 57 | SCREEN_3, | ||
| 58 | SCREEN_4, | ||
| 59 | SCREEN_5, | ||
| 60 | SCREEN_6, | ||
| 61 | SCREEN_7, | ||
| 62 | SCREEN_8, | ||
| 63 | SCREEN_9, | ||
| 64 | |||
| 65 | SCREEN_COPY_MODE, | ||
| 66 | SCREEN_PASTE, | ||
| 67 | |||
| 68 | SCREEN_READREG_1, | ||
| 69 | SCREEN_READREG_2, | ||
| 70 | SCREEN_READREG_3, | ||
| 71 | SCREEN_PASTEREG_1, | ||
| 72 | SCREEN_PASTEREG_2, | ||
| 73 | SCREEN_PASTEREG_3, | ||
| 74 | |||
| 75 | // Windows 10 macros | ||
| 76 | WINDOWS10_WORKSPACE_LEFT, | ||
| 77 | WINDOWS10_WORKSPACE_RIGHT, | ||
| 78 | WINDOWS10_TASK_VIEW, | ||
| 79 | |||
| 80 | }; | ||
| 81 | |||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 | |||
| 86 | |||
| 87 | // Notepad++ shortcuts | ||
| 88 | // =================== | ||
| 89 | #define NP_DUPE_LINE LCTL(KC_D) | ||
| 90 | |||
| 91 | // ChromeOS shortcuts | ||
| 92 | // ================== | ||
| 93 | #define CO_WS_LEFT RGUI(KC_LBRC) | ||
| 94 | #define CO_WS_RIGHT RGUI(KC_RBRC) | ||
| 95 | |||
| 96 | |||
| 97 | // Android Studio shortcuts | ||
| 98 | #define AS_TABLEFT LALT(KC_LEFT) | ||
| 99 | #define AS_TABRIGHT LALT(KC_RIGHT) | ||
| 100 | #define AS_SYMBOL LCTL(LALT(KC_N)) | ||
| 101 | #define AS_CLASS LCTL(KC_N) | ||
| 102 | #define AS_FINDUSAGE LALT(KC_F7) | ||
| 103 | #define AS_BACK LCTL(LALT(KC_LEFT)) | ||
| 104 | #define AS_BRACKET LCTL(LSFT(KC_M)) | ||
| 105 | #define AS_GO_DECLARATION LCTL(KC_B) | ||
| 106 | #define AS_GO_IMPLEMENTATION LCTL(LALT(KC_B)) | ||
| 107 | #define AS_CLOSETAB LCTL(KC_F4) | ||
| 108 | #define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4)) | ||
| 109 | #define AS_COPYLINEDOWN LCTL(KC_D) | ||
| 110 | #define AS_DEL_LINE LCTL(KC_Y) | ||
| 111 | #define AS_LINE LCTL(KC_G) | ||
| 112 | #define AS_CMT_BLOCK LCTL(LSFT(KC_SLSH)) | ||
| 113 | #define AS_CMT_LINE LCTL(KC_SLSH) | ||
| 114 | #define AS_BM_PREV LALT(KC_P) | ||
| 115 | #define AS_BM_NEXT LALT(KC_N) | ||
| 116 | #define AS_BM_TOGGLE KC_F11 | ||
| 117 | #define AS_BM_LIST LSFT(KC_F11) | ||
| 118 | |||
| 119 | // visual studio code shortcuts | ||
| 120 | // ============================ | ||
| 121 | |||
| 122 | #include "vscode_macros.h" | ||
| 123 | |||
| 124 | // unused vscode shortcuts | ||
| 125 | // #define VS_BM_LIST LCTL(LALT(KC_L)) | ||
| 126 | // #define VS_BM_LISTALL LCTL(LALT(KC_A)) | ||
| 127 | // #define VS_BM_CLEARALL LCTL(LALT(KC_C)) | ||
| 128 | |||
| 129 | // #define VS_TERMINAL_PREV MEH(KC_F12) | ||
| 130 | // #define VS_TERMINAL_NEXT MEH(KC_F13) | ||
| 131 | // #define VS_TERMINAL_NEW MEH(KC_F14) | ||
| 132 | // #define VS_TERMINAL_DETACH MEH(KC_F15) | ||
| 133 | // #define VS_TERMINAL_RENAME MEH(KC_F16) | ||
| 134 | // #define VS_JUMPY MEH(KC_F17) | ||
| 135 | // #define VS_FIND MEH(KC_F19) | ||
| 136 | // #define VS_CLOSEPANEL LCTL(LSFT(KC_W)) | ||
| 137 | // #define VS_BUILD LCTL(LSFT(KC_B)) | ||
| 138 | // #define VS_OPEN_FILE MEH(KC_F2) | ||
| 139 | // #define VS_TERMINAL MEH(KC_F15) | ||
| 140 | |||
| 141 | |||
| 142 | |||
| 143 | |||
| 144 | // tap-dance configuration | ||
| 145 | // ======================= | ||
| 146 | |||
| 147 | enum { | ||
| 148 | // TD_BSPC_CTL_BSPC, | ||
| 149 | // TD_BSPC_CTL_BSPC_IOS, | ||
| 150 | TD_DEL_WORD_DEL, | ||
| 151 | TD_DEL_WORD_DEL_IOS | ||
| 152 | }; | ||
| 153 | |||
| 154 | typedef struct { | ||
| 155 | uint16_t tap; | ||
| 156 | uint16_t hold; | ||
| 157 | uint16_t held; | ||
| 158 | } tap_dance_tap_hold_t; | ||
| 159 | |||
| 160 | #define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ | ||
| 161 | { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } | ||
diff --git a/users/dvorak_42_key/rules.mk b/users/dvorak_42_key/rules.mk new file mode 100644 index 0000000000..f1ba426225 --- /dev/null +++ b/users/dvorak_42_key/rules.mk | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | # Copyright 2022 LucW (@luc-languagetools) | ||
| 2 | # SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | CAPS_WORD_ENABLE = yes | ||
| 5 | TAP_DANCE_ENABLE = yes | ||
| 6 | |||
| 7 | SRC += dvorak_42_key.c \ No newline at end of file | ||
diff --git a/users/dvorak_42_key/vscode_macros.h b/users/dvorak_42_key/vscode_macros.h new file mode 100644 index 0000000000..529f148d06 --- /dev/null +++ b/users/dvorak_42_key/vscode_macros.h | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | // Copyright 2022 LucW (@luc-languagetools) | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | #define VS_COMMANDS MEH(KC_B) // workbench.action.showCommands | ||
| 6 | #define VS_LINE MEH(KC_C) // workbench.action.gotoLine | ||
| 7 | #define VS_DEFINITION MEH(KC_E) // editor.action.revealDefinition | ||
| 8 | #define VS_IMPLEMENTATION MEH(KC_F) // editor.action.goToImplementation | ||
| 9 | #define VS_REFERENCES MEH(KC_G) // editor.action.goToReferences | ||
| 10 | #define VS_BACK MEH(KC_H) // workbench.action.navigateBack | ||
| 11 | #define VS_BRACKET MEH(KC_I) // editor.action.jumpToBracket | ||
| 12 | #define VS_TABLEFT MEH(KC_J) // workbench.action.previousEditor | ||
| 13 | #define VS_TABRIGHT MEH(KC_K) // workbench.action.nextEditor | ||
| 14 | #define VS_CLOSETAB MEH(KC_L) // workbench.action.closeActiveEditor | ||
| 15 | #define VS_GROUP_1 MEH(KC_M) // workbench.action.focusFirstEditorGroup | ||
| 16 | #define VS_GROUP_2 MEH(KC_N) // workbench.action.focusSecondEditorGroup | ||
| 17 | #define VS_CMT_BLOCK MEH(KC_O) // editor.action.blockComment | ||
| 18 | #define VS_CMT_LINE MEH(KC_P) // editor.action.commentLine | ||
| 19 | #define VS_DEL_LINE MEH(KC_Q) // editor.action.deleteLines | ||
| 20 | #define VS_COPYLINEDOWN MEH(KC_R) // editor.action.copyLinesDownAction | ||
| 21 | #define VS_BM_PREV MEH(KC_S) // bookmarks.jumpToPrevious | ||
| 22 | #define VS_BM_NEXT MEH(KC_T) // bookmarks.jumpToNext | ||
| 23 | #define VS_BM_TOGGLE MEH(KC_U) // bookmarks.toggle | ||
| 24 | #define VS_BM_CLEARALL MEH(KC_V) // bookmarks.clearFromAllFiles | ||
| 25 | #define VS_BM_LIST MEH(KC_W) // bookmarks.list | ||
| 26 | #define VS_BM_LISTALL MEH(KC_X) // bookmarks.listFromAllFiles | ||
| 27 | #define VS_JUMPY MEH(KC_Y) // extension.jumpy-word | ||
| 28 | #define VS_FOCUS_EDITOR MEH(KC_Z) // workbench.action.focusActiveEditorGroup | ||
| 29 | #define VS_FOCUS_TERMINAL MEH(KC_0) // workbench.action.terminal.focus | ||
| 30 | #define VS_TOGGLE_TERMINAL MEH(KC_1) // workbench.action.terminal.toggleTerminal | ||
| 31 | #define VS_DEL_LEFT MEH(KC_2) // deleteAllLeft | ||
| 32 | #define VS_DEL_RIGHT MEH(KC_3) // deleteAllRight | ||
| 33 | #define VS_FIND_FILES MEH(KC_4) // workbench.action.findInFiles | ||
| 34 | #define VS_FILE MEH(KC_5) // workbench.action.quickOpen | ||
| 35 | #define VS_SYMBOLEDITOR MEH(KC_6) // workbench.action.gotoSymbol | ||
