summaryrefslogtreecommitdiffstats
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c440
-rw-r--r--keyboards/keebio/viterbi/keymaps/ericgebhart/config.h15
-rw-r--r--keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c193
-rw-r--r--keyboards/xd75/keymaps/ericgebhart/config.h12
-rw-r--r--keyboards/xd75/keymaps/ericgebhart/keymap.c242
-rw-r--r--keyboards/xd75/keymaps/ericgebhart/readme.md1
-rw-r--r--keyboards/xd75/keymaps/ericgebhart/rules.mk3
7 files changed, 701 insertions, 205 deletions
diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
index 3b1bdb6fb1..dc33e4e0a9 100644
--- a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
@@ -21,268 +21,298 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DVORAK] = LAYOUT_ergodox_wrapper(
- // left hand
- KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___DVORAK_L1___, KC_LBRC,
- TAB_BKTAB, ___DVORAK_L2___,
- KC_LSFT, ___DVORAK_L3___, KC_LPRN,
+ // left hand
+ KC_GRV, ___NUMBER_L___, OSL(LAYERS),
+ KC_LOCK, ___DVORAK_L1___, LCTL(KC_C),
+ TAB_BKTAB, ___DVORAK_L2___,
+ KC_LSFT, ___DVORAK_L3___, TO(MDIA),
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- MDIA_SYMB, ___NUMBER_R___, KC_EQL,
- KC_RBRC, ___DVORAK_R1___, KC_SLASH,
- /* */ ___DVORAK_R2___, KC_MINUS,
- KC_RPRN, ___DVORAK_R3___, KC_RSFT,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_R___, KC_EQL,
+ LCTL(KC_V), ___DVORAK_R1___, KC_SLASH,
+ /* */ ___DVORAK_R2___, KC_MINUS,
+ TO(KEYPAD), ___DVORAK_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[XMONAD] = LAYOUT_ergodox_wrapper(
- // left hand
- ___, ___FUNC_L___, ___,
- ___, ___DVORAK_L1___, ___,
- ___, ___DVORAK_L2___,
- ___, ___DVORAK_L3___, ___,
+ // left hand
+ ___, ___FUNC_L___, ___,
+ ___, ___DVORAK_L1___, ___,
+ ___, ___DVORAK_L2___,
+ ___, ___DVORAK_L3___, ___,
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- ___, ___FUNC_R___, ___,
- ___, ___DVORAK_R1___, ___,
- /**/ ___DVORAK_R2___, ___,
- ___, ___DVORAK_R3___, ___,
+ // right hand
+ ___, ___FUNC_R___, ___,
+ ___, ___DVORAK_R1___, ___,
+ /**/ ___DVORAK_R2___, ___,
+ ___, ___DVORAK_R3___, ___,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[QWERTY] = LAYOUT_ergodox_wrapper(
// left hand
- KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___QWERTY_L1___, KC_LBRC,
- TAB_BKTAB, ___QWERTY_L2___,
- KC_LSFT, ___QWERTY_L3___, KC_LPRN,
+ KC_GRV, ___NUMBER_L___, OSL(LAYERS),
+ KC_LOCK, ___QWERTY_L1___, LCTL(KC_C),
+ TAB_BKTAB, ___QWERTY_L2___,
+ KC_LSFT, ___QWERTY_L3___, TO(MDIA),
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- MDIA_SYMB, ___NUMBER_R___, KC_EQL,
- KC_RBRC, ___QWERTY_R1___, KC_SLASH,
- /* */ ___QWERTY_R2___, KC_MINUS,
- KC_RPRN, ___QWERTY_R3___, KC_RSFT,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_R___, KC_EQL,
+ LCTL(KC_V), ___QWERTY_R1___, KC_SLASH,
+ /* */ ___QWERTY_R2___, KC_MINUS,
+ TO(KEYPAD), ___QWERTY_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[COLEMAK] = LAYOUT_ergodox_wrapper(
- // left hand
- KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___COLEMAK_L1___, KC_LBRC,
- TAB_BKTAB, ___COLEMAK_L2___,
- KC_LSFT, ___COLEMAK_L3___, KC_LPRN,
+ // left hand
+ KC_GRV, ___NUMBER_L___, OSL(LAYERS),
+ KC_LOCK, ___COLEMAK_L1___, LCTL(KC_C),
+ TAB_BKTAB, ___COLEMAK_L2___,
+ KC_LSFT, ___COLEMAK_L3___, TO(MDIA),
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- MDIA_SYMB, ___NUMBER_R___, KC_EQL,
- KC_RBRC, ___COLEMAK_R1___, KC_SLASH,
- /* */ ___COLEMAK_R2___, KC_MINUS,
- KC_RPRN, ___COLEMAK_R3___, KC_RSFT,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_R___, KC_EQL,
+ LCTL(KC_V), ___COLEMAK_R1___, KC_SLASH,
+ /* */ ___COLEMAK_R2___, KC_MINUS,
+ TO(KEYPAD), ___COLEMAK_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[WORKMAN] = LAYOUT_ergodox_wrapper(
- // left hand
- KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___WORKMAN_L1___, KC_LBRC,
- TAB_BKTAB, ___WORKMAN_L2___,
- KC_LSFT, ___WORKMAN_L3___, KC_LPRN,
+ // left hand
+ KC_GRV, ___NUMBER_L___, OSL(LAYERS),
+ KC_LOCK, ___WORKMAN_L1___, LCTL(KC_C),
+ TAB_BKTAB, ___WORKMAN_L2___,
+ KC_LSFT, ___WORKMAN_L3___, TO(MDIA),
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- MDIA_SYMB, ___NUMBER_R___, KC_EQL,
- KC_RBRC, ___WORKMAN_R1___, KC_SLASH,
- /* */ ___WORKMAN_R2___, KC_MINUS,
- KC_RPRN, ___WORKMAN_R3___, KC_RSFT,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_R___, KC_EQL,
+ LCTL(KC_V), ___WORKMAN_R1___, KC_SLASH,
+ /* */ ___WORKMAN_R2___, KC_MINUS,
+ TO(KEYPAD), ___WORKMAN_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[NORMAN] = LAYOUT_ergodox_wrapper(
- // left hand
- KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___NORMAN_L1___, KC_LBRC,
- TAB_BKTAB, ___NORMAN_L2___,
- KC_LSFT, ___NORMAN_L3___, KC_LPRN,
+ // left hand
+ KC_GRV, ___NUMBER_L___, OSL(LAYERS),
+ KC_LOCK, ___NORMAN_L1___, LCTL(KC_C),
+ TAB_BKTAB, ___NORMAN_L2___,
+ KC_LSFT, ___NORMAN_L3___, TO(MDIA),
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT___,
+ ___ERGODOX_THUMB_LEFT___,
- // right hand
- MDIA_SYMB, ___NUMBER_R___, KC_EQL,
- KC_RBRC, ___NORMAN_R1___, KC_SLASH,
- /* */ ___NORMAN_R2___, KC_MINUS,
- KC_RPRN, ___NORMAN_R3___, KC_RSFT,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_R___, KC_EQL,
+ LCTL(KC_V), ___NORMAN_R1___, KC_SLASH,
+ /* */ ___NORMAN_R2___, KC_MINUS,
+ TO(KEYPAD), ___NORMAN_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT___,
+ ___ERGODOX_THUMB_RIGHT___
+ ),
[DVORAK_ON_BEPO] = LAYOUT_ergodox_wrapper(
- // left hand
- DB_GRV, ___NUMBER_BEPO_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___DVORAK_FR_L1___, DB_LBRC,
- TAB_BKTAB, ___DVORAK_FR_L2___,
- KC_LSFT, ___DVORAK_FR_L3___, DB_LPRN,
+ // left hand
+ DB_GRV, ___NUMBER_BEPO_L___, OSL(LAYERS),
+ KC_LOCK, ___DVORAK_FR_L1___, DB_LBRC,
+ TAB_BKTAB, ___DVORAK_FR_L2___,
+ KC_LSFT, ___DVORAK_FR_L3___, DB_LPRN,
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT_FR___,
+ ___ERGODOX_THUMB_LEFT_BP___,
- // right hand
- MDIA_SYMB, ___NUMBER_BEPO_R___, DB_EQL,
- DB_RBRC, ___DVORAK_FR_R1___, DB_SLASH,
+ // right hand
+ MDIA_SYMB_KP_LAYERS, ___NUMBER_BEPO_R___, DB_EQL,
+ DB_RBRC, ___DVORAK_FR_R1___, DB_SLASH,
- /* */ ___DVORAK_FR_R2___, DB_MINUS,
- DB_RPRN, ___DVORAK_FR_R3___, KC_RSFT,
+ /* */ ___DVORAK_FR_R2___, DB_MINUS,
+ DB_RPRN, ___DVORAK_FR_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT_FR___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT_FR___,
+ ___ERGODOX_THUMB_RIGHT_BP___
+ ),
- [XMONAD_FR] = LAYOUT_ergodox_wrapper(
- // left hand
- ___, ___FUNC_L___, ___,
- ___, ___DVORAK_FR_L1___, ___,
- ___, ___DVORAK_FR_L2___,
- ___, ___DVORAK_FR_L3___, ___,
+ [BEPO] = LAYOUT_ergodox_wrapper(
+ // Left hand
+ BP_DLR, ___SYMBOL_BEPO_L___, OSL(LAYERS),
+ KC_LOCK, ___BEPO_FR_L1___, DB_LBRC,
+ TAB_BKTAB, ___BEPO_FR_L2___,
+ BP_SFT_T_ECRC, ___BEPO_FR_L3___, DB_RBRC,
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___5___,
+ ___6___,
- // right hand
- ___, ___FUNC_R___, ___,
- ___, ___DVORAK_FR_R1___, ___,
- /**/ ___DVORAK_FR_R2___, ___,
- ___, ___DVORAK_FR_R3___, ___,
+ // Right hand
+ MDIA_SYMB_KP_LAYERS, ___SYMBOL_BEPO_R___, BP_EQL,
+ BP_DCRC, ___BEPO_FR_R1___, BP_W,
+ /* */ ___BEPO_FR_R2___, BP_CCED,
+ BP_C, ___BEPO_FR_R3___, KC_RSFT,
- ___ERGODOX_BOTTOM_RIGHT_FR___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___5___,
+ ___6___
+ ),
- [BEPO] = LAYOUT_ergodox_wrapper(
- // Left hand
- BP_DLR, ___SYMBOL_BEPO_L___, DEF_OS_LAYER_SW,
- KC_LOCK, ___BEPO_FR_L1___, DB_LBRC,
- TAB_BKTAB, ___BEPO_FR_L2___,
- BP_SFT_T_ECRC, ___BEPO_FR_L3___, DB_RBRC,
+ [XMONAD_FR] = LAYOUT_ergodox_wrapper(
+ // left hand
+ ___, ___FUNC_L___, ___,
+ ___, ___DVORAK_FR_L1___, ___,
+ ___, ___DVORAK_FR_L2___,
+ ___, ___DVORAK_FR_L3___, ___,
- ___ERGODOX_BOTTOM_LEFT___,
- ___ERGODOX_THUMB_LEFT___,
+ ___BOTTOM_LEFT_FR___,
+ ___ERGODOX_THUMB_LEFT_BP___,
- // Right hand
- MDIA_SYMB, ___SYMBOL_BEPO_R___, BP_EQL,
- BP_DCRC, ___BEPO_FR_R1___, BP_W,
- /* */ ___BEPO_FR_R2___, BP_CCED,
- BP_C, ___BEPO_FR_R3___, KC_RSFT,
+ // right hand
+ ___, ___FUNC_R___, ___,
+ ___, ___DVORAK_FR_R1___, ___,
+ /**/ ___DVORAK_FR_R2___, ___,
+ ___, ___DVORAK_FR_R3___, ___,
- ___ERGODOX_BOTTOM_RIGHT___,
- ___ERGODOX_THUMB_RIGHT___
- ),
+ ___BOTTOM_RIGHT_FR___,
+ ___ERGODOX_THUMB_RIGHT_BP___
+ ),
// SYMBOLS
[SYMB] = LAYOUT_ergodox_wrapper(
// left hand
- ___, ___FUNC_L___, ___,
- ___, ___SYMBOLS_1___, ___,
- ___, ___SYMBOLS_2___,
- ___, ___SYMBOLS_3___, ___,
-
- ___ERGODOX_TRANS_BOTTOM___,
- ___ERGODOX_TRANS_THUMBS___,
-
-
- // right hand
- ___, ___FUNC_R___, KC_F11,
- ___, KC_UP, ___KEYPAD_1___, KC_F12,
- /**/ KC_DOWN, ___KEYPAD_2___, KC_TRNS,
- ___, KC_AMPR, ___KEYPAD_3___, KC_PENT,
- /* */ ___KEYPAD_4___, ___,
-
- ___ERGODOX_TRANS_THUMBS___
- ),
+ ___FUNC_1_6___, ___,
+ ___SYMBOLS6_1___, ___,
+ ___SYMBOLS6_2___,
+ ___SYMBOLS6_3___, ___,
+ ___SYMBOLS5_4___,
+ ___6___,
+
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, ___SYMPAD_1___,
+ /**/ ___SYMPAD_2___,
+ ___, ___SYMPAD_3___,
+ /**/ ___5_SYMPAD_4___,
+ ___6___
+ ),
[SYMB_ON_BEPO] = LAYOUT_ergodox_wrapper(
- // left hand
- ___, ___FUNC_L___, ___,
- ___, ___SYMBOLS_1_BP___, ___,
- ___, ___SYMBOLS_2_BP___,
- ___, ___SYMBOLS_3_BP___, ___,
-
- ___ERGODOX_TRANS_BOTTOM___,
- ___ERGODOX_TRANS_THUMBS___,
-
-
- // right hand
- ___, ___FUNC_R___, KC_F11,
- ___, KC_UP, ___KEYPAD_1_BP___, KC_F12,
- /**/ KC_DOWN, ___KEYPAD_2_BP___, KC_TRNS,
- ___, KC_AMPR, ___KEYPAD_3_BP___, KC_PENT,
- /* */ ___KEYPAD_4_BP___, ___,
-
- ___ERGODOX_TRANS_THUMBS___
- ),
+ // left hand
+ ___FUNC_1_6___, ___,
+ ___SYMBOLS6_1_BP___, ___,
+ ___SYMBOLS6_2_BP___,
+ ___SYMBOLS6_3_BP___, ___,
+ ___SYMBOLS5_4_BP___,
+ ___6___,
+
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, ___SYMPAD_1_BP___,
+ /**/ ___SYMPAD_2_BP___,
+ ___, ___SYMPAD_3_BP___,
+ /**/ ___5_SYMPAD_4_BP___,
+ ___6___
+ ),
+
+ [KEYPAD] = LAYOUT_ergodox_wrapper(
+ ___FUNC_1_6___, ___,
+ ___2___, ___FUNCPAD_T___, ___, ___,
+ ___2___, ___FUNCPAD_1___, ___,
+ ___2___, ___FUNCPAD_2___, ___, ___,
+ ___2___, ___FUNCPAD_3___,
+ ___6___,
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, ___, ___KEYPAD_1___, ___,
+ /**/ ___, ___KEYPAD_2___, ___,
+ ___, ___, ___KEYPAD_3___, ___,
+ /* */ ___KEYPAD_4___, ___,
+ ___6___
+ ),
+
+ [KEYPAD_ON_BEPO] = LAYOUT_ergodox_wrapper(
+ ___FUNC_1_6___, ___,
+ ___2___, ___FUNCPAD_T___, ___, ___,
+ ___2___, ___FUNCPAD_1___, ___,
+ ___2___, ___FUNCPAD_2___, ___, ___,
+ ___2___, ___FUNCPAD_3___,
+ ___6___,
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, ___, ___KEYPAD_1_BP___, ___,
+ /**/ ___, ___KEYPAD_2_BP___, ___,
+ ___, ___, ___KEYPAD_3_BP___, ___,
+ /* */ ___KEYPAD_4_BP___, ___,
+ ___6___
+ ),
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ergodox_wrapper(
- // left hand
- ___, ___FUNC_L___, ___,
- ___MOUSE_BTNS_L___, ___, ___,
- ___, ___MOUSE_LDUR___, ___,
- ___, ___MWHEEL_LDUR___, XXX, ___,
- ___, ___, ___MOUSE_ACCL_012___,
- ___ERGODOX_TRANS_THUMBS___,
-
- // right hand
- ___, ___FUNC_R___, KC_F11,
- KC_VOLU, ___, ___MUTE_PLAY_STOP___, ___, KC_F12,
- /* */ KC_PGUP, ___VI_ARROWS___, ___,
- KC_VOLD, KC_PGDN, ___MOUSE_BTNS_R___,
- ___ERGODOX_TRANS_BOTTOM___,
- ___ERGODOX_TRANS_THUMBS___
- ),
+ // left hand
+ ___FUNC_1_6___, ___,
+ ___MOUSE_BTNS_L___, ___, ___,
+ ___, ___MOUSE_LDUR___, ___,
+ ___, ___MWHEEL_LDUR___, XXX, ___,
+ ___, ___, ___MOUSE_ACCL_012___,
+ ___6___,
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, KC_VOLU, ___MUTE_PRV_PLAY_NXT_STOP___,
+ /**/ KC_VOLD, ___VI_ARROWS___, ___,
+ ___, ___, ___MOUSE_BTNS_R___,
+ /* */ KC_PGDN, KC_PGUP, ___3___,
+ ___6___
+ ),
[LAYERS] = LAYOUT_ergodox_wrapper(
- // left hand
- ___, ___FUNC_L___, ___,
- XXX, XXX, XXX, ___LAYERS_L1___, XXX, XXX,
- XXX, XXX, XXX, ___LAYERS_L2___, XXX,
- XXX, XXX, ___LAYERS_L3___, XXX, XXX,
- ___, ___, ___LAYERS_L4___,
- ___ERGODOX_TRANS_THUMBS___,
-
- // right hand
- ___, ___FUNC_R___, KC_F11,
- KC_VOLU, ___, ___MUTE_PLAY_STOP___, ___, KC_F12,
- /* */ KC_PGUP, ___VI_ARROWS___, ___,
- KC_VOLD, KC_PGDN, ___MOUSE_BTNS_R___,
- ___ERGODOX_TRANS_BOTTOM___,
- ___ERGODOX_TRANS_THUMBS___
- ),
+ // left hand
+ ___FUNC_1_6___, ___,
+ XXX, XXX, XXX, ___2_LAYERS_B1___, XXX, ___,
+ XXX, XXX, XXX, ___2_LAYERS_B2___, XXX,
+ XXX, XXX, ___3_LAYERS_B3___, XXX, ___,
+ ___5___,
+ ___6___,
+
+ // right hand
+ ___, ___FUNC_7_12___,
+ ___, XXX, ___3_LAYERS_T_BP___, ___2___,
+ /**/ XXX, ___3_LAYERS_T___, ___2___,
+ ___, XXX, ___3_LAYERS_T_CTL___, ___2___,
+ ___5___,
+ ___6___
+ ),
};
diff --git a/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h b/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h
new file mode 100644
index 0000000000..7ad7f5a4cf
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h
@@ -0,0 +1,15 @@
+#pragma once
+
+// #define USE_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c b/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c
new file mode 100644
index 0000000000..baf6637eaa
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c
@@ -0,0 +1,193 @@
+/*
+ Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
+
+ 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/>.
+*/
+
+#include "keymap_bepo.h"
+#include "ericgebhart.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [DVORAK] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_DVORAK_1___, KC_SLASH,
+ TAB_BKTAB, ___12_DVORAK_2___, KC_MINUS,
+ KC_LSFT, ___12_DVORAK_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [QWERTY] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_QWERTY_1___, KC_SLASH,
+ TAB_BKTAB, ___12_QWERTY_2___, KC_MINUS,
+ KC_LSFT, ___12_QWERTY_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [COLEMAK] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_COLEMAK_1___, KC_SLASH,
+ TAB_BKTAB, ___12_COLEMAK_2___, KC_MINUS,
+ KC_LSFT, ___12_COLEMAK_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [WORKMAN] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_WORKMAN_1___, KC_SLASH,
+ TAB_BKTAB, ___12_WORKMAN_2___, KC_MINUS,
+ KC_LSFT, ___12_WORKMAN_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [NORMAN] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_NORMAN_1___, KC_SLASH,
+ TAB_BKTAB, ___12_NORMAN_2___, KC_MINUS,
+ KC_LSFT, ___12_NORMAN_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [DVORAK_ON_BEPO] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_DVORAK_B_1___, KC_SLASH,
+ TAB_BKTAB, ___12_DVORAK_B_2___, KC_MINUS,
+ KC_LSFT, ___12_DVORAK_B_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM_FR___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [BEPO] = LAYOUT_ortho_5x14_wrapper(
+ KC_GRV, ___12_DVORAK_B_1___, KC_SLASH,
+ TAB_BKTAB, ___12_DVORAK_B_2___, KC_MINUS,
+ KC_LSFT, ___12_DVORAK_B_3___, KC_RSFT,
+ ___ORTHO_14_BOTTOM_BP___,
+ ___ORTHO_14_THUMBS_BOTTOM___
+ ),
+
+ [XMONAD] = LAYOUT_ortho_5x14_wrapper(
+ ___, ___12_DVORAK_1___, ___,
+ ___, ___12_DVORAK_2___, ___,
+ ___, ___12_DVORAK_3___, ___,
+ ___14___,
+ ___14___
+ ),
+
+ [XMONAD_FR] = LAYOUT_ortho_5x14_wrapper(
+ ___, ___12_DVORAK_B_1___, ___,
+ ___, ___12_DVORAK_B_2___, ___,
+ ___, ___12_DVORAK_B_3___, ___,
+ ___14___,
+ ___14___
+ ),
+
+
+ // SYMBOLS
+ [SYMB] = LAYOUT_ortho_5x14_wrapper(
+ ___14_SYMB_1___,
+ ___14_SYMB_2___,
+ ___14_SYMB_3___,
+ ___14_SYMB_4___,
+ ___14___
+ ),
+
+ [KEYPAD] = LAYOUT_ortho_5x14_wrapper(
+ ___14_KP_1___,
+ ___14_KP_2___,
+ ___14_KP_3___,
+ ___14_KP_4___,
+ ___14___
+ ),
+
+ [KEYPAD_ON_BEPO] = LAYOUT_ortho_5x14_wrapper(
+ ___14_KP_B_1___,
+ ___14_KP_B_2___,
+ ___14_KP_B_3___,
+ ___14_KP_B_4___,
+ ___14___
+ ),
+
+ [SYMB_ON_BEPO] = LAYOUT_ortho_5x14_wrapper(
+ ___14_SYMB_B_1___,
+ ___14_SYMB_B_2___,
+ ___14_SYMB_B_3___,
+ ___14_SYMB_B_4___,
+ ___14___
+ ),
+
+ // MEDIA AND MOUSE
+ [MDIA] = LAYOUT_ortho_5x14_wrapper(
+ ___14_MDIA_1___,
+ ___14_MDIA_2___,
+ ___14_MDIA_3___,
+ ___14_MDIA_4___,
+ ___14___
+ ),
+
+ [LAYERS] = LAYOUT_ortho_5x14_wrapper(
+ ___14_LAYERS_1___,
+ ___14_LAYERS_2___,
+ ___14_LAYERS_3___,
+ ___14___,
+ ___14___
+ ),
+
+ [_RGB] = LAYOUT_ortho_5x14_wrapper(
+ ___14_RGB_1___,
+ ___14_RGB_2___,
+ ___14_RGB_3___,
+ ___14___,
+ ___14___
+ ),
+};
+
+/* bool process_record_user(uint16_t keycode, keyrecord_t *record) { */
+/* switch (keycode) { */
+/* case QWERTY: */
+/* if (record->event.pressed) { */
+/* set_single_persistent_default_layer(_QWERTY); */
+/* } */
+/* return false; */
+/* break; */
+/* case LOWER: */
+/* if (record->event.pressed) { */
+/* layer_on(_LOWER); */
+/* update_tri_layer(_LOWER, _RAISE, _ADJUST); */
+/* } else { */
+/* layer_off(_LOWER); */
+/* update_tri_layer(_LOWER, _RAISE, _ADJUST); */
+/* } */
+/* return false; */
+/* break; */
+/* case RAISE: */
+/* if (record->event.pressed) { */
+/* layer_on(_RAISE); */
+/* update_tri_layer(_LOWER, _RAISE, _ADJUST); */
+/* } else { */
+/* layer_off(_RAISE); */
+/* update_tri_layer(_LOWER, _RAISE, _ADJUST); */
+/* } */
+/* return false; */
+/* break; */
+/* case ADJUST: */
+/* if (record->event.pressed) { */
+/* layer_on(_ADJUST); */
+/* } else { */
+/* layer_off(_ADJUST); */
+/* } */
+/* return false; */
+/* break; */
+/* } */
+/* return true; */
+/* } */
diff --git a/keyboards/xd75/keymaps/ericgebhart/config.h b/keyboards/xd75/keymaps/ericgebhart/config.h
new file mode 100644
index 0000000000..77f83e83fd
--- /dev/null
+++ b/keyboards/xd75/keymaps/ericgebhart/config.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#undef RGBLED_NUM
+#define RGBLED_NUM 6
+#define RGBLIGHT_LAYERS
+
+#undef RGBLIGHT_ANIMATIONS
+//#define RGBLIGHT_HUE_STEP 8
+//#define RGBLIGHT_SAT_STEP 8
+
+
+// place overrides here
diff --git a/keyboards/xd75/keymaps/ericgebhart/keymap.c b/keyboards/xd75/keymaps/ericgebhart/keymap.c
new file mode 100644
index 0000000000..9661972bfa
--- /dev/null
+++ b/keyboards/xd75/keymaps/ericgebhart/keymap.c
@@ -0,0 +1,242 @@
+/*
+ Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
+
+ 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/>.
+*/
+
+#include "keymap_bepo.h"
+#include "ericgebhart.h"
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [DVORAK] = LAYOUT_ortho_5x15_wrapper(
+ KC_GRV, ___ORTHO_15_N___, KC_EQL,
+ KC_LOCK, ___13_DVORAK_1___, KC_SLASH,
+ TAB_BKTAB, ___13_DVORAK_2___, KC_MINUS,
+ KC_LSFT, ___13_DVORAK_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM___
+ ),
+
+ [QWERTY] = LAYOUT_ortho_5x15_wrapper(
+ KC_GRV, ___ORTHO_15_N___, KC_EQL,
+ KC_LOCK, ___13_QWERTY_1___, KC_SLASH,
+ TAB_BKTAB, ___13_QWERTY_2___, KC_MINUS,
+ KC_LSFT, ___13_QWERTY_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM___
+ ),
+
+ [COLEMAK] = LAYOUT_ortho_5x15_wrapper(
+ KC_GRV, ___ORTHO_15_N___, KC_EQL,
+ KC_LOCK, ___13_COLEMAK_1___, KC_SLASH,
+ TAB_BKTAB, ___13_COLEMAK_2___, KC_MINUS,
+ KC_LSFT, ___13_COLEMAK_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM___
+ ),
+
+ [WORKMAN] = LAYOUT_ortho_5x15_wrapper(
+ KC_GRV, ___ORTHO_15_N___, KC_EQL,
+ KC_LOCK, ___13_WORKMAN_1___, KC_SLASH,
+ TAB_BKTAB, ___13_WORKMAN_2___, KC_MINUS,
+ KC_LSFT, ___13_WORKMAN_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM___
+ ),
+
+ [NORMAN] = LAYOUT_ortho_5x15_wrapper(
+ KC_GRV, ___ORTHO_15_N___, KC_EQL,
+ KC_LOCK, ___13_NORMAN_1___, KC_SLASH,
+ TAB_BKTAB, ___13_NORMAN_2___, KC_MINUS,
+ KC_LSFT, ___13_NORMAN_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM___
+ ),
+
+ [DVORAK_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
+ DB_GRV, ___ORTHO_15_B_N___, DB_EQL,
+ KC_LOCK, ___13_DVORAK_B_1___, DB_SLASH,
+ TAB_BKTAB, ___13_DVORAK_B_2___, DB_MINUS,
+ KC_LSFT, ___13_DVORAK_B_3___, KC_RSFT,
+ ___ORTHO_15_BOTTOM_FR___
+ ),
+
+ [XMONAD] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___, ___13_DVORAK_1___, ___,
+ ___, ___13_DVORAK_2___, ___,
+ ___, ___13_DVORAK_3___, ___,
+ ___15___
+ ),
+
+ [XMONAD_FR] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___, ___13_DVORAK_B_1___, ___,
+ ___, ___13_DVORAK_B_2___, ___,
+ ___, ___13_DVORAK_B_3___, ___,
+ ___15___
+ ),
+
+ [BEPO] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_B_SYMB___,
+ KC_LOCK, ___13_BEPO_1___, BP_W,
+ TAB_BKTAB, ___13_BEPO_2___, BP_CCED,
+ BP_SFT_T_ECRC, ___13_BEPO_3___, BP_SFT_T_W,
+ ___ORTHO_15_BOTTOM_BP___
+ ),
+
+ // SYMBOLS
+ [SYMB] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_SYMB_1___,
+ ___15_SYMB_2___,
+ ___15_SYMB_3___,
+ ___15_SYMB_4___
+ ),
+
+ [KEYPAD] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_KP_1___,
+ ___15_KP_2___,
+ ___15_KP_3___,
+ ___15_KP_4___
+ ),
+
+ [KEYPAD_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_KP_B_1___,
+ ___15_KP_B_2___,
+ ___15_KP_B_3___,
+ ___15_KP_B_4___
+ ),
+
+ [SYMB_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_SYMB_B_1___,
+ ___15_SYMB_B_2___,
+ ___15_SYMB_B_3___,
+ ___15_SYMB_B_4___
+ ),
+
+ // MEDIA AND MOUSE
+ [MDIA] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_MDIA_1___,
+ ___15_MDIA_2___,
+ ___15_MDIA_3___,
+ ___15_MDIA_4___
+ ),
+
+ [LAYERS] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_LAYERS_1___,
+ ___15_LAYERS_2___,
+ ___15_LAYERS_3___,
+ ___15___
+ ),
+
+ [_RGB] = LAYOUT_ortho_5x15_wrapper(
+ ___ORTHO_15_FUNC_1_12___,
+ ___15_RGB_1___,
+ ___15_RGB_2___,
+ ___15_RGB_3___,
+ ___15___
+ ),
+};
+
+
+/********************************************************************************/
+/* Using layers to do RGB underlighting */
+/********************************************************************************/
+
+const rgblight_segment_t PROGMEM on_bepo[] = RGBLIGHT_LAYER_SEGMENTS(
+ {0, 2, HSV_AZURE}
+ );
+
+const rgblight_segment_t PROGMEM bepo[] = RGBLIGHT_LAYER_SEGMENTS(
+ {3, 2, HSV_MAGENTA}
+ );
+
+const rgblight_segment_t PROGMEM dvorak[] = RGBLIGHT_LAYER_SEGMENTS(
+ {3, 2, HSV_AZURE}
+ );
+
+const rgblight_segment_t PROGMEM media[] = RGBLIGHT_LAYER_SEGMENTS(
+ {5, 1, HSV_GREEN}
+ );
+
+const rgblight_segment_t PROGMEM symbol[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 2, HSV_GOLD}
+ );
+
+const rgblight_segment_t PROGMEM keypad[] = RGBLIGHT_LAYER_SEGMENTS(
+ {4, 2, HSV_BLUE}
+ );
+
+const rgblight_segment_t PROGMEM layers[] = RGBLIGHT_LAYER_SEGMENTS(
+ {5, 1, HSV_RED}
+ );
+
+const rgblight_segment_t PROGMEM rgb[] = RGBLIGHT_LAYER_SEGMENTS(
+ {5, 1, HSV_ORANGE}
+ );
+
+const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(on_bepo, bepo, dvorak, media, symbol,
+ keypad, layers, rgb);
+
+void keyboard_post_init_user(void) {
+ rgblight_sethsv_noeeprom(HSV_PURPLE);
+ rgblight_layers = rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ // rgblight_set_layer_state(0, !on_qwerty());
+ rgblight_set_layer_state(0, layer_state_cmp(state, DVORAK));
+
+ rgblight_set_layer_state(1, layer_state_cmp(state, BEPO));
+ rgblight_set_layer_state(2, layer_state_cmp(state, DVORAK));
+ //|| layer_state_cmp(state, DVORAK_ON_BEPO)));
+ rgblight_set_layer_state(3, layer_state_cmp(state, MDIA));
+ rgblight_set_layer_state(4, layer_state_cmp(state, SYMB) );
+
+ //(layer_state_cmp(state, SYMB) || (layer_state_cmp(state, SYMB_ON_BEPO))));
+ rgblight_set_layer_state(5, layer_state_cmp(state, KEYPAD) );
+ ///(layer_state_cmp(state, KEYPAD) || (layer_state_cmp(state, KEYPAD_ON_BEPO))));
+ rgblight_set_layer_state(6, layer_state_cmp(state, LAYERS));
+ rgblight_set_layer_state(7, layer_state_cmp(state, _RGB));
+ retu