From 0755322a90ea3ed735b44f1a15ae79448696408f Mon Sep 17 00:00:00 2001 From: Thomas Anderson Date: Mon, 30 May 2016 23:45:55 -0700 Subject: [PATCH 1/2] Rearranged the layer toggles and keys. Moved the layer toggles to be in more comfortable locations for my typing. Also expanded the use of the media layer (now called APP) and enhanced the text navigation on the control layer --- .../ergodox_ez/keymaps/techtomas/keymap.c | 166 +++++++++--------- .../ergodox_ez/keymaps/techtomas/readme.md | 25 ++- .../keymaps/techtomas/techtomas.hex | Bin 51240 -> 51928 bytes 3 files changed, 101 insertions(+), 90 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/techtomas/keymap.c b/keyboard/ergodox_ez/keymaps/techtomas/keymap.c index b7d3b9a116..1ff6618b98 100644 --- a/keyboard/ergodox_ez/keymaps/techtomas/keymap.c +++ b/keyboard/ergodox_ez/keymaps/techtomas/keymap.c @@ -4,65 +4,65 @@ #define BASE 0 // default layer #define SYMB 1 // symbols -#define MDIA 2 // media +#define APP 2 // app layer #define CNTL 3 // control layer const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | L1/` | 1 | 2 | 3 | 4 | 5 |CmdSpc| | - | 6 | 7 | 8 | 9 | 0 | = | + * | L2/` | 1 | 2 | 3 | 4 | 5 |CmdSpc| | - | 6 | 7 | 8 | 9 | 0 | = | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * |Meh/Tab | Q | W | E | R | T | STab | | L3 | Y | U | I | O | P | Meh/\ | + * | MEH/Tab| Q | W | E | R | T | [ | | ] | Y | U | I | O | P | MEH/\ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * |Hyp/Esc | L3/A | S | D | F | G |------| |------| H | J | K | L | L2/; | Hyp/' | - * |--------+------+------+------+------+------| Tab | |AltGui|------+------+------+------+------+--------| - * | LShift | L3/Z | X | C | V | B | | | | N | M | , | . | L2// | RShift | + * |Hyp/Esc | A | S | D | F | G |------| |------| H | J | K | L | L2/; | Hyp/' | + * |--------+------+------+------+------+------| Tab | | STab |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | L2// | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |LCtrl | LAlt | LGui |Left |Right | | UP | Down | [ | ] | L1 | + * |L1/Lft|L3/Rht| LCtl | LAlt | LGui | | Rgui | Up | Dn | L3 | L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | LCtl | LGui | | LAlt |ShfGui| + * | LCtl | LGui | |AltGui|ShfGui| * ,-------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | + * | | |L1/Hom| |L2/PUp| | | * | Backsp|Delete|------| |------| Enter | Space | - * | | | End | | PgDn | | | + * | | |L3/End| |L1/PDn| | | * `--------------------' `-----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - LT(SYMB,KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_SPC), - MEH_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, S(KC_TAB), - ALL_T(KC_ESC), LT(CNTL,KC_A), KC_S, KC_D, KC_F, KC_G, - KC_LSFT, LT(CNTL,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_TAB, - KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RIGHT, - KC_LCTL, KC_LGUI, - KC_HOME, - KC_BSPC, KC_DELETE, KC_END, + LT(APP,KC_GRV), KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_SPC), + MEH_T(KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + ALL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TAB, + LT(SYMB,KC_LEFT), LT(CNTL,KC_RIGHT), KC_LCTL, KC_LALT, KC_LGUI, + KC_LCTL, KC_LGUI, + LT(SYMB,KC_HOME), + KC_BSPC, KC_DELETE, LT(CNTL,KC_END), // right hand - KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, - KC_FN3, KC_Y, KC_U, KC_I, KC_O, KC_P, MEH_T(KC_BSLS), - KC_H, KC_J, KC_K, KC_L, LT(MDIA,KC_SCLN), ALL_T(KC_QUOT), - LALT(KC_LGUI), KC_N, KC_M, KC_COMM, KC_DOT, LT(MDIA,KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_FN1, - KC_LALT, S(KC_LGUI), - KC_PGUP, - KC_PGDN,KC_ENT, KC_SPC + KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, MEH_T(KC_BSLS), + KC_H, KC_J, KC_K, KC_L, LT(APP,KC_SCLN), ALL_T(KC_QUOT), + S(KC_TAB), KC_N, KC_M, KC_COMM, KC_DOT, LT(APP,KC_SLSH), KC_RSFT, + KC_RGUI, KC_UP, KC_DOWN, KC_FN3, KC_FN1, + LALT(KC_LGUI), S(KC_LGUI), + LT(APP,KC_PGUP), + LT(SYMB,KC_PGDN), KC_ENT, KC_SPC ), /* Keymap 1: Symbol Layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * | | F1 | F2 | F3 | F4 | F5 | | | Tab | F6 | F7 | F8 | F9 | F10 | F11 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | < | | > | : | 7 | 8 | 9 | / | F12 | + * | | ! | @ | { | } | | | < | | > | : | 7 | 8 | 9 | / | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| ; | 4 | 5 | 6 | * | Prnt | + * | | # | $ | ( | ) | ` |------| |------| ; | 4 | 5 | 6 | * | | * |--------+------+------+------+------+------| F14 | | F15 |------+------+------+------+------+--------| * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | - | Entr | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | 0 | . | = | + | | + * | | | | | | | 0 | . | = | + | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -84,66 +84,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TAB, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, S(KC_DOT), KC_COLN, KC_7, KC_8, KC_9, KC_BSLS, KC_F12, - KC_SCLN, KC_4, KC_5, KC_6, KC_ASTR, KC_PSCR, + KC_SCLN, KC_4, KC_5, KC_6, KC_ASTR, KC_TRNS, KC_F15, KC_AMPR, KC_1, KC_2, KC_3, KC_MINS, KC_ENT, KC_0, KC_DOT, KC_EQL, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -/* Keymap 2: Media Layer +/* Keymap 2: App Layer * * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | + * | | CmdQ | CmdW | | | | Stab | | Play | Prev | Next | | |PrtSc | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Prev | Next | | Prev | Next | - * ,------|------|------| |------+------+------. - * | | | VolUp| | VolUp| | | - * | Play | Mute |------| |------| Mute | Play | - * | | | VolDn| | VolDn| | | - * `--------------------' `--------------------' - */ -// Control -[MDIA] = 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_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_MPRV, KC_MNXT, - KC_VOLU, - KC_MPLY, KC_MUTE, KC_VOLD, - // 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, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_MPRV, KC_MNXT, - KC_VOLU, - KC_VOLD, KC_MUTE, KC_MPLY -), -/* Keymap 3: Control Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Sleep | | | | | | Pwr | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| Lclk |------| |------| Lft | Down | Up | Right| | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | Rclk | | | | | | | | | | + * | | | | | | |------| |------| VolDn|VolUp | | | | | + * |--------+------+------+------+------+------| | | Mute |------+------+------+------+------+--------| + * | | CmdZ | CmdX | CmdC | CmdY | CtrlC| | | | | | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | | | | | | * `----------------------------------' `----------------------------------' @@ -156,14 +115,55 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // Control +[APP] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, LGUI(KC_Q), LGUI(KC_W), KC_TRNS, KC_TRNS, KC_TRNS, S(KC_TAB), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LCTL(KC_C), 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 + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, + KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MUTE, 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 +), +/* Keymap 3: Control Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Pwr | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| Lclk |------| |------| Lft | Down | Up | Right| | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | Rclk | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Shift| | | Home | End | + * ,------|------|------| |------+------+------. + * | | | LAtl | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Control [CNTL] = KEYMAP( - KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PWR, + KC_PWR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_LSFT, KC_TRNS, + KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, // right hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, 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_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), @@ -179,7 +179,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM fn_actions[] = { [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), - [2] = ACTION_LAYER_TAP_TOGGLE(MDIA), + [2] = ACTION_LAYER_TAP_TOGGLE(APP), [3] = ACTION_LAYER_TAP_TOGGLE(CNTL) // FN1 - Momentary Layer 1 (Symbols) }; diff --git a/keyboard/ergodox_ez/keymaps/techtomas/readme.md b/keyboard/ergodox_ez/keymaps/techtomas/readme.md index 1ed80fc20c..31c367a801 100644 --- a/keyboard/ergodox_ez/keymaps/techtomas/readme.md +++ b/keyboard/ergodox_ez/keymaps/techtomas/readme.md @@ -6,28 +6,39 @@ The base layer is a merge of what I liked with the default layout and the ordina * The Caps Lock postion handles [Hyper/Esc](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) * The Tab key toggles MEH. -* The two vertical mods on the left board are Shift+Tab and Tab. -* The two vertical mods on the right board are Control Layer tap/toggle and Alt+Cmd. +* The top vertical modes on the left and right are [ and ]. +* The bottom vertical mods on the left and right are tab and shift+tab * The HYPER and MEH key are made in the same location on the right side of the board as well. Using Keyboard Maestro for OS X makes one-handed shortcuts very easy. +* Layer switching is focused around the thumb clusters plus some additional locations for convience. ## Symbol Layer -The symbol layer can be tap/toggled through the bottom right key and also toggled holding the tilde/grave key in the upper left corner. I haven't used the symbol layer enough to tell if this was a good place or not but it made sense in my head +The symbol layer can be tap/toggled with the bottom right key and also toggled on the thumb clusters. The bottom two vertical mods are set to F14 and F15 which is the default for changing screen brightness on the mac -## Media Layer -/ & ; will toggle the media layer which has play and volume controls assigned to the thumb cluster. I found this an easy way to quickly play/pause +## App Layer +The app layer is used to control media playback and also some application shortcuts. +It can be toggled on the left board in the top left corner (tilde/grave) or using your pinky on the right side of the board using either ; or /. +There is one additional toggle on the right thumb cluster for quick access to play and mute key combos. ## Control Layer -The a and z keys toggle the control layer. +The control layer is meant to help easily navigate and select text. It can also be stacked ontop of the Symbol layer when needed. + +The right arrow key and End key toggle the control layer on the left board. There is also a tap toggle for the layer in the same position on the right side of the board. On the left board you have mouse control with left & right click in the location of the G and B keys. On the right board you have vim-style arrow keys using hjkl -The thumb cluster and mods all pass down to this layer. +The left thumb cluster moves shift and alt within easy reach while holding the toggle (end). So far I've found this convient to navigate and skip around text when using the hjkl arrow keys. I found that it was easy to get the alt key stuck on depending on what key you released first so I added the PREVENT_STUCK_MODIFIERS to the config.h to help with that. ## Changelog +* May 4th, 2016 (v1.2): + * Moved layer toggles around to match my habbits of typing + * Enabled Prevent Stuck Modifers in my config.h (L3 + Alt on cluster would get stuck) + * Changed media layer to be more like an app layer with some quick shortcuts (mac centric) + * Moved around the base layer arrow keys so mod keys were more accesible + * Apr 29, 2016 (V1.1): * Added F14 and F15 to symbol layer * Added control layer toggle to A key. diff --git a/keyboard/ergodox_ez/keymaps/techtomas/techtomas.hex b/keyboard/ergodox_ez/keymaps/techtomas/techtomas.hex index 8aa849208f149eac81aedadee4c3cd1655410229..ad1c62d52375af40f0159256a23a44c3c12aee78 100644 GIT binary patch literal 51928 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 VD}{WfAm9M^3rbf0Fev}`{{aknz4-tD literal 51240 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%0D6#~(kv5Ex@7+h`e0*#p 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 From 623466e340744157df867d023c7f1e57b8bedb0a Mon Sep 17 00:00:00 2001 From: Thomas Anderson Date: Tue, 7 Jun 2016 13:38:37 -0700 Subject: [PATCH 2/2] Updated readme to fix a typo and list out hotkey shortcuts --- .../ergodox_ez/keymaps/techtomas/readme.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/techtomas/readme.md b/keyboard/ergodox_ez/keymaps/techtomas/readme.md index 31c367a801..36e0591a8e 100644 --- a/keyboard/ergodox_ez/keymaps/techtomas/readme.md +++ b/keyboard/ergodox_ez/keymaps/techtomas/readme.md @@ -6,8 +6,8 @@ The base layer is a merge of what I liked with the default layout and the ordina * The Caps Lock postion handles [Hyper/Esc](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) * The Tab key toggles MEH. -* The top vertical modes on the left and right are [ and ]. -* The bottom vertical mods on the left and right are tab and shift+tab +* The top vertical mods on the left and right are [ and ]. +* The bottom vertical mods on the left and right are tab and shift+tab * The HYPER and MEH key are made in the same location on the right side of the board as well. Using Keyboard Maestro for OS X makes one-handed shortcuts very easy. * Layer switching is focused around the thumb clusters plus some additional locations for convience. @@ -17,10 +17,20 @@ The symbol layer can be tap/toggled with the bottom right key and also toggled o The bottom two vertical mods are set to F14 and F15 which is the default for changing screen brightness on the mac ## App Layer -The app layer is used to control media playback and also some application shortcuts. -It can be toggled on the left board in the top left corner (tilde/grave) or using your pinky on the right side of the board using either ; or /. +The app layer is used to control media playback and also some application shortcuts (OS X Focused). +It can be toggled on the left board in the top left corner (tilde/grave) or using your pinky on the right side of the board using either ; or /. There is one additional toggle on the right thumb cluster for quick access to play and mute key combos. +### Current App shortcuts defined +* Q = CMD+Q +* W = CMD+W +* Z = CMD+Z +* X = CMD+X +* C = CMD+C +* V = CMD+V +* B = CTRL+C +* P = Print Screen + ## Control Layer The control layer is meant to help easily navigate and select text. It can also be stacked ontop of the Symbol layer when needed.