1
0
Fork 0

Changes to Atreus and Ergodox EZ Dvorak 42key layout (#1997)

* importing 42 key dvorak layout

* added comment for build instructions

* adding atreus dvorak 42 key layout

* added readme

* add readme

* build instructions

* additional MEH shortcuts

* added shifted symbols on symbols layer

* working extra symbols on COMBINED layer

* bring atreus layout inline with the ergodox one

* add necessary macros

* working ls macro

* added more shell macros

* added screen rename / screen number macros

* add ctrl-a key in shell-nav to use screen more easily

* added shell screen layer

* assign screen switching macros to screen layer

* define all screen switching macros

* more screen-related shortcuts added on shell screen layer

* change shell nav bottom right row to match base layer (backspace / delete)

* remove some mappings on SHELL_NAV layer as they are now in the screen layer

* added more screen macros

* changes to COMBINED layer (pipe on the right) and modified shell nav

* moved pipe/backslash to then right

* documented SHELL_SCREEN layer

* put backspace/delete on SHELL_NAV layer
This commit is contained in:
lucwastiaux 2017-11-14 07:50:39 +08:00 committed by Jack Humbert
parent 716ff76f5b
commit dd60038eeb
3 changed files with 237 additions and 231 deletions

View file

@ -44,10 +44,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}, },
[COMBINED] = { [COMBINED] = {
{KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, }, {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, },
{KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, }, {KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, },
{KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, }, {KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, },
{KC_PIPE, KC_BSLS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_TILD, KC_GRAVE, } {KC_TRNS, KC_TILD, KC_GRAVE, KC_CIRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_PIPE, KC_BSLS, }
}, },
[MOUSE] = { [MOUSE] = {

View file

@ -14,4 +14,5 @@ Layers
* KEYSEL: similar to KEYNAV, except for shift-selection * KEYSEL: similar to KEYNAV, except for shift-selection
* COMBINED: this is a layer that combines numbers, brackets and special characters. !@#$%^&*( can be type by shift+COMBINED+1/2/3/etc.. * COMBINED: this is a layer that combines numbers, brackets and special characters. !@#$%^&*( can be type by shift+COMBINED+1/2/3/etc..
* MOUSE: mouse navigation, as well as browser tab-left/tab-right shortcuts * MOUSE: mouse navigation, as well as browser tab-left/tab-right shortcuts
* SHELL_NAV: Linux Bash shortcuts (move forward/backward in command line, move between screen windows, Ctrl+C, recall last argument, etc * SHELL_NAV: Linux Bash shortcuts (move forward/backward in command line, Ctrl+C, recall last argument, etc
* SHELL_SCREEN: Linux screen (run multiple terminals in one window) shortcuts such as open new tabs, switch between tabs

View file

@ -30,6 +30,7 @@ enum custom_keycodes {
SHELL_SCREEN_NEW, SHELL_SCREEN_NEW,
SHELL_SCREEN_LIST, SHELL_SCREEN_LIST,
SHELL_MKE, SHELL_MKE,
SHELL_HTCSTATUS,
}; };
@ -76,84 +77,84 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = KEYMAP( [BASE] = KEYMAP(
// left hand // left hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_TAB, KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MEH(KC_2), KC_TAB, 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_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, MEH(KC_3),
MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL), MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL),
// left thumb cluster // left thumb cluster
MEH(KC_4), MEH(KC_5), MEH(KC_4), MEH(KC_5),
MEH(KC_6), MEH(KC_6),
MO(COMBINED),MO(KEYNAV), OSM(MOD_LALT), MO(COMBINED),MO(KEYNAV), OSM(MOD_LALT),
// right hand // right hand
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_9), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_9),
MEH(KC_7), KC_F, KC_G, KC_C, KC_R, KC_L, MEH(KC_F1), MEH(KC_7), KC_F, KC_G, KC_C, KC_R, KC_L, MEH(KC_F1),
KC_D, KC_H, KC_T, KC_N, KC_S, MEH(KC_F2), KC_D, KC_H, KC_T, KC_N, KC_S, MEH(KC_F2),
MEH(KC_8), KC_B, KC_M, KC_W, KC_V, KC_Z, MEH(KC_F3), MEH(KC_8), KC_B, KC_M, KC_W, KC_V, KC_Z, MEH(KC_F3),
KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT),MEH(KC_F4), KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT),MEH(KC_F4),
// right thumb cluster // right thumb cluster
MEH(KC_F5),MEH(KC_F6),MEH(KC_F7),MEH(KC_F8),KC_ENTER,KC_SPACE MEH(KC_F5),MEH(KC_F6),MEH(KC_F7),MEH(KC_F8),KC_ENTER,KC_SPACE
), ),
[KEYNAV] = KEYMAP( [KEYNAV] = KEYMAP(
// left hand // 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_ESC, MEH(KC_F9), RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_TRNS,KC_ESC, MEH(KC_F9), RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS,
KC_TRNS,MEH(KC_F11), MEH(KC_F12), RSFT(KC_TAB), KC_TAB, MEH(KC_A), KC_TRNS,MEH(KC_F11), MEH(KC_F12), RSFT(KC_TAB), KC_TAB, MEH(KC_A),
KC_TRNS,MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F), KC_TRNS, KC_TRNS,MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F), 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 // left thumb cluster
KC_TRNS,KC_TRNS,KC_TRNS,TO(MOUSE),KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,TO(MOUSE),KC_TRNS,KC_TRNS,
// right hand // right hand
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_G), KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_G),
KC_TRNS,KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, MEH(KC_H), KC_TRNS,KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, MEH(KC_H),
LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), MEH(KC_I), LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), MEH(KC_I),
KC_TRNS,KC_NO, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, MEH(KC_J), KC_TRNS,KC_NO, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, MEH(KC_J),
KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), MEH(KC_K), KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), MEH(KC_K),
// right thumb cluster // right thumb cluster
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
), ),
// key selection layer // key selection layer
[KEYSEL] = KEYMAP( [KEYSEL] = KEYMAP(
// left hand // 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,MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, KC_TRNS,MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS,
KC_TRNS,MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), 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, KC_TRNS,MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS,
// bottom row // bottom row
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster // thumb cluster
KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
// right hand // right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_Q), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_Q),
RSFT(KC_PGUP), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), MEH(KC_R), RSFT(KC_PGUP), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), MEH(KC_R),
RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), MEH(KC_S), RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), MEH(KC_S),
RSFT(KC_PGDN), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), MEH(KC_T), RSFT(KC_PGDN), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), MEH(KC_T),
// bottom row // bottom row
KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), MEH(KC_U), KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), MEH(KC_U),
// thumb cluster // thumb cluster
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS KC_TRNS, KC_TRNS, KC_TRNS
), ),
// shell navigation layer // shell navigation layer
[SHELL_NAV] = KEYMAP( [SHELL_NAV] = KEYMAP(
// left hand // 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, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, SHELL_MKE, SHELL_H3, KC_TRNS,KC_TRNS, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, KC_TRNS, SHELL_H3,
KC_TRNS,LCTL(KC_A), SHELL_CDPRE, SHELL_LSLTR, SHELL_LS, SHELL_PWD, KC_TRNS,SHELL_MKE, SHELL_CDPRE, SHELL_LSLTR, SHELL_LS, SHELL_PWD,
KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, KC_TRNS, SHELL_AMMCOLO, KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, SHELL_HTCSTATUS, SHELL_AMMCOLO,
// bottom row // bottom row
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// thumb cluster // thumb cluster
@ -162,11 +163,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
// right hand // right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(SWITCH_NDS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(SWITCH_NDS),
RCTL(KC_L), KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, RCTL(KC_R), RCTL(KC_L), RCTL(KC_W), KC_HOME, KC_UP, KC_END, KC_TRNS, RCTL(KC_R),
LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), LALT(KC_DOT), LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), LALT(KC_DOT),
RCTL(KC_C), KC_TRNS, M(SCREEN_COPY_MODE), M(SCREEN_PASTE), MEH(KC_V), RCTL(KC_K), M(SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND), RCTL(KC_C), RCTL(KC_U), M(SCREEN_COPY_MODE), M(SCREEN_PASTE), MEH(KC_V), RCTL(KC_K), M(SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND),
// bottom row (match functionality of base layer) // bottom row (match functionality of base layer)
KC_TRNS, RCTL(KC_W), KC_TRNS, LALT(KC_D), RCTL(KC_U), KC_BSPC, RCTL(KC_W), KC_DELETE, LALT(KC_D), RCTL(KC_U),
// thumb cluster // thumb cluster
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
@ -203,49 +204,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[COMBINED] = KEYMAP( [COMBINED] = KEYMAP(
// left hand // left hand
KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,KC_TRNS, KC_TRNS,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS,
KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS,
KC_TRNS,KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS,KC_TRNS, KC_TRNS,KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_TRNS,
// bottom row // bottom row
KC_TRNS,KC_PIPE, KC_BSLS, KC_CIRC, KC_AMPR, KC_TRNS,KC_TRNS, KC_TILD, KC_GRAVE, KC_CIRC,
// thumb cluster // thumb cluster
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
// right hand // right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_L), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_L),
KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, MEH(KC_M), KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, MEH(KC_M),
KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, MEH(KC_N), KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, MEH(KC_N),
KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, MEH(KC_O), KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, MEH(KC_O),
// bottom row // bottom row
KC_0, KC_DOT, KC_TILD, KC_GRAVE, MEH(KC_P), KC_0, KC_DOT, KC_PIPE, KC_BSLS, MEH(KC_P),
// thumb cluster // thumb cluster
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
[MOUSE] = KEYMAP( [MOUSE] = KEYMAP(
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_PGUP, KC_MS_WH_UP, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_MS_WH_UP, KC_UP, KC_TRNS, KC_TRNS,
KC_TRNS, KC_MS_ACCEL0, KC_PGDN, KC_MS_WH_DOWN, KC_DOWN, KC_TRNS, KC_TRNS, KC_MS_ACCEL0, KC_PGDN, KC_MS_WH_DOWN, KC_DOWN, 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, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, KC_BTN3, KC_TRNS,
// right hand // 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_UP, KC_HOME, KC_MS_U, KC_END, KC_MS_WH_UP, KC_TRNS, KC_TRNS, KC_UP, KC_HOME, KC_MS_U, KC_END, KC_MS_WH_UP, KC_TRNS,
KC_DOWN, KC_MS_L, KC_MS_D, KC_MS_R, KC_MS_WH_DOWN, KC_TRNS, KC_DOWN, KC_MS_L, KC_MS_D, KC_MS_R, KC_MS_WH_DOWN, KC_TRNS,
KC_TRNS, MEH(KC_X), MEH(KC_Y), MEH(KC_Z), KC_F5, RCTL(KC_W), KC_TRNS, KC_TRNS, MEH(KC_X), MEH(KC_Y), MEH(KC_Z), KC_F5, RCTL(KC_W), KC_TRNS,
// browser tab control // browser tab control
RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), KC_TRNS, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS, KC_BTN1, KC_BTN2 KC_TRNS, KC_BTN1, KC_BTN2
), ),
}; };
@ -257,26 +258,26 @@ const uint16_t PROGMEM fn_actions[] = {
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{ {
switch(id) { switch(id) {
case MOUSE_TOGGLE: case MOUSE_TOGGLE:
if (record->event.pressed) { if (record->event.pressed) {
layer_on(MOUSE); layer_on(MOUSE);
} else { } else {
if(!mouse_lock) if(!mouse_lock)
layer_off(MOUSE); layer_off(MOUSE);
} }
break; break;
case MOUSE_LOCK: case MOUSE_LOCK:
if (record->event.pressed) if (record->event.pressed)
{ {
if(mouse_lock) if(mouse_lock)
{ {
mouse_lock = false; mouse_lock = false;
layer_off(MOUSE); layer_off(MOUSE);
} }
else else
mouse_lock = true; mouse_lock = true;
} }
break; break;
case SCREEN_TAB_LEFT: case SCREEN_TAB_LEFT:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LCTL), T(A), U(LCTL), T(P), END); return MACRO( D(LCTL), T(A), U(LCTL), T(P), END);
@ -295,38 +296,38 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
case SCREEN_DETACH: case SCREEN_DETACH:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LCTL), T(A), U(LCTL), T(D), END); return MACRO( D(LCTL), T(A), U(LCTL), T(D), END);
} }
break; break;
case SCREEN_RENAME: case SCREEN_RENAME:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(A), U(LSFT), END); return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(A), U(LSFT), END);
} }
break; break;
case SCREEN_NUMBER: case SCREEN_NUMBER:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(SCOLON), U(LSFT), return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(SCOLON), U(LSFT),
T(N), T(N),
T(U), T(U),
T(M), T(M),
T(B), T(B),
T(E), T(E),
T(R), T(R),
T(SPC), T(SPC),
END); END);
} }
break; break;
MACRO_SCREEN_NUM(SCREEN_0,0); MACRO_SCREEN_NUM(SCREEN_0,0);
MACRO_SCREEN_NUM(SCREEN_1,1); MACRO_SCREEN_NUM(SCREEN_1,1);
MACRO_SCREEN_NUM(SCREEN_2,2); MACRO_SCREEN_NUM(SCREEN_2,2);
MACRO_SCREEN_NUM(SCREEN_3,3); MACRO_SCREEN_NUM(SCREEN_3,3);
MACRO_SCREEN_NUM(SCREEN_4,4); MACRO_SCREEN_NUM(SCREEN_4,4);
MACRO_SCREEN_NUM(SCREEN_5,5); MACRO_SCREEN_NUM(SCREEN_5,5);
MACRO_SCREEN_NUM(SCREEN_6,6); MACRO_SCREEN_NUM(SCREEN_6,6);
MACRO_SCREEN_NUM(SCREEN_7,7); MACRO_SCREEN_NUM(SCREEN_7,7);
MACRO_SCREEN_NUM(SCREEN_8,8); MACRO_SCREEN_NUM(SCREEN_8,8);
MACRO_SCREEN_NUM(SCREEN_9,9); MACRO_SCREEN_NUM(SCREEN_9,9);
case SCREEN_COPY_MODE: case SCREEN_COPY_MODE:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LCTL), T(A), U(LCTL), T(ESC), END); return MACRO( D(LCTL), T(A), U(LCTL), T(ESC), END);
@ -340,13 +341,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
case SWITCH_NDS: case SWITCH_NDS:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( D(LSFT), return MACRO( D(LSFT),
T(F11), T(F11),
U(LSFT), U(LSFT),
W(255), W(255),
D(LALT), D(LALT),
T(TAB), T(TAB),
U(LALT), U(LALT),
END); END);
} }
break; break;
case SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND: case SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND:
@ -383,64 +384,68 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// shell macros // shell macros
if(record->event.pressed) { if(record->event.pressed) {
switch (keycode) { switch (keycode) {
case SHELL_LS: case SHELL_LS:
SEND_STRING("ls\n"); SEND_STRING("ls\n");
return true; return true;
break; break;
case SHELL_LSLTR: case SHELL_LSLTR:
SEND_STRING("ls -ltr\n"); SEND_STRING("ls -ltr\n");
return true; return true;
break; break;
case SHELL_CDPRE: case SHELL_CDPRE:
SEND_STRING("cd ..\n"); SEND_STRING("cd ..\n");
return true; return true;
break; break;
case SHELL_LESS: case SHELL_LESS:
SEND_STRING("less "); SEND_STRING("less ");
return true; return true;
break; break;
case SHELL_PLESS: case SHELL_PLESS:
SEND_STRING(" | less"); SEND_STRING(" | less");
return true; return true;
break; break;
case SHELL_PGREP: case SHELL_PGREP:
SEND_STRING(" | grep "); SEND_STRING(" | grep ");
return true; return true;
break; break;
case SHELL_TAILF: case SHELL_TAILF:
SEND_STRING("tail -f "); SEND_STRING("tail -f ");
return true; return true;
break; break;
case SHELL_PWD: case SHELL_PWD:
SEND_STRING("echo `pwd`/"); SEND_STRING("echo `pwd`/");
return true; return true;
break; break;
case SHELL_H3: case SHELL_H3:
SEND_STRING("h3\n"); SEND_STRING("h3\n");
return true; return true;
break; break;
case SHELL_AMMCOLO: case SHELL_AMMCOLO:
SEND_STRING("ammcolo\n"); SEND_STRING("ammcolo\n");
return true; return true;
break; break;
case SHELL_SCREENRD: case SHELL_SCREENRD:
SEND_STRING("screen -r -d "); SEND_STRING("screen -r -d ");
return true; return true;
break; break;
case SHELL_SCREEN_NEW: case SHELL_SCREEN_NEW:
SEND_STRING("screen -S "); SEND_STRING("screen -S ");
return true; return true;
break; break;
case SHELL_SCREEN_LIST: case SHELL_SCREEN_LIST:
SEND_STRING("screen -list\n"); SEND_STRING("screen -list\n");
return true; return true;
break; break;
case SHELL_MKE: case SHELL_MKE:
SEND_STRING("mke\n"); SEND_STRING("mke\n");
return true; return true;
break; break;
} case SHELL_HTCSTATUS:
SEND_STRING("htcStatus -j ");
return true;
break;
}
} }
return true; return true;
@ -462,15 +467,15 @@ void matrix_scan_user(void) {
ergodox_right_led_2_off(); ergodox_right_led_2_off();
ergodox_right_led_3_off(); ergodox_right_led_3_off();
switch (layer) { switch (layer) {
case COMBINED: case COMBINED:
ergodox_right_led_2_on(); ergodox_right_led_2_on();
break; break;
case SHELL_NAV: case SHELL_NAV:
case SHELL_SCREEN: case SHELL_SCREEN:
case KEYNAV: case KEYNAV:
case KEYSEL: case KEYSEL:
ergodox_right_led_3_on(); ergodox_right_led_3_on();
break; break;
case MOUSE: case MOUSE:
ergodox_right_led_2_on(); ergodox_right_led_2_on();
ergodox_right_led_3_on(); ergodox_right_led_3_on();