diff --git a/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png b/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png index 8548543f05..fd8f0a6e2c 100644 Binary files a/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png and b/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png differ diff --git a/keyboards/atreus/keymaps/replicaJunction/keymap.c b/keyboards/atreus/keymaps/replicaJunction/keymap.c index aa0e26fa42..0470a4fa19 100644 --- a/keyboards/atreus/keymaps/replicaJunction/keymap.c +++ b/keyboards/atreus/keymaps/replicaJunction/keymap.c @@ -1,10 +1,10 @@ /* * Keyboard: Atreus * Keymap: replicaJunction - * Version: 0.1 + * Version: 0.3 * * This keymap is designed to complement my Ergodox keyboard layout, found in keyboards/ergodox_ez. - * The Atreus keyboard is a 40% board whose design was heavily influenced by the Ergodox, and I now + * The Atreus keyboard is a 40% board whose design was heavily influenced by the Ergodox. I now * have both keyboards, so I've designed these layouts in an effort to make switching between the * two as easy as possible. * @@ -37,6 +37,13 @@ #define KCX_CS LCTL(KC_LSFT) #define KCX_CSA LCTL(LSFT(KC_LALT)) #define KCX_LST LSFT(KC_TAB) +#define KX_COPY LCTL(KC_C) +#define KX_CUT LCTL(KC_X) +#define KX_PAST LCTL(KC_V) +#define KX_UNDO LCTL(KC_Z) + +// Uses 5 bytes of memory per 8 keys, but makes sure modifiers don't get "stuck" switching layers +#define PREVENT_STUCK_MODIFIERS ; // This doesn't do anything. It's just for VSCode because its syntax highlighting is weird for the above #define statements. @@ -57,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_EX] = KEYMAP( /* Extend */ _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, - KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, - KC_HYPR, KCX_CSA, KCX_CA, KCX_CS, _______, _______, KCX_LST, _______, KC_TAB, _______, - _______, _______, _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, KC_PSCR + _______, KC_LGUI, KC_LALT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, + KX_UNDO, KX_CUT, KX_COPY, _______, KX_PAST, _______, KCX_LST, _______, KC_TAB, _______, + _______, _______, _______, _______, KC_LSFT, _______, _______, KC_SPC, _______, _______, _______, KC_PSCR ), [_NU] = KEYMAP( /* Numbers and symbols */ diff --git a/keyboards/atreus/keymaps/replicaJunction/readme.md b/keyboards/atreus/keymaps/replicaJunction/readme.md index 0e8950cd50..1b96926e44 100644 --- a/keyboards/atreus/keymaps/replicaJunction/readme.md +++ b/keyboards/atreus/keymaps/replicaJunction/readme.md @@ -24,9 +24,11 @@ There is still one blank key on this layout. I haven't decided what to use it fo This layout is designed primarily for keyboard navigation. Arrow keys are easily accessible under the right hand (a welcome change from the original Atreus layout, which places them under the left hand), along with Home/End and PgUp/PgDn. -Modifiers are also placed under the home row of the left hand. One of the single keyboard actions I use most is Shift+Ctrl+Left/Right to select a whole word; this layer makes those keypresses simple by adding the Ctrl and Shift keys in easy-to-reach locations. In fact, I liked this idea so much that I added double modifiers in the row beneath it, so I can now press Ctrl+Shift with a single key instead of pressing both keys individually. Using this layer takes some practice to remember which modifiers are under which fingers, but it makes for much less awkward hand motions when using modifiers on a regular basis. +Modifiers are also placed under the home row of the left hand. One of the single keyboard actions I use most is Shift+Ctrl+Left/Right to select a whole word; this layer makes those keypresses simple by adding the Ctrl and Shift keys in easy-to-reach locations. -The Space key exists to prevent going from this layer directly into the Number layer. +For the common Ctrl shortcuts, I also added some hotkeys to this layer over the letter keys they are associated with. This gives the Extend key some extra utility by letting it "feel" like a Ctrl key in some cases. + +The Space key exists to prevent going from this layer directly into the Number layer. Similarly, the Shift key on the left thumb helps make sure that the Backspace function doesn't fire (the other role of this key on the base layout). ## Number and Symbol Layer ## diff --git a/keyboards/ergodox_ez/keymaps/replicaJunction/keymap.c b/keyboards/ergodox_ez/keymaps/replicaJunction/keymap.c index be2290567f..b0b5cab7b3 100644 --- a/keyboards/ergodox_ez/keymaps/replicaJunction/keymap.c +++ b/keyboards/ergodox_ez/keymaps/replicaJunction/keymap.c @@ -5,7 +5,7 @@ /* * Keyboard: Ergodox * Keymap: replicaJunction - * Version: 1.0 + * Version: 1.1 * * This keymap is designed to complement my Atreus keyboard layout, found in keyboards/atreus. * The Atreus keyboard is a 40% board whose design was heavily influenced by the Ergodox, and I now @@ -16,62 +16,64 @@ * here: https://colemakmods.github.io/mod-dh/ */ -#define BASE 0 // default layer -#define CODH 1 // Colemak -#define QWRT 2 // QWERTY layer -#define SYMB 3 // symbols -#define MDIA 4 // media keys -#define UTIL 5 // keyboard utilities -#define NUMP 6 // numpad -#define GAME 7 // mouse overlay for gaming +#define _CO 0 // Colemak +#define _DV 1 // Dvorak +#define _QW 2 // QWERTY +#define _ME 3 // media keys +#define _NU 4 // numpad +#define _EX 5 // extend +#define _GA 6 // mouse overlay for gaming #define _______ KC_TRNS // Simple alias that just makes the keymaps a bit easier to look at +// Uses 5 bytes of memory per 8 keys, but makes sure modifiers don't get "stuck" switching layers +#define PREVENT_STUCK_MODIFIERS + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * Keymap: Colemak-ModDH * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | ~SYMB| 6 | 7 | 8 | 9 | 0 | ' | + * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | | 6 | 7 | 8 | 9 | 0 | = | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | \ | Q | W | F | P | B | Home | | BkSp | J | L | U | Y | ; | = | + * | \ | Q | W | F | P | B | Home | | BkSp | J | L | U | Y | ; | - | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Tab | A | R | S | T | G |------| |------| M | N | E | I | O | - | + * | Tab | A | R | S | T | G |------| |------| M | N | E | I | O | ' | * |--------+------+------+------+------+------| Hyper| | \ |------+------+------+------+------+--------| * | LShft | Z | X | C | D | V | | | | K | H | , | , | / | RShft | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGui | [ | ] |CtlShf| SYMB | | Left | Up | Down | Right| \ | + * | LGui | [ | ] |CtlShf| | | _EX | - | ' | Right| \ | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | LCtrl| LAlt | | MDIA | RAlt | + * | LCtrl| LAlt | | Left | Right| * ,------|------|------| |------+------+------. - * | Ctl/ | Alt/ | Home | | PgUp | | SYMB/| + * | Ctl/ | Alt/ | Home | | Up | | _NU/ | * | BkSp | Del |------| |------| Enter| Space| - * | | | NUMP | | PgDn | | | + * | | | _NU | | Down | | | * `--------------------' `--------------------' */ -[CODH] = KEYMAP( +[_CO] = KEYMAP( // left hand KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_BSLS,KC_Q, KC_W, KC_F, KC_P, KC_B, KC_HOME, KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_G, KC_LSFT,KC_Z, KC_X, KC_C, KC_D, KC_V, ALL_T(KC_NO), - KC_LGUI,KC_LBRC,KC_RBRC, LCTL(KC_LSFT), MO(SYMB), + KC_LGUI,KC_LBRC,KC_RBRC, LCTL(KC_LSFT), MO(_NU), KC_LCTL, KC_LALT, KC_HOME, - CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(NUMP), + CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(_NU), // right hand - TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_QUOT, - KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,KC_EQL, - KC_M, KC_N, KC_E, KC_I, KC_O, KC_MINS, - KC_BSLS, KC_K, KC_H, KC_DOT, KC_COMM,KC_SLSH,KC_RSFT, - KC_LEFT,KC_UP, KC_DOWN,KC_RGHT,KC_BSLS, + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,KC_MINS, + KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_BSLS, KC_K, KC_H, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, + MO(_EX),KC_MINS,KC_QUOT,KC_RGHT,KC_BSLS, - MO(MDIA), KC_RALT, - KC_PGUP, - KC_PGDN, KC_ENT, LT(SYMB,KC_SPC) + KC_LEFT, KC_RGHT, + KC_UP, + KC_DOWN, KC_ENT, LT(_NU,KC_SPC) ), /* @@ -81,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * Backspace in the center. * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | ~SYMB| 6 | 7 | 8 | 9 | 0 | / | + * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | | 6 | 7 | 8 | 9 | 0 | / | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | \ | ' | , | . | P | Y | Home | | BkSp | F | G | C | R | L | = | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -89,39 +91,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| Hyper| | \ |------+------+------+------+------+--------| * | LShft | ; | Q | J | K | X | | | | B | M | W | V | Z | RShft | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGui | [ | ] |CtlShf| SYMB | | Left | Up | Down | Right| \ | + * | LGui | [ | ] |CtlShf| _NU | | Left | Up | Down | Right| \ | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | LCtrl| LAlt | | MDIA | RAlt | + * | LCtrl| LAlt | | _ME | RAlt | * ,------|------|------| |------+------+------. - * | Ctl/ | Alt/ | Home | | PgUp | | SYMB/| + * | Ctl/ | Alt/ | Home | | PgUp | | _NU/ | * | BkSp | Del |------| |------| Enter| Space| - * | | | NUMP | | PgDn | | | + * | | | _NU | | PgDn | | | * `--------------------' `--------------------' */ -// BASE -[BASE] = KEYMAP( +// _DV +[_DV] = KEYMAP( // left hand KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_BSLS,KC_QUOT,KC_COMM, KC_DOT, KC_P, KC_Y, KC_HOME, KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSFT,KC_SCLN,KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), - KC_LGUI,KC_LBRC,KC_RBRC, LCTL(KC_LSFT), MO(SYMB), + KC_LGUI,KC_LBRC,KC_RBRC, LCTL(KC_LSFT), MO(_NU), KC_LCTL, KC_LALT, KC_HOME, - CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(NUMP), + CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(_NU), // right hand - TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, KC_BSPC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_EQL, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT,KC_UP, KC_DOWN,KC_RGHT,KC_BSLS, - MO(MDIA), KC_RALT, + MO(_ME), KC_RALT, KC_PGUP, - KC_PGDN, KC_ENT, LT(SYMB,KC_SPC) + KC_PGDN, KC_ENT, LT(_NU,KC_SPC) ), /* @@ -133,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * and repositioning the arrow keys at the bottom right corner. * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Esc | |~SYMB | 6 | 7 | 8 | 9 | 0 | - | + * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | LShift | Q | W | E | R | T | +L1 | | BkSp | Y | U | I | O | P | ] | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -141,156 +143,112 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| FN2 | | ~L1 |------+------+------+------+------+--------| * | LShft | Z | X | C | V | B | | | | N | M | , | . | Up | RShft | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LCtrl| ` | \ |CtlShf| SYMB | | SYMB | / | Left | Down | Right| + * | LCtrl| ` | \ |CtlShf| _NU | | _NU | / | Left | Down | Right| * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | LCtrl| LAlt | | MDIA | ~GAME| + * | LCtrl| LAlt | | _ME | ~_GA| * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | SYMB/ + * | | | Home | | PgUp | | _NU/ | * | Space| LAlt |------| |------| Enter| Space| * | | | End | | PgDn | | | * `--------------------' `--------------------' */ -[QWRT] = KEYMAP( // Layer1: QWERTY +[_QW] = KEYMAP( // Layer1: QWERTY // left hand KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_LSFT,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - KC_LCTL,KC_GRV, KC_SLSH,LCTL(KC_LSFT), MO(SYMB), + KC_LCTL,KC_GRV, KC_SLSH,LCTL(KC_LSFT), MO(_NU), KC_LCTL,KC_LALT, KC_HOME, KC_SPC, KC_LALT, KC_END, // right hand - TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, - KC_BSPC,KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, - KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_MINS, - KC_END, KC_N, KC_M, KC_COMM,KC_DOT, KC_UP ,KC_RSFT, - MO(SYMB),KC_UP, KC_LEFT,KC_DOWN,KC_RGHT, + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, + KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_MINS, + KC_END, KC_N, KC_M, KC_COMM,KC_DOT, KC_UP ,KC_RSFT, + MO(_NU),KC_UP, KC_LEFT,KC_DOWN,KC_RGHT, - MO(MDIA),TG(GAME), + MO(_ME),TG(_GA), KC_PGUP, - KC_PGDN,KC_ENT,LT(SYMB,KC_SPC) + KC_PGDN,KC_ENT,LT(_NU,KC_SPC) + ), + +/* + * Keymap: Numbers and symbols + * + * Note that the number keys here are actually numpad keystrokes. This often doesn't matter, but it may be relevant in a few cases. + * That's why the Num Lock key exists on this layer - just in case. + * + * This layer also contains the layout switches. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | & | | | | / | 7 | 8 | 9 | * | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| | | 4 | 5 | 6 | - | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | \ | 1 | 2 | 3 | + | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | RESET|QWERTY|Dvorak|Colemk| | | 0 | . | = | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |NumLck| | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[_NU] = KEYMAP( + // left hand + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, + _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_AMPR, _______, + _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, + _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, + RESET, DF(_QW), DF(_DV), DF(_CO), _______, + + KC_NLCK,_______, + _______, + _______,_______,_______, + // right hand + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, KC_SLSH, KC_P7, KC_P8, KC_P9, KC_PAST, _______, + KC_PIPE, KC_P4, KC_P5, KC_P6, KC_PMNS, _______, + _______, KC_BSLS, KC_P1, KC_P2, KC_P3, KC_PPLS, _______, + KC_P0, KC_PDOT, KC_EQL, _______, _______, + + _______, _______, + _______, + _______, _______, _______ ), /* - * Keymap: Symbol / navigation Layer - * - * Inspired by Atreus. - * Note the two keys on the left thumb cluster. These change the "default" layer between key layouts. - * The RESET button also resets the Teensy, but note bug #164. - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | Up | { | } | | | | | Home | Up | End | | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | / | | | \ | $ |------| |------| | Left | Down | Right| | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | [ | ] | ( | ) | & | | | | | PgUp | | PgDn | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | SYMB | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * |Dvorak|QWERTY| | | RESET| - * ,------|------|------| |------+------+------. - * | | |Colemk| | | | | - * | | |------| |------| | SYMB | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = KEYMAP( - // left hand - _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR,_______, - _______,KC_HASH,KC_SLSH,KC_PIPE,KC_BSLS,KC_DLR, - _______,KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR,_______, - _______,_______,_______,_______,_______, - - DF(BASE),DF(QWRT), - DF(CODH), - _______, _______, _______, - - // right hand - _______,KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______,_______,KC_HOME,KC_UP, KC_END, _______,KC_F12, - _______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, - _______,_______,KC_PGUP,_______,KC_PGDN,_______,_______, - _______,_______,_______,_______,_______, - - _______, RESET, - _______, - _______, _______, _______ -), -/* Keymap: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[MDIA] = KEYMAP( - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_MS_U, _______, _______, _______, - _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, KC_BTN1, KC_BTN2, - _______, _______, - _______, - _______, _______, _______, - // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, KC_MPLY, - _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______, - KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, - _______, _______, - _______, - _______, _______, KC_WBAK -), - -/* - * Keymap: Number pad. - * - * Note that the number keys here are actually numpad keystrokes. This often doesn't matter, but it may be relevant in a few cases. + * Keymap: Extend * * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | 7 | 8 | 9 | * | | + * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| | 4 | 5 | 6 | + | | + * | | | | | | |------| |------| | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | 1 | 2 | 3 | / | | + * | | | | | | | | | | | | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | 0 | . | 0 | = | | + * | | | | | | | | | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. * | | | | | | | | - * | | |------| |------| | Enter| + * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' */ -[NUMP] = KEYMAP( +[_EX] = KEYMAP( // left hand _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -298,19 +256,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______,_______, - _______, + _______,_______, + _______, _______,_______,_______, // right hand - _______,_______,_______,_______,_______,_______,_______, - _______,KC_UP, KC_P7, KC_P8, KC_P9, KC_PAST,KC_F12, - KC_DOWN,KC_P4, KC_P5, KC_P6, KC_PPLS,_______, - _______,KC_AMPR,KC_P1, KC_P2, KC_P3, KC_PSLS,_______, - KC_P0, KC_PDOT,KC_P0, KC_EQL, _______, - - _______, _______, - _______, - _______, _______, KC_PENT + _______, _______, _______, _______, _______, _______, _______, + _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, + KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, + _______, + _______, _______, _______ ), /* @@ -330,14 +287,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | |MClick| | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | | ~GAME| + * | | | | | ~_GA| * ,------|------|------| |------+------+------. * | | | | | | | | * | | |------| |------|RClick|LClick| * | | | | | | | | * `--------------------' `--------------------' */ -[GAME] = KEYMAP( +[_GA] = KEYMAP( // left hand _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -362,7 +319,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) + [1] = ACTION_LAYER_TAP_TOGGLE(_NU) // FN1 - Momentary Layer 1 (Numbers and symbols) }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) @@ -388,22 +345,23 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + // uint8_t layer = biton32(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); - switch (layer) { - case BASE: + + switch (layer_state) { + case _CO: ergodox_right_led_1_on(); break; - case QWRT: + case _QW: ergodox_right_led_2_on(); - case SYMB: + case _NU: ergodox_right_led_3_on(); break; - case GAME: + case _GA: ergodox_right_led_1_on(); ergodox_right_led_2_on(); default: diff --git a/keyboards/ergodox_ez/keymaps/replicaJunction/readme.md b/keyboards/ergodox_ez/keymaps/replicaJunction/readme.md new file mode 100644 index 0000000000..8c4c03353a --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/replicaJunction/readme.md @@ -0,0 +1,5 @@ +# replicaJunction - Ergodox (EZ) Layout + +I designed this layout, along with my complimentary Atreus layout, to address the challenge of having an Ergodox as my primary home keyboard and an Atreus as my primary work board. I wanted a layout that provided symbols in comfortable locations on both keyboards - but didn't require me to learn two separate sets of symbols for the two keyboards. + +I had originally used several keys as dual-role keys, where a tap would send a keypress and a long press and hold would trigger a different layer. However, after several months of experimenting with those ideas, I've begun moving away from that design due to performance. It's very hard to strike a balance between the time it takes to press a key normally while typing and the "delay" in the typing motion needed to trigger the alternate layer. I was frequently getting strange characters and artifacts because I pressed the function key + the symbol key too quickly, and the layer never shifted. \ No newline at end of file