summaryrefslogtreecommitdiffstats
path: root/layouts/community/ergodox/replicaJunction
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community/ergodox/replicaJunction')
-rw-r--r--layouts/community/ergodox/replicaJunction/config.h77
-rw-r--r--layouts/community/ergodox/replicaJunction/keymap.c693
-rw-r--r--layouts/community/ergodox/replicaJunction/readme.md93
-rw-r--r--layouts/community/ergodox/replicaJunction/rules.mk8
4 files changed, 504 insertions, 367 deletions
diff --git a/layouts/community/ergodox/replicaJunction/config.h b/layouts/community/ergodox/replicaJunction/config.h
index c69ce8cea9..9ffd74dccd 100644
--- a/layouts/community/ergodox/replicaJunction/config.h
+++ b/layouts/community/ergodox/replicaJunction/config.h
@@ -1,64 +1,13 @@
-/*
-Config file - Ergodox QMK with replicaJunction layout
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef KEYBOARDS_ERGODOX_CONFIG_H_
-#define KEYBOARDS_ERGODOX_CONFIG_H_
-
-#include QMK_KEYBOARD_CONFIG_H
-
-
-#undef MOUSEKEY_DELAY
-#undef MOUSEKEY_INTERVAL
-#undef MOUSEKEY_MAX_SPEED
-#undef MOUSEKEY_TIME_TO_MAX
-
-#define MOUSEKEY_DELAY 100
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_MAX_SPEED 3
-#define MOUSEKEY_TIME_TO_MAX 10
-
-#define TAPPING_TOGGLE 1
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-// MS the button needs to be held before a tap becomes a hold (default: 200)
-#define TAPPING_TERM 200
-
-#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
-
-// I don't have any locking keys, so I don't need these features
-
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/* Prevent modifiers from sticking when switching layers */
-/* Uses 5 bytes of memory per 8 keys, but makes sure modifiers don't get "stuck" switching layers */
-#define PREVENT_STUCK_MODIFIERS
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
-
-
-#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */
+#pragma once
+
+// Layer definitions
+
+#define L_COLEMAK 0
+#define L_QWERTY 1
+#define L_NUM 2
+#define L_EXTEND 3
+#define L_FUNC 4
+#define L_GAMING 5
+#define L_LL_R 6
+#define L_LL_E 7
+#define L_LL_I 8
diff --git a/layouts/community/ergodox/replicaJunction/keymap.c b/layouts/community/ergodox/replicaJunction/keymap.c
index fc80059276..ce0400be5c 100644
--- a/layouts/community/ergodox/replicaJunction/keymap.c
+++ b/layouts/community/ergodox/replicaJunction/keymap.c
@@ -1,333 +1,424 @@
/*
* Keyboard: Ergodox
* Keymap: replicaJunction
- * Version: 1.2
- *
- * 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
- * have both keyboards, so I've designed these layouts in an effort to make switching between the
- * two as easy as possible.
- *
- * I've also tried to make use of the extra keys on the Ergodox in as logical of a manner as possible,
- * adding to the layers in the Atreus config without disturbing what's there already. This allows for
- * things like F11-F20, the Application (Menu) key, and better media key placement.
- *
- * The default key layout in this keymap is Colemak-ModDH. Information on that layout can be found
- * here: https://colemakmods.github.io/mod-dh/
+ * Version: 2.1
*/
#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-
-#define _CO 0 // Colemak
-#define _QW 1 // QWERTY
-#define _ME 2 // media keys
-#define _NU 3 // numpad
-#define _EX 4 // extend
-#define _GA 5 // mouse overlay for gaming
-
-// Some quick aliases, just to make it look pretty
-#define _______ KC_TRNS
-#define KCX_CGR LCTL(KC_GRV)
-#define KX_STAB 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)
-
-; // This doesn't do anything. It's just for VSCode because its syntax highlighting is weird for the above #define statements.
+#include "config.h"
+#include "replicaJunction.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * Keymap: Colemak-ModDH
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | LCtrl | Q | W | F | P | B | Home | | BkSp | J | L | U | Y | ; | - |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Tab | A | R | S | T | G |------| |------| M | N | E | I | O | ' |
- * |--------+------+------+------+------+------| Hyper| | \ |------+------+------+------+------+--------|
- * | LShft | Z | X | C | D | V | | | | K | H | , | , | / | RShft |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LGui | [ | ] |CtlShf| LAlt | | _EX | - | ' | = | \ |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | LCtrl| ~GA | | Left | Right|
- * ,------|------|------| |------+------+------.
- * |LCtrl/| LAlt/| Home | | Up | Alt/| _NU/ |
- * | BkSp | Del |------| |------| Enter| Space|
- * | | | _NU | | Down | | |
- * `--------------------' `--------------------'
- */
-[_CO] = LAYOUT_ergodox(
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
- KC_LCTL,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), KC_LALT,
-
- KC_LCTL, TG(_GA),
- KC_HOME,
- CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(_NU),
- // right hand
- 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_EQL, KC_BSLS,
-
- KC_LEFT, KC_RGHT,
- KC_UP,
- KC_DOWN, ALT_T(KC_ENT), LT(_NU,KC_SPC)
- ),
-
- /*
- * Keymap: QWERTY layout.
- *
- * This is optimized for gaming, not typing, so there aren't as many macros
- * as the Dvorak layer. Some of the keys have also been moved to "game-
- * like" locations, such as making the spacebar available to the left thumb,
- * and repositioning the arrow keys at the bottom right corner.
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | Esc | | | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | LCtrl | Q | W | E | R | T | Home | | BkSp | Y | U | I | O | P | - |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Tab | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
- * |--------+------+------+------+------+------| Hyper| | \ |------+------+------+------+------+--------|
- * | LShft | Z | X | C | V | B | | | | N | M | , | . | / | RShft |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LGui | ` | \ |CtlShf| _NU | | _EX | - | ' | = | \ |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | LCtrl| ~GA | | Left | Right|
- * ,------|------|------| |------+------+------.
- * |LCtrl/| LAlt/| Home | | Up | Alt/| _NU/ |
- * | BkSp | Del |------| |------| Enter| Space|
- * | | | _NU | | Down | | |
- * `--------------------' `--------------------'
- */
-[_QW] = LAYOUT_ergodox( // Layer1: QWERTY
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
- KC_LCTL,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_LGUI,KC_GRV, KC_SLSH,LCTL(KC_LSFT), MO(_NU),
-
- KC_LCTL,TG(_GA),
- KC_HOME,
- CTL_T(KC_BSPC), ALT_T(KC_DEL), MO(_NU),
- // right hand
- KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
- KC_BSLS, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
- MO(_EX),KC_MINS,KC_QUOT,KC_EQL, KC_BSLS,
-
- KC_LEFT, KC_RGHT,
- KC_UP,
- KC_DOWN, ALT_T(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 | + | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | |QWERTY|Colemk| | | | 0 | . | = | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |NumLck| RESET| | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[_NU] = LAYOUT_ergodox(
- // 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_TILD,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_GRV, _______,
- _______, DF(_QW), DF(_CO), _______, _______,
-
- KC_NLCK,RESET,
- _______,
- _______,_______,_______,
- // 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
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F11 | F12 | F13 | F14 | F15 | Mute | | | F16 | F17 | F18 | F19 | F20 | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | Ctrl`| Vol | | | PgUp | Home | Up | End | Del | |
- * |--------+------+------+------+------+------| Up | | |------+------+------+------+------+--------|
- * | | | Gui | Alt | Ctrl | |------| |------| PgDn | Left | Down | Right| BkSp | Menu |
- * |--------+------+------+------+------+------| Vol | | |------+------+------+------+------+--------|
- * | | Undo | Cut | Copy | | Paste| Down | | | | ^Tab | Tab | |Insert| PrntScr|
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- * Ctrl+` is a keyboard shortcut for the program ConEmu, which provides a Quake-style drop-down command prompt.
- *
- */
-[_EX] = LAYOUT_ergodox(
- // left hand
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_MUTE,
- _______, _______, _______, _______, _______, KCX_CGR, KC_VOLU,
- _______, _______, KC_LGUI, KC_LALT, KC_LCTL, _______,
- _______, KX_UNDO, KX_CUT, KX_COPY, _______, KX_PAST, KC_VOLD,
- _______, _______, _______, _______, _______,
-
- _______,_______,
- _______,
- _______,_______,_______,
- // right hand
- _______, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______,
- _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, _______,
- KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU,
- _______, _______, KX_STAB, KC_TAB, _______, KC_INS, KC_PSCR,
- _______, _______, _______, _______, _______,
- _______, _______,
- _______,
- _______, _______, _______
- ),
-
- /*
- * Keymap: Gaming
- *
- * Provides a mouse overlay for the right hand, and also moves some "gamer friendly" keys to the left, such as space.
- * This layer also removes a lot of dual-role keys, as when gaming, it's nicer not to need to keep track of those.
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | | | | | |WhlUp | MsUp |WhlDn | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | |------| |------| |MsLeft|MsDown|MsRght| | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LCtrl| | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | ~_GA | | |MClick|
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | Space| |------| |------|RClick|LClick|
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-[_GA] = LAYOUT_ergodox(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- KC_LCTL, _______, _______, _______, _______,
-
- _______,_______,
- _______,
- KC_SPC, _______,_______,
-
- // right hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______,
- _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- _______, KC_BTN3,
- _______,
- _______, KC_BTN2, KC_BTN1
- ),
-};
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(_NU) // FN1 - Momentary Layer 1 (Numbers and symbols)
-};
+[L_COLEMAK] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_GRV ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KX_ECTL ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,KC_LBRC ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_TAB ,KC_A ,KC_R_LT ,KC_S_LT ,KC_T ,KC_G,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_LSFT ,KX_Z_MT ,KX_X_MT ,KX_C_MT ,KX_D_MT ,KC_V ,KC_RBRC ,
+//--------|--------|--------|--------|--------|--------|--------|
+ TD_LAYR ,KC_LGUI ,KC_HYPR ,KX_CTSF ,KC_LCTL ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_HOME ,KC_END ,
+// |--------|--------|
+ KC_PGUP ,
+// |--------|--------|--------|
+ KX_BKNM ,KX_DCTL ,KC_PGDN ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|-------|
+ TG_GAME ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_EQL ,
+//--------|--------|--------|--------|--------|--------|-------|
+ KC_DEL ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_BSLS,
+//--------|--------|--------|--------|--------|--------|-------|
+ KC_M ,KC_N ,KC_E_LT ,KC_I_LT ,KC_O ,KC_QUOT,
+//--------|--------|--------|--------|--------|--------|-------|
+ KC_LOCK ,KC_K ,KX_H_MT ,KX_COMT ,KX_DOMT ,KX_SLMT ,KC_RSFT,
+//--------|--------|--------|--------|--------|--------|-------|
+ KC_LALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM ,
+//--------|--------|--------|--------|--------|--------|-------|
+ KC_LEFT ,KC_RGHT ,
+//--------|--------|
+ KC_UP ,
+//--------|--------|--------|
+ KC_DOWN ,KX_NALT ,KX_SPAC
+//--------|--------|--------|
+
+),
+
+
+
+[L_QWERTY] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_EQL ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_LOCK ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_RALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_LEFT ,KC_RGHT ,
+//--------|--------|
+ KC_UP ,
+//--------|--------|--------|
+ KC_DOWN ,KX_NALT ,KX_SPAC
+//--------|--------|--------|
+),
+
+
+
+[L_NUM] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,KC_F12 ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_BSPC ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,KC_TAB ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|
+ _______ ,
+//--------|--------|--------|
+ _______ ,KC_PENT ,MO_FUNC
+//--------|--------|--------|
+),
+
+
+
+[L_EXTEND] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,KC_APP ,KX_CGR, KC_VOLU,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,KX_SRCH, KX_PAST, KC_VOLD,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ MO_FUNC, _______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KX_STAB, KC_TAB, _______ ,KC_INS, KC_PSCR,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,KC_PSCR, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______
+//--------|--------|--------|--------|--------|--------|--------|
+),
+
+
+
+[L_FUNC] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,M_LCLIK, M_RCLIK, M_MCLIK, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, M_WHLUP,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,M_LEFT, M_DOWN, M_UP ,M_RIGHT, M_WHLDN, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_VOLU, KC_F9, KC_F10, KC_F11, KC_F12, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______
+//--------|--------|--------|--------|--------|--------|--------|
+),
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
+
+[L_GAMING] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_ESC ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_R ,KC_S ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_LSFT, _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,KC_LALT ,KC_LCTL ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ KC_SPC, KC_LSFT, _______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_E ,KC_I ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,KC_UP, KC_SLSH,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_LEFT, KC_DOWN, KC_RGHT,
+//--------|--------|--------|--------|--------|--------|--------|
+ M_MCLIK ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ M_RCLIK ,
+//--------|--------|--------|--------|--------|--------|--------|
+ M_LCLIK ,KC_ENT ,KC_BSPC
+//--------|--------|--------|--------|--------|--------|--------|
+)
+,
+
+// "Letter Layers"
+
+[L_LL_R] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,ooooooo ,KC_AMPR ,KC_PIPE ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_TAB ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|
+ _______ ,
+//--------|--------|--------|
+ _______ ,KC_PENT ,MO_FUNC
+//--------|--------|--------|
+)
+,
+
+[L_LL_E] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ RJ_QMKV ,RJ_MAKE ,RJ_EQ ,RJ_LEQ ,RJ_GEQ ,RJ_GEQR ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,RJ_SELS ,RJ_DUND ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,ooooooo ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|
+ _______ ,
+//--------|--------|--------|
+ _______ ,_______ ,_______
+//--------|--------|--------|
+)
+,
+
+[L_LL_I] = LAYOUT_ergodox(
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+// |--------|--------|
+ _______ ,
+// |--------|--------|--------|
+ _______ ,_______ ,_______ ,
+// |--------|--------|--------|
+
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_UNDS, KC_GRV ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,KC_MINS ,KC_QUOT ,ooooooo ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,KC_TILD, KC_DQT ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______ ,_______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,
+//--------|--------|--------|--------|--------|--------|--------|
+ _______ ,_______ ,_______
+//--------|--------|--------|--------|--------|--------|--------|
+)
+
};
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
+// The normal QMK functions ending in _user are overridden in the
+// replicaJunction userspace. Those functions handle my global
+// settings, and redirect to these _keymap functions if something
+// is unhandled. This allows me to keep most of my global preferences
+// in one place while still allowing keyboard-specific code.
+
+// The idea was shamelessly copied from the amazing Drashna.
+
+// Nothing to do here, so I've commented it out.
+// bool process_record_keymap(uint16_t keycode, keyrecord_t *reco