]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Modified Atreus extend and Ergodox.
authorJoshua T <joshua@sonofone.net>
Tue, 26 Jul 2016 06:44:57 +0000 (01:44 -0500)
committerJoshua T <joshua@sonofone.net>
Tue, 26 Jul 2016 06:44:57 +0000 (01:44 -0500)
Atreus: Removed home row Shift. It's under the thumb anyway. Also replaced dual modifier keys with macro keys (cut, copy, paste, undo).

Ergodox: Made Colemak the default layer instead of Dvorak. Also began the process of bringing it in line with the Atreus layout I've been working on.

keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png
keyboards/atreus/keymaps/replicaJunction/keymap.c
keyboards/atreus/keymaps/replicaJunction/readme.md
keyboards/ergodox_ez/keymaps/replicaJunction/keymap.c
keyboards/ergodox_ez/keymaps/replicaJunction/readme.md [new file with mode: 0644]

index 8548543f05b945c1aefa24215f78e1570eae56f7..fd8f0a6e2cdaf014c67ae23a0b3251d8e213cf20 100644 (file)
Binary files a/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png and b/keyboards/atreus/keymaps/replicaJunction/atreus-replica-extend.png differ
index aa0e26fa42f17c75e446665b84a6f55061e6118a..0470a4fa196cd083d5816b844d15a233acd5f0f1 100644 (file)
@@ -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.
  *
 #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 */
index 0e8950cd50bd62bc12d0d40b97b4ac82b7072e31..1b96926e4497598b3d7ad0d9fdc2b02c79dbb306 100644 (file)
@@ -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 ##
 
index be2290567f9a5d6d554d516e7b3a23bad71e990d..b0b5cab7b3cbfeb80279fad8d7bfe43eae0c29cc 100644 (file)
@@ -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
  * 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,
-
-        MO(MDIA), KC_RALT,
-        KC_PGUP,
-        KC_PGDN,  KC_ENT, LT(SYMB,KC_SPC)
+             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,
+
+        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: 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.
+     * 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: 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 (file)
index 0000000..8c4c033
--- /dev/null
@@ -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