user keymaps for ergodox_ez/dvorak_42_key / atreus/dvorak_42_key (#9429)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
LucW 2020-06-22 16:45:47 +08:00 committed by GitHub
parent 98642ca028
commit 4b13c49578
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 104 additions and 90 deletions

View file

@ -23,6 +23,7 @@
#define AS_GO_IMPLEMENTATION LCTL(LALT(KC_B))
#define AS_CLOSETAB LCTL(KC_F4)
#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4))
#define AS_ALTENTER LALT(KC_ENTER)
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
@ -35,13 +36,16 @@ enum custom_keycodes {
CLOUD9_GOTO_LINE,
CLOUD9_NAVIGATE,
// Windows 10 macros
W10_TASKVIEW,
W10_WORKSPACE_LEFT,
W10_WORKSPACE_RIGHT,
};
// building instructions:
// make atreus:dvorak_42_key
// flashing instructions:
// avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT(
@ -55,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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,
AS_BACK, AS_SYMBOL, RSFT(KC_TAB), KC_TAB, SHELL_DEL_WORD, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT),
AS_FINDUSAGE, AS_CLASS, AS_TABLEFT, AS_TABRIGHT, AS_CLOSETAB, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN,
AS_CLOSETOOLWINDOW, AS_GO_DECLARATION, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE)
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)
),
[KEYSEL] = LAYOUT(
@ -73,10 +77,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[BROWSER_CONTROL] = LAYOUT(
MEH(KC_0), KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, MEH(KC_9),
MEH(KC_1), KC_MS_L, KC_MS_D, KC_MS_R, MEH(KC_6), KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT),
MEH(KC_2), MEH(KC_3), MEH(KC_4), MEH(KC_5), MEH(KC_7), MEH(KC_8), RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), RSFT(RCTL(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS
MEH(KC_0), KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, MEH(KC_9),
MEH(KC_1), KC_MS_L, KC_MS_D, KC_MS_R, MEH(KC_6), KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT),
MEH(KC_2), W10_TASKVIEW, W10_WORKSPACE_LEFT, W10_WORKSPACE_RIGHT, MEH(KC_7), MEH(KC_8), RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
@ -108,9 +112,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(SS_LCTRL("e"));
return true;
break;
case W10_TASKVIEW:
tap_code16(G(KC_TAB));
return true;
break;
case W10_WORKSPACE_LEFT:
tap_code16(G(C(KC_LEFT)));
return true;
break;
case W10_WORKSPACE_RIGHT:
tap_code16(G(C(KC_RIGHT)));
break;
}
}
return true;
}

View file

@ -50,30 +50,23 @@ enum custom_keycodes {
SHELL_EXPAND_OE_LOGPATTERN,
SHELL_EXPAND_OE_TRANPATTERN,
// Cloud9 macros
CLOUD9_TAB_LEFT,
CLOUD9_TAB_RIGHT,
CLOUD9_TAB_CLOSE,
CLOUD9_GOTO_SYMBOL,
CLOUD9_GOTO_LINE,
CLOUD9_NAVIGATE,
// Windows 10 macros,
WINDOWS10_WORKSPACE_LEFT,
WINDOWS10_WORKSPACE_RIGHT,
WINDOWS10_TASK_VIEW
};
#define BASE 0 // base dvorak layer
#define BASE_ALTERNATE 1 // base dvorak layer, with different layer toggling
#define KEYNAV 2 // arrow navigation (right hand)
#define KEYSEL 3 // arrow navigation + shift (allow text selection)
#define SHELL_NAV 4 // bash shortcuts
#define SHELL_SCREEN 5 // linux screen shortcuts
#define SCREEN_NAV 6 // navigate between linux screen tabs
#define BROWSER_CONTROL 7 // control browser and mouse
#define COMBINED 8 // combined numbers and symbols layer
#define ANDROID_STUDIO 9
#define KEYNAV 1 // arrow navigation (right hand)
#define KEYSEL 2 // arrow navigation + shift (allow text selection)
#define SHELL_NAV 3 // bash shortcuts
#define SHELL_SCREEN 4 // linux screen shortcuts
#define SCREEN_NAV 5 // navigate between linux screen tabs
#define BROWSER_CONTROL 6 // control browser and mouse
#define COMBINED 7 // combined numbers and symbols layer
#define ANDROID_STUDIO 8 // android studio specific layer
#define VSCODE 9 // visual studio code specific layer
// macros
@ -117,6 +110,34 @@ enum custom_keycodes {
#define AS_CLOSETAB LCTL(KC_F4)
#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4))
// visual studio code shortcuts
#define VS_FILE LCTL(KC_P)
#define VS_LINE LCTL(KC_G)
#define VS_SYMBOLEDITOR LCTL(LSFT(KC_O))
#define VS_DEFINITION KC_F12
#define VS_IMPLEMENTATION LCTL(KC_F12)
#define VS_REFERENCES LSFT(KC_F12)
#define VS_BACK LALT(KC_LEFT)
#define VS_BRACKET LCTL(LSFT(KC_BSLS))
#define VS_TABLEFT LCTL(KC_PGUP)
#define VS_TABRIGHT LCTL(KC_PGDN)
#define VS_CLOSETAB LCTL(KC_W)
#define VS_CLOSEPANEL LCTL(LSFT(KC_W))
#define VS_TERMINAL LCTL(KC_GRAVE)
#define VS_BUILD LCTL(LSFT(KC_B))
#define VS_COMMANDS LCTL(LSFT(KC_P))
#define VS_CMT_BLOCK LSFT(LALT(KC_A))
#define VS_CMT_LINE LCTL(KC_SLSH)
#define VS_DEL_LINE LCTL(LSFT(KC_K))
#define VS_COPYLINEDOWN LSFT(LALT(KC_DOWN))
// visual studio bookmark commands
#define VS_BM_LIST LCTL(LALT(KC_L))
#define VS_BM_LISTALL LCTL(LALT(KC_A))
#define VS_BM_PREV LCTL(LALT(KC_P))
#define VS_BM_NEXT LCTL(LALT(KC_N))
#define VS_BM_TOGGLE LCTL(LALT(KC_K))
#define VS_BM_LABEL LCTL(LALT(KC_B))
#define MACRO_SCREEN_NUM(MACRO_NAME,NUM) \
case MACRO_NAME:\
@ -166,12 +187,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
OSL(SCREEN_NAV), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MEH(KC_2),
OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I,
OSL(SHELL_SCREEN), KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MEH(KC_3),
OSL(SHELL_SCREEN), KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(VSCODE),
MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL),
// left thumb cluster
WINDOWS10_WORKSPACE_LEFT, WINDOWS10_WORKSPACE_RIGHT,
MEH(KC_6),
WINDOWS10_TASK_VIEW,
MO(COMBINED),MO(KEYNAV), OSM(MOD_LALT),
// right hand
@ -186,39 +207,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// alternate base layout
[BASE_ALTERNATE] = LAYOUT_ergodox(
// left hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
OSL(ANDROID_STUDIO),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// bottom row
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster
KC_TRNS,KC_TRNS,
KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// bottom row
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// thumb cluster
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[KEYNAV] = LAYOUT_ergodox(
// left hand
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_ESC, CLOUD9_GOTO_LINE, RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS,
KC_TRNS,KC_LSFT, CLOUD9_GOTO_SYMBOL, RSFT(KC_TAB), KC_TAB, MEH(KC_A),
KC_TRNS,MEH(KC_B), CLOUD9_NAVIGATE, CLOUD9_TAB_LEFT, CLOUD9_TAB_RIGHT, CLOUD9_TAB_CLOSE, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_ESC, KC_TRNS, RCTL(KC_Z), RCTL(KC_S), KC_TRNS, KC_TRNS,
KC_TRNS,KC_LSFT, KC_TRNS, RSFT(KC_TAB), KC_TAB, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// left thumb cluster
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
@ -242,7 +237,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P),
KC_TRNS,MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS,
// bottom row
RESET,DF(BASE),DF(BASE_ALTERNATE),KC_TRNS,KC_TRNS,
RESET,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster
KC_TRNS,KC_TRNS,
KC_TRNS,
@ -355,10 +350,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, AS_FINDUSAGE, AS_GO_DECLARATION, AS_GO_IMPLEMENTATION, KC_TRNS,
KC_TRNS, AS_TABLEFT, AS_TABRIGHT, AS_SYMBOL, AS_CLASS, AS_BACK,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, AS_CLOSETAB, AS_CLOSETOOLWINDOW, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, AS_FINDUSAGE, AS_GO_DECLARATION, AS_GO_IMPLEMENTATION, KC_TRNS,
AS_CLOSETAB, AS_TABLEFT, AS_TABRIGHT, AS_SYMBOL, AS_CLASS, AS_BACK,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, AS_CLOSETOOLWINDOW, KC_TRNS,
// bottom row
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// thumb cluster
@ -367,6 +362,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS
),
// vscode shortcuts shortcuts
[VSCODE] = LAYOUT_ergodox(
// left hand
KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
// bottom row
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster
KC_TRNS,KC_TRNS,
KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
VS_CMT_LINE, VS_COPYLINEDOWN, VS_REFERENCES, VS_DEFINITION, VS_IMPLEMENTATION, VS_LINE, VS_BRACKET,
VS_CLOSETAB, VS_TABLEFT, VS_TABRIGHT, VS_SYMBOLEDITOR, VS_FILE, VS_BACK,
VS_CMT_BLOCK, KC_TRNS, VS_BM_PREV, VS_BM_NEXT, VS_BM_LIST, VS_BM_LISTALL, VS_BM_TOGGLE,
// bottom row
VS_COMMANDS, VS_BUILD, VS_TERMINAL, VS_CLOSEPANEL, VS_BM_LABEL,
// thumb cluster
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, VS_DEL_LINE, KC_TRNS
),
[COMBINED] = LAYOUT_ergodox(
// left hand
@ -407,10 +428,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, KC_TRNS,
KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), KC_TRNS,
KC_DOWN, RCTL(KC_PGUP), RCTL(KC_PGDN),KC_MS_WH_DOWN, LALT(KC_LEFT), KC_TRNS,
KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, KC_TRNS,
// bottom row
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RCTL(LSFT(KC_TAB)), RCTL(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, RCTL(KC_W), RCTL(KC_T)
@ -623,31 +644,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(" | dumptlog - ");
return true;
break;
// Cloud9 macros
case CLOUD9_TAB_LEFT:
SEND_STRING(SS_LCTRL("["));
return true;
break;
case CLOUD9_TAB_RIGHT:
SEND_STRING(SS_LCTRL("]"));
return true;
break;
case CLOUD9_TAB_CLOSE:
SEND_STRING(SS_LALT("w"));
return true;
break;
case CLOUD9_GOTO_SYMBOL:
SEND_STRING(SS_LSFT(SS_LCTRL("e")));
return true;
break;
case CLOUD9_GOTO_LINE:
SEND_STRING(SS_LCTRL("g"));
return true;
break;
case CLOUD9_NAVIGATE:
SEND_STRING(SS_LCTRL("e"));
return true;
break;
case WINDOWS10_WORKSPACE_LEFT:
SEND_STRING(SS_LGUI(SS_LCTRL(SS_TAP(X_LEFT))));
return true;
@ -655,6 +651,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case WINDOWS10_WORKSPACE_RIGHT:
SEND_STRING(SS_LGUI(SS_LCTRL(SS_TAP(X_RIGHT))));
break;
case WINDOWS10_TASK_VIEW:
SEND_STRING(SS_LGUI(SS_TAP(X_TAB)));
break;
}
}
@ -686,6 +685,7 @@ void matrix_scan_user(void) {
case KEYNAV:
case KEYSEL:
case SCREEN_NAV:
case VSCODE:
ergodox_right_led_3_on();
break;
case BROWSER_CONTROL: