aboutsummaryrefslogtreecommitdiff
path: root/keyboards/atreus
diff options
context:
space:
mode:
authorLucW <luc.wastiaux@xsmail.com>2020-08-20 09:38:52 +0800
committerGitHub <noreply@github.com>2020-08-19 18:38:52 -0700
commit0b894ca99c4b4556f386afb7badd6f04b715d086 (patch)
tree9e30f170cdf4ea0ed0ae38b9d17280e94e780814 /keyboards/atreus
parentcdb69da86e482cba7f7980cba946a5409215fe62 (diff)
downloadqmk_firmware-0b894ca99c4b4556f386afb7badd6f04b715d086.tar.gz
qmk_firmware-0b894ca99c4b4556f386afb7badd6f04b715d086.zip
[Keymap] update dvorak_42_key keymaps for atreus and ergodox_ez: add VSCode shortcuts (#10054)
* remove obsolete cloud9 macros, add vscode macros on the KEYNAV layer * add vscode layer and shortcuts * remove duplicate VSCODE layer and macros * apply review changes
Diffstat (limited to 'keyboards/atreus')
-rw-r--r--keyboards/atreus/keymaps/dvorak_42_key/keymap.c99
1 files changed, 60 insertions, 39 deletions
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
index 3f7694944..0c9ab59a9 100644
--- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
+++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c
@@ -11,8 +11,11 @@
11// aliases 11// aliases
12// shell 12// shell
13#define SHELL_DEL_WORD RCTL(KC_W) 13#define SHELL_DEL_WORD RCTL(KC_W)
14// android studio
15 14
15// comment out to use android studio macros instead
16#define USE_VSCODE_MACROS
17
18// android studio shortcuts
16#define AS_TABLEFT LALT(KC_LEFT) 19#define AS_TABLEFT LALT(KC_LEFT)
17#define AS_TABRIGHT LALT(KC_RIGHT) 20#define AS_TABRIGHT LALT(KC_RIGHT)
18#define AS_SYMBOL LCTL(LALT(KC_N)) 21#define AS_SYMBOL LCTL(LALT(KC_N))
@@ -25,17 +28,49 @@
25#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4)) 28#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4))
26#define AS_ALTENTER LALT(KC_ENTER) 29#define AS_ALTENTER LALT(KC_ENTER)
27 30
31// visual studio code shortcuts
32#define VS_FILE LCTL(KC_P)
33#define VS_LINE LCTL(KC_G)
34#define VS_SYMBOLEDITOR LCTL(LSFT(KC_O))
35#define VS_DEFINITION KC_F12
36#define VS_IMPLEMENTATION LCTL(KC_F12)
37#define VS_REFERENCES LSFT(KC_F12)
38#define VS_BACK LALT(KC_LEFT)
39#define VS_BRACKET LCTL(LSFT(KC_BSLS))
40#define VS_TABLEFT LCTL(KC_PGUP)
41#define VS_TABRIGHT LCTL(KC_PGDN)
42#define VS_CLOSETAB LCTL(KC_W)
43#define VS_CLOSEPANEL LCTL(LSFT(KC_W))
44#define VS_TERMINAL LCTL(KC_GRAVE)
45#define VS_BUILD LCTL(LSFT(KC_B))
46#define VS_COMMANDS LCTL(LSFT(KC_P))
47#define VS_CMT_BLOCK LSFT(LALT(KC_A))
48#define VS_CMT_LINE LCTL(KC_SLSH)
49#define VS_DEL_LINE LCTL(LSFT(KC_K))
50#define VS_COPYLINEDOWN LSFT(LALT(KC_DOWN))
51// visual studio bookmark commands
52#define VS_BM_LIST LCTL(LALT(KC_L))
53#define VS_BM_LISTALL LCTL(LALT(KC_A))
54#define VS_BM_PREV LCTL(LALT(KC_P))
55#define VS_BM_NEXT LCTL(LALT(KC_N))
56#define VS_BM_TOGGLE LCTL(LALT(KC_K))
57#define VS_BM_LABEL LCTL(LALT(KC_B))
58
59/*
60// VS code bookmark prev/next requires the following in vscode shortcuts config
61 {
62 "key": "ctrl+alt+p",
63 "command": "bookmarks.jumpToPrevious"
64 },
65 {
66 "key": "ctrl+alt+n",
67 "command": "bookmarks.jumpToNext"
68 },
69*/
70
28enum custom_keycodes { 71enum custom_keycodes {
29 PLACEHOLDER = SAFE_RANGE, // can always be here 72 PLACEHOLDER = SAFE_RANGE, // can always be here
30 73
31 // Cloud9 macros
32 CLOUD9_TAB_LEFT,
33 CLOUD9_TAB_RIGHT,
34 CLOUD9_TAB_CLOSE,
35 CLOUD9_GOTO_SYMBOL,
36 CLOUD9_GOTO_LINE,
37 CLOUD9_NAVIGATE,
38
39 // Windows 10 macros 74 // Windows 10 macros
40 W10_TASKVIEW, 75 W10_TASKVIEW,
41 W10_WORKSPACE_LEFT, 76 W10_WORKSPACE_LEFT,
@@ -43,9 +78,8 @@ enum custom_keycodes {
43 78
44}; 79};
45 80
46// building instructions: 81// building/flashing instructions:
47// make atreus:dvorak_42_key 82// make atreus/astar:dvorak_42_key:flash
48
49 83
50const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 84const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
51 [BASE] = LAYOUT( 85 [BASE] = LAYOUT(
@@ -55,12 +89,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), MO(KEYNAV), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT) 89 OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), MO(KEYNAV), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT)
56 ), 90 ),
57 91
92#ifdef USE_VSCODE_MACROS
93// use visual studio code macros on the KEYNAV layer
94 [KEYNAV] = LAYOUT(
95 KC_ESC, VS_DEFINITION, RCTL(KC_Z), RCTL(KC_S), MEH(KC_A), MEH(KC_B), KC_HOME, KC_UP, KC_END, KC_PGUP,
96 VS_BACK, VS_SYMBOLEDITOR, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT),
97 VS_LINE, VS_FILE, VS_TABLEFT, VS_TABRIGHT, VS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN,
98 VS_COMMANDS, VS_CMT_LINE, VS_BM_PREV, VS_BM_NEXT, VS_BM_TOGGLE, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE)
99 ),
100#else
101// use android studio macros on the KEYNAV layer
58 [KEYNAV] = LAYOUT( 102 [KEYNAV] = LAYOUT(
59 KC_ESC, AS_GO_IMPLEMENTATION, RCTL(KC_Z), RCTL(KC_S), MEH(KC_A), MEH(KC_B), KC_HOME, KC_UP, KC_END, KC_PGUP, 103 KC_ESC, AS_GO_IMPLEMENTATION, RCTL(KC_Z), RCTL(KC_S), MEH(KC_A), MEH(KC_B), KC_HOME, KC_UP, KC_END, KC_PGUP,
60 AS_BACK, AS_SYMBOL, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), 104 AS_BACK, AS_SYMBOL, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT),
61 AS_FINDUSAGE, AS_CLASS, AS_TABLEFT, AS_TABRIGHT, AS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, 105 AS_FINDUSAGE, AS_CLASS, AS_TABLEFT, AS_TABRIGHT, AS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN,
62 AS_CLOSETOOLWINDOW, AS_GO_DECLARATION, KC_TRNS, KC_TRNS, AS_ALTENTER, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) 106 AS_CLOSETOOLWINDOW, AS_GO_DECLARATION, KC_TRNS, KC_TRNS, AS_ALTENTER, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE)
63 ), 107 ),
108#endif
64 109
65 [KEYSEL] = LAYOUT( 110 [KEYSEL] = LAYOUT(
66 MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), 111 MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP),
@@ -87,34 +132,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
87bool process_record_user(uint16_t keycode, keyrecord_t *record) { 132bool process_record_user(uint16_t keycode, keyrecord_t *record) {
88 if(record->event.pressed) { 133 if(record->event.pressed) {
89 switch (keycode) { 134 switch (keycode) {
90 // Cloud9 macros 135 // windows 10 workspace shortcuts
91 case CLOUD9_TAB_LEFT:
92 SEND_STRING(SS_LCTRL("["));
93 return true;
94 break;
95 case CLOUD9_TAB_RIGHT:
96 SEND_STRING(SS_LCTRL("]"));
97 return true;
98 break;
99 case CLOUD9_TAB_CLOSE:
100 SEND_STRING(SS_LALT("w"));
101 return true;
102 break;
103 case CLOUD9_GOTO_SYMBOL:
104 SEND_STRING(SS_LSFT(SS_LCTRL("e")));
105 return true;
106 break;
107 case CLOUD9_GOTO_LINE:
108 SEND_STRING(SS_LCTRL("g"));
109 return true;
110 break;
111 case CLOUD9_NAVIGATE:
112 SEND_STRING(SS_LCTRL("e"));
113 return true;
114 break;
115 case W10_TASKVIEW: 136 case W10_TASKVIEW:
116 tap_code16(G(KC_TAB)); 137 tap_code16(G(KC_TAB));
117 return true; 138 return true;
118 break; 139 break;
119 case W10_WORKSPACE_LEFT: 140 case W10_WORKSPACE_LEFT:
120 tap_code16(G(C(KC_LEFT))); 141 tap_code16(G(C(KC_LEFT)));
@@ -122,7 +143,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
122 break; 143 break;
123 case W10_WORKSPACE_RIGHT: 144 case W10_WORKSPACE_RIGHT:
124 tap_code16(G(C(KC_RIGHT))); 145 tap_code16(G(C(KC_RIGHT)));
125 break; 146 break;
126 } 147 }
127 } 148 }
128 149