summaryrefslogtreecommitdiffstats
path: root/users/ericgebhart/keymap
diff options
context:
space:
mode:
Diffstat (limited to 'users/ericgebhart/keymap')
-rw-r--r--users/ericgebhart/keymap/keymap.c142
-rw-r--r--users/ericgebhart/keymap/map_accented.h26
-rw-r--r--users/ericgebhart/keymap/map_alt.h69
-rw-r--r--users/ericgebhart/keymap/map_beakl.h48
-rw-r--r--users/ericgebhart/keymap/map_bepo.h40
-rw-r--r--users/ericgebhart/keymap/map_carpalx.h25
-rw-r--r--users/ericgebhart/keymap/map_dvorak.h31
-rw-r--r--users/ericgebhart/keymap/map_funcs.h127
-rw-r--r--users/ericgebhart/keymap/map_gap.h31
-rw-r--r--users/ericgebhart/keymap/map_hd.h117
-rw-r--r--users/ericgebhart/keymap/map_keypads.h66
-rw-r--r--users/ericgebhart/keymap/map_maks.h34
-rw-r--r--users/ericgebhart/keymap/map_qwerty.h25
-rw-r--r--users/ericgebhart/keymap/map_symbols.h56
-rw-r--r--users/ericgebhart/keymap/map_toprows.h45
15 files changed, 882 insertions, 0 deletions
diff --git a/users/ericgebhart/keymap/keymap.c b/users/ericgebhart/keymap/keymap.c
new file mode 100644
index 0000000000..bee8538e26
--- /dev/null
+++ b/users/ericgebhart/keymap/keymap.c
@@ -0,0 +1,142 @@
+/*
+ Copyright 2022 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/>.
+*/
+
+/* This is my keymap. Enable the layers you want in config.h. */
+
+#include QMK_KEYBOARD_H
+#include "ericgebhart.h"
+#include "layouts.h"
+
+#include "keyboards.h"
+
+// set up the wrapper macros.
+#define BASE_LAYER(NAME, ...) [NAME] = BASE(__VA_ARGS__)
+#define BASE_LAYERt6(NAME, ...) [NAME] = BASEt6(__VA_ARGS__)
+#define T_LAYER(LNAME, ...) [LNAME] = TRANS(__VA_ARGS__)
+
+
+// One that takes 5 and one that takes 6 for bepo and other big maps
+// that need 3x12 instead of 3x10.
+#ifdef BASE_NUMBER_ROW
+#define B_LAYER(LNAME, NUMS, LAYOUT) BASE_LAYER(LNAME, NUMS, LAYOUT)
+#define B_LAYERt6(LNAME, NUMS, LAYOUT) BASE_LAYERt6(LNAME, NUMS, LAYOUT)
+#else
+// if there is no number row, don't give it one.
+#define B_LAYER(LNAME, NUMS, LAYOUT) BASE_LAYER(LNAME, LAYOUT)
+#define B_LAYERt6(LNAME, NUMS, LAYOUT) BASE_LAYERt6(LNAME, LAYOUT)
+#endif
+
+// Find alt local key definitions.
+// DV for dvorak/qwerty maps on bepo.
+// BK, BKW for beakl maps on en-qwerty and bepo.
+// BKW is automatic in map_beakl.h
+#define ALT_TARGET_IS NONE // NONE, DV=dvorak, BK=Beakl, BK2, BKW=Beaklwi.
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default lang, Base layers
+#include "map_dvorak.h"
+#include "map_maks.h"
+#include "map_qwerty.h"
+#include "map_beakl.h"
+#include "map_alt.h"
+#include "map_gap.h"
+#include "map_carpalx.h"
+#include "map_hd.h"
+#include "map_bepo.h"
+
+ // create a set of layers for a second locale.
+#ifdef SECOND_LOCALE
+#undef LANG_IS
+#define LANG_IS SECOND_LOCALE
+
+ // changes alt target for us, because both en-qwerty and fr-bepo
+ // need a beakl alt target.
+#include "map_beakl.h"
+
+ // Qwerty based layers. Need a DV alt target to get the right shifted keys.
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS DV // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
+
+#include "map_dvorak.h"
+#include "map_maks.h"
+#include "map_qwerty.h"
+#include "map_alt.h"
+#include "map_gap.h"
+#include "map_carpalx.h"
+#include "map_hd.h"
+
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS NONE // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
+
+#include "map_bepo.h"
+
+#undef LANG_IS
+#define LANG_IS DEFAULT_LANG
+#endif // bepo
+
+
+// SYMBOL LAYER
+#include "map_symbols.h"
+
+#ifdef SECOND_LOCALE
+#undef LANG_IS
+#define LANG_IS SECOND_LOCALE
+
+#include "map_symbols.h"
+
+#undef LANG_IS
+#define LANG_IS DEFAULT_LANG
+#endif
+
+
+ // KEYPAD LAYER
+#include "map_keypads.h"
+
+#ifdef SECOND_LOCALE
+#undef LANG_IS
+#define LANG_IS SECOND_LOCALE
+
+#include "map_keypads.h"
+
+#undef LANG_IS
+#define LANG_IS DEFAULT_LANG
+#endif
+
+
+// TOPROWS LAYER
+#include "map_toprows.h"
+
+#include "map_accented.h"
+
+#ifdef SECOND_LOCALE
+#undef LANG_IS
+#define LANG_IS SECOND_LOCALE
+
+#include "map_toprows.h"
+
+#include "map_accented.h"
+
+#undef LANG_IS
+#define LANG_IS EN
+#endif
+
+// functional non language based layers.
+#include "map_funcs.h"
+
+};
diff --git a/users/ericgebhart/keymap/map_accented.h b/users/ericgebhart/keymap/map_accented.h
new file mode 100644
index 0000000000..98ff8a34f1
--- /dev/null
+++ b/users/ericgebhart/keymap/map_accented.h
@@ -0,0 +1,26 @@
+/*
+ Copyright 2022 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/>.
+*/
+// Accented character and dead key layers.
+#ifdef ACCENTS_LAYER_ENABLE
+ T_LAYER(LANG_N(_ACCENTS), ___ACCENTS___),
+#endif
+#ifdef MORTE_LAYER_ENABLE
+ T_LAYER(LANG_N(_MORTE), ___MORTE___),
+#endif
+#ifdef ACCENTS_MORTE_LAYER_ENABLE
+ T_LAYER(LANG_N(_ACCENTS_MORTE), ___ACCENTS_MORTE___),
+#endif
diff --git a/users/ericgebhart/keymap/map_alt.h b/users/ericgebhart/keymap/map_alt.h
new file mode 100644
index 0000000000..5fb0a12135
--- /dev/null
+++ b/users/ericgebhart/keymap/map_alt.h
@@ -0,0 +1,69 @@
+/*
+ Copyright 2022 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/>.
+*/
+
+#ifdef MALTRON_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE MALTRON_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_E)
+ B_LAYER(LANG_N(_MALTRON), ___10_NUMBERS___, ___MALTRON___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+
+
+#ifdef RSTHD_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE RSTHD_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_E)
+ B_LAYER(LANG_N(_RSTHD), ___10_NUMBERS___, ___RSTHD___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef EUCALYN_LAYER_ENABLE
+ B_LAYER(LANG_N(_EUCALYN), ___10_NUMBERS___, ___EUCALYN___),
+#endif
+
+#ifdef HANDS_UP_LAYER_ENABLE
+ B_LAYER(LANG_N(_HANDS_UP), ___10_NUMBERS___, ___HANDS_UP___),
+#endif
+#ifdef WHITE_LAYER_ENABLE
+ B_LAYER(LANG_N(_WHITE), ___10_NUMBERS___, ___WHITE___),
+#endif
+#ifdef ISRT_LAYER_ENABLE
+ B_LAYER(LANG_N(_ISRT), ___10_NUMBERS___, ___ISRT___),
+#endif
+#ifdef SOUL_LAYER_ENABLE
+ B_LAYER(LANG_N(_SOUL), ___10_NUMBERS___, ___SOUL___),
+#endif
+#ifdef NIRO_LAYER_ENABLE
+ B_LAYER(LANG_N(_NIRO), ___10_NUMBERS___, ___NIRO___),
+#endif
+#ifdef ASSET_LAYER_ENABLE
+ B_LAYER(LANG_N(_ASSET), ___10_NUMBERS___, ___ASSET___),
+#endif
+#ifdef WHORF_LAYER_ENABLE
+ B_LAYER(LANG_N(_WHORF), ___10_NUMBERS___, ___WHORF___),
+#endif
+#ifdef WHORF6_LAYER_ENABLE
+ B_LAYER(LANG_N(_WHORF6), ___10_NUMBERS___, ___WHORF6___),
+#endif
diff --git a/users/ericgebhart/keymap/map_beakl.h b/users/ericgebhart/keymap/map_beakl.h
new file mode 100644
index 0000000000..e477790fbc
--- /dev/null
+++ b/users/ericgebhart/keymap/map_beakl.h
@@ -0,0 +1,48 @@
+/*
+ Copyright 2022 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/>.
+*/
+// choose your beakl,
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS BK // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
+
+#ifdef BEAKL15_LAYER_ENABLE
+B_LAYER(LANG_N(_BEAKL15), ___10_NUMBERS_BEAKL15___, ___BEAKL15___),
+#endif
+
+#ifdef BEAKL19_LAYER_ENABLE
+ B_LAYER(LANG_N(_BEAKL19), ___10_NUMBERS_BEAKL19___, ___BEAKL19___),
+#endif
+
+#ifdef BEAKL27_LAYER_ENABLE
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS BK2 // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
+
+ B_LAYER(LANG_N(_BEAKL27), ___10_NUMBERS_BEAKL19___, ___BEAKL27___),
+#endif
+
+#ifdef BEAKLWI_LAYER_ENABLE
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS BKW // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
+
+#undef THUMBS_ARE // change the default thumbs to WI.
+#define THUMBS_ARE WIa
+ B_LAYER(LANG_N(_BEAKLWI), ___10_NUMBERS_BEAKL19___, ___BEAKLWI___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#endif
+
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS NONE // NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi.
diff --git a/users/ericgebhart/keymap/map_bepo.h b/users/ericgebhart/keymap/map_bepo.h
new file mode 100644
index 0000000000..8371096053
--- /dev/null
+++ b/users/ericgebhart/keymap/map_bepo.h
@@ -0,0 +1,40 @@
+/*
+ Copyright 2022 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/>.
+*/
+// beginning of 3x12 base layers.
+
+#undef BASE_COLS_IN_OUT
+#define BASE_COLS_IN_OUT 6 // 5, 5_6, 6
+
+#ifdef BEPO_LAYER_ENABLE
+ B_LAYERt6(LANG_N(_BEPO), ___12_SYMBOLS_BEPO___, ___BEPO_3x12___),
+#endif
+
+#ifdef OPTIMOT_LAYER_ENABLE
+ B_LAYERt6(LANG_N(_OPTIMOT), ___12_SYMBOLS_BEPO___, ___OPTIMOT_3x12___),
+#endif
+
+#ifdef OPTIMOT_COMPACT_LAYER_ENABLE
+ B_LAYER(LANG_N(_OPTIMOT), ___10_SYMBOLS_BEPO___, ___OPTIMOT_3x10___),
+#endif
+
+#ifdef BEAKL19bis_LAYER_ENABLE
+ B_LAYERt6(LANG_N(_BEAKL19bis), ___12_SYMBOLS_BEPO___, ___BEAKL19bis_3x12___),
+#endif
+
+// end of 3x12 base layers.
+#undef BASE_COLS_IN_OUT
+#define BASE_COLS_IN_OUT 5_6 // 5, 5_6, 6
diff --git a/users/ericgebhart/keymap/map_carpalx.h b/users/ericgebhart/keymap/map_carpalx.h
new file mode 100644
index 0000000000..e36ca1caef
--- /dev/null
+++ b/users/ericgebhart/keymap/map_carpalx.h
@@ -0,0 +1,25 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef CARPALX_QFMLWY_LAYER_ENABLE
+B_LAYER(LANG_N(_CARPALX_QFMLWY), ___10_NUMBERS___, ___CARPALX_QFMLWY___),
+#endif
+#ifdef CARPALX_QGMLWB_LAYER_ENABLE
+ B_LAYER(LANG_N(_CARPALX_QGMLWB), ___10_NUMBERS___, ___CARPALX_QGMLWB___),
+#endif
+#ifdef CARPALX_QGMLWY_LAYER_ENABLE
+ B_LAYER(LANG_N(_CARPALX_QGMLWY), ___10_NUMBERS___, ___CARPALX_QGMLWY___),
+#endif
diff --git a/users/ericgebhart/keymap/map_dvorak.h b/users/ericgebhart/keymap/map_dvorak.h
new file mode 100644
index 0000000000..40afe827cc
--- /dev/null
+++ b/users/ericgebhart/keymap/map_dvorak.h
@@ -0,0 +1,31 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef DVORAK_LAYER_ENABLE
+B_LAYER(LANG_N(_DVORAK), ___10_NUMBERS___, ___DVORAK___),
+#endif
+#ifdef DVORAK_RLC_IU_LAYER_ENABLE
+ B_LAYER(LANG_N(_DVORAK_RLC_IU), ___10_NUMBERS___, ___DVORAK_RLC_IU___),
+#endif
+#ifdef BOO_LAYER_ENABLE
+ B_LAYER(LANG_N(_BOO), ___10_NUMBERS___, ___BOO___),
+#endif
+#ifdef CAPEWELL_DVORAK_LAYER_ENABLE
+ B_LAYER(LANG_N(_CAPEWELL_DVORAK), ___10_NUMBERS___, ___CAPEWELL_DVORAK___),
+#endif
+#ifdef AHEI_LAYER_ENABLE
+ B_LAYER(LANG_N(_AHEI), ___10_NUMBERS___, ___AHEI___),
+#endif
diff --git a/users/ericgebhart/keymap/map_funcs.h b/users/ericgebhart/keymap/map_funcs.h
new file mode 100644
index 0000000000..0bf20610f3
--- /dev/null
+++ b/users/ericgebhart/keymap/map_funcs.h
@@ -0,0 +1,127 @@
+/*
+ Copyright 2022 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/>.
+*/
+// navigation. Mouse keys, arrows, home,end, etc.
+#ifdef NAV_LAYER_ENABLE
+# ifdef MOUSEKEY_ENABLE
+# undef THUMBS_ARE
+# define THUMBS_ARE MOUSE_LAYER_THUMBS
+
+# ifdef NAV_FULL_LOCK_MODS
+T_LAYER(_NAV, ___NAVA_3x10___),
+# endif
+
+# ifdef NAV_FULL
+ T_LAYER(_NAV, ___NAV_3x10___),
+# endif
+
+# ifdef NAV_NO_MOUSE
+ T_LAYER(_NAV, ___NAVnm_3x10___),
+ T_LAYER(_NAVm, ___NAVm_3x10___),
+# endif
+
+// give a default
+# if !defined(NAV_FULL) && \
+ !defined(NAV_NO_MOUSE) && \
+ !defined(NAV_FULL_LOCK_MODS) \
+
+ T_LAYER(_NAV, ___NAVA_3x10___),
+# endif
+
+# ifdef MOUSE_LAYER_ENABLE
+ T_LAYER(_NAVm, ___NAVm_3x10___),
+# endif
+
+# undef THUMBS_ARE
+# define THUMBS_ARE DEFAULT_THUMBS
+
+# else // no mouse enable.
+ T_LAYER(_NAV, ___NAVnm_3x10___),
+# endif // mousekey end.
+#endif //nav end.
+
+#ifdef MEDIA_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE MEDIA_LAYER_THUMBS
+ T_LAYER(_MEDIA, ___MEDIA_3x10___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#endif
+
+#ifdef FUN_LAYER_ENABLE
+
+#ifdef FUNCPAD_MIRYOKU_ENABLE
+ T_LAYER(_FUN, ___FUN_3x10___),
+#else
+ T_LAYER(_FUN, ___FUN_MIRYOKU_3x10___),
+#endif
+
+#endif
+
+// A layer for layers. to set the default, etc.
+ T_LAYER(_LAYERS, ___LAYERS_3x10___),
+
+// control the RGB if there are any.
+#ifdef RGB_LAYER_ENABLE
+ T_LAYER(_RGB, ___RGB_3x10___),
+#endif
+
+// control and adjust stuff.
+#ifdef ADJUST_LAYER_ENABLE
+ T_LAYER(_ADJUST, ___ADJUST_3x10___),
+#endif
+
+
+// put the combo reference layers at the end.
+#ifdef COMBO_REF_LAYER_ENABLE
+#undef LANG_IS
+#define LANG_IS COMBO
+#undef EDGE_KEY_SET_IS
+#define EDGE_KEY_SET_IS REF1
+#undef THUMBS_ARE
+#define THUMBS_ARE COMBO
+#undef MODS_ARE
+#define MODS_ARE TRNS
+ B_LAYER(_COMBO_REF, ___10_NUMBERS___, ___COMBO_REF___),
+#undef LANG_IS
+#define LANG_IS DEFAULT_LANG
+#undef EDGE_KEY_SET_IS
+#define EDGE_KEY_SET_IS DEFAULT_EDGE_SET
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef MODS_ARE
+#define MODS_ARE DEFAULT_MODS
+#endif
+
+#ifdef COMBO_REF_LAYER_TWO_ENABLE
+#undef LANG_IS
+#define LANG_IS COMBO2
+#undef EDGE_KEY_SET_IS
+#define EDGE_KEY_SET_IS REF2
+#undef THUMBS_ARE
+#define THUMBS_ARE COMBO2
+#undef MODS_ARE
+#define MODS_ARE TRNS
+ B_LAYER(_COMBO_REF2, ___10_NUMBERS___, ___COMBO_REF___),
+#undef LANG_IS
+#define LANG_IS DEFAULT_LANG
+#undef EDGE_KEY_SET_IS
+#define EDGE_KEY_SET_IS DEFAULT_EDGE_SET
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef MODS_ARE
+#define MODS_ARE DEFAULT_MODS
+#endif
diff --git a/users/ericgebhart/keymap/map_gap.h b/users/ericgebhart/keymap/map_gap.h
new file mode 100644
index 0000000000..af0855c983
--- /dev/null
+++ b/users/ericgebhart/keymap/map_gap.h
@@ -0,0 +1,31 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef MTGAP_LAYER_ENABLE
+B_LAYER(LANG_N(_MTGAP), ___10_NUMBERS___, ___MTGAP___),
+#endif
+
+#ifdef CTGAP_LAYER_ENABLE
+ B_LAYER(LANG_N(_CTGAP), ___10_NUMBERS___, ___CTGAP___),
+#endif
+
+#ifdef APT_LAYER_ENABLE
+ B_LAYER(LANG_N(_APT), ___10_NUMBERS___, ___APT___),
+#endif
+
+#ifdef CANARY_LAYER_ENABLE
+ B_LAYER(LANG_N(_CANARY), ___10_NUMBERS___, ___CANARY___),
+#endif
diff --git a/users/ericgebhart/keymap/map_hd.h b/users/ericgebhart/keymap/map_hd.h
new file mode 100644
index 0000000000..1123e88074
--- /dev/null
+++ b/users/ericgebhart/keymap/map_hd.h
@@ -0,0 +1,117 @@
+/*
+ Copyright 2022 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/>.
+*/
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS HD
+// NONE, DV = dvorak, BK=Beakl, BKW=Beaklwi, HD=Hands down.
+// HD_ELAN,
+
+#ifdef HD_NEU_LAYER_ENABLE
+B_LAYERt6(LANG_N(_HD_NEU), ___12_NUMBERS___, ___HD_NEU___),
+#endif
+
+#ifdef HD_NEU_NARROW_LAYER_ENABLE
+ B_LAYER(LANG_N(_HD_NEU_NARROW), ___10_NUMBERS___, ___HD_NEU_NARROW___),
+#endif
+
+#ifdef HD_REF_LAYER_ENABLE
+ B_LAYER(LANG_N(_HD_REF), ___10_NUMBERS___, ___HD_REF___),
+#endif
+
+#ifdef HD_TITANIUM_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_R)
+ B_LAYER(LANG_N(_HD_TITANIUM), ___10_NUMBERS___, ___HD_TITANIUM___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_GOLD_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_T)
+ B_LAYER(LANG_N(_HD_GOLD), ___10_NUMBERS___, ___HD_GOLD___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_PLATINUM_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_L)
+ B_LAYER(LANG_N(_HD_PLATINUM), ___10_NUMBERS___, ___HD_PLATINUM___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_SILVER_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_N)
+ B_LAYER(LANG_N(_HD_SILVER), ___10_NUMBERS___, ___HD_SILVER___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_BRONZE_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_H)
+ B_LAYER(LANG_N(_HD_BRONZE), ___10_NUMBERS___, ___HD_BRONZE___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_ELAN_LAYER_ENABLE
+#undef THUMBS_ARE
+#define THUMBS_ARE HANDS_DOWN_LTR_THUMBS_ARE
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(TL_DOT)
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS HD_ELAN
+ B_LAYER(LANG_N(_HD_ELAN), ___10_NUMBERS___, ___HD_ELAN___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS NONE
+#undef THUMB_LETTER
+#endif
+
+#ifdef HD_DASH_LAYER_ENABLE
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS HD_DASH
+#undef THUMBS_ARE
+#define THUMBS_ARE HD_DASH
+#undef THUMB_LETTER
+#define THUMB_LETTER LANG_KC(_E)
+ B_LAYER(LANG_N(_HD_DASH), ___10_NUMBERS___, ___HD_DASH___),
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#undef ALT_TARGET_IS
+#define ALT_TARGET_IS NONE
+#undef THUMB_LETTER
+#endif
diff --git a/users/ericgebhart/keymap/map_keypads.h b/users/ericgebhart/keymap/map_keypads.h
new file mode 100644
index 0000000000..7b76731b83
--- /dev/null
+++ b/users/ericgebhart/keymap/map_keypads.h
@@ -0,0 +1,66 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef KEYPAD_LAYER_ENABLE
+# undef THUMBS_ARE
+# define THUMBS_ARE KEYPAD_LAYER_THUMBS
+
+# ifdef KEYPAD_BEAKL
+# ifdef KEYPAD_BEAKL_WI
+T_LAYER(LANG_N(_KEYPAD), ___KP_BKL_WI_3x10___),
+# else
+# ifdef KEYPAD_MODS
+ T_LAYER(LANG_N(_KEYPAD), ___KP_BKL_MODS_3x10___),
+# else
+ T_LAYER(LANG_N(_KEYPAD), ___KP_BKL_FUNC_3x10___),
+# endif
+# endif
+
+# else //not beakl
+
+# ifdef KEYPAD_MIRYOKU
+ T_LAYER(LANG_N(_KEYPAD), ___KP_MIRYOKU_3x10___),
+# else
+
+# ifdef KEYPAD_RIGHT
+# ifdef KEYPAD_MODS
+ T_LAYER(LANG_N(_KEYPAD), ___MODS_KP_3x10___),
+# else
+ T_LAYER(LANG_N(_KEYPAD), ___FP_KP_3x10___),
+# endif
+
+# else // kp Left
+# ifdef KEYPAD_MODS
+ T_LAYER(LANG_N(_KEYPAD), ___KP_MODS_3x10___),
+# else
+ T_LAYER(LANG_N(_KEYPAD), ___KP_FP_3x10___),
+# endif
+# endif
+# endif
+
+# endif // not beakl
+
+#undef THUMBS_ARE
+#define THUMBS_ARE DEFAULT_THUMBS
+#endif
+
+#ifdef FUNC_LAYER_ENABLE
+# ifdef FUNCPAD_MIRYOKU
+ T_LAYER(_FUN, ___FP_MIRYOKU_3x10___),
+# else
+ T_LAYER(_FUN, ___FUN_3x10___),
+# endif
+#endif
diff --git a/users/ericgebhart/keymap/map_maks.h b/users/ericgebhart/keymap/map_maks.h
new file mode 100644
index 0000000000..3290b2b772
--- /dev/null
+++ b/users/ericgebhart/keymap/map_maks.h
@@ -0,0 +1,34 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef COLEMAK_LAYER_ENABLE
+B_LAYER(LANG_N(_COLEMAK), ___10_NUMBERS___, ___COLEMAK___),
+#endif
+#ifdef COLEMAK_DH_LAYER_ENABLE
+ B_LAYER(LANG_N(_COLEMAK_DH), ___10_NUMBERS___, ___COLEMAK_DH___),
+#endif
+#ifdef HALMAK_LAYER_ENABLE
+ B_LAYER(LANG_N(_HALMAK), ___10_NUMBERS___, ___HALMAK___),
+#endif
+#ifdef MINIMAK_LAYER_ENABLE
+ B_LAYER(LANG_N(_MINIMAK), ___10_NUMBERS___, ___MINIMAK___),
+#endif
+#ifdef MINIMAK_8_LAYER_ENABLE
+ B_LAYER(LANG_N(_MINIMAK_8), ___10_NUMBERS___, ___MINIMAK___),
+#endif
+#ifdef MINIMAK_12_LAYER_ENABLE
+ B_LAYER(LANG_N(_MINIMAK_12), ___10_NUMBERS___, ___MINIMAK___),
+#endif
diff --git a/users/ericgebhart/keymap/map_qwerty.h b/users/ericgebhart/keymap/map_qwerty.h
new file mode 100644
index 0000000000..db74bdeb39
--- /dev/null
+++ b/users/ericgebhart/keymap/map_qwerty.h
@@ -0,0 +1,25 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef QWERTY_LAYER_ENABLE
+B_LAYER(LANG_N(_QWERTY), ___10_NUMBERS___, ___QWERTY___),
+#endif
+#ifdef NORMAN_LAYER_ENABLE
+ B_LAYER(LANG_N(_NORMAN), ___10_NUMBERS___, ___NORMAN___),
+#endif
+#ifdef WORKMAN_LAYER_ENABLE
+ B_LAYER(LANG_N(_WORKMAN), ___10_NUMBERS___, ___WORKMAN___),
+#endif
diff --git a/users/ericgebhart/keymap/map_symbols.h b/users/ericgebhart/keymap/map_symbols.h
new file mode 100644
index 0000000000..7908e95262
--- /dev/null
+++ b/users/ericgebhart/keymap/map_symbols.h
@@ -0,0 +1,56 @@
+/*
+ Copyright 2022 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/>.
+*/
+#ifdef SYMBOL_LAYER_ENABLE
+# undef THUMBS_ARE
+# define THUMBS_ARE SYMB_LAYER_THUMBS
+
+# ifdef SYMBOL_BEAKL_C
+T_LAYER(LANG_N(_SYMB), ___SYMB_BEAKLC_3x10___),
+# else
+
+# ifdef SYMBOL_BEAKL_EXT_VI
+ T_LAYER(LANG_N(_SYMB), ___SYMB_BEAKLB_3x10___),
+# else
+
+# ifdef SYMBOL_BEAKL_EXT
+ T_LAYER(LANG_N(_SYMB ), ___SYMB_BEAKLA_3x10___),
+# else
+
+# ifdef SYMBOL_BEAKL_WI
+ T_LAYER(LANG_N(_SYMB), ___SYMB_BEAKLWI_3x10___),
+# else
+
+# ifdef SYMBOL_MIRYOKU
+ T_LAYER(LANG_N(_SYMB), ___SYMB_MIRYOKU_3x10___),
+# else
+
+# ifdef SYMBOL_NEO
+ T_LAYER(LANG_N(_SYMB), ___SYMB_NEO_3x10___),
+# else
+
+// basic beakl, the default if nothing chosen.
+ T_LAYER(LANG_N(_SYMB), ___SYMB_BEAKL_3x10___),
+
+# endif //neo
+# endif //miryoku
+# endif //beakl wi
+# endif //beakl ext
+# endif //beakl ext vi
+# endif //beaklc
+# undef THUMBS_ARE
+# define THUMBS_ARE DEFAULT_THUMBS
+#endif
diff --git a/users/ericgebhart/keymap/map_toprows.h b/users/ericgebhart/keymap/map_toprows.h
new file mode 100644
index 0000000000..893541e8a0
--- /dev/null
+++ b/users/ericgebhart/keymap/map_toprows.h
@@ -0,0 +1,45 @@
+/*
+ Copyright 2022 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/>.
+*/
+// Top Rows commonly called Raise
+#ifdef TOPROWS_LAYER_ENABLE
+
+# undef THUMBS_ARE
+# define THUMBS_ARE TOPROWS_LAYER_THUMBS
+
+# ifdef TOPROWS_BKL_15_NUMS
+T_LAYER(LANG_N(_TOPROWS), ___TOPROWS_3x10___),
+# endif
+
+# ifdef TOPROWS_BKL_19_NUMS
+ T_LAYER(LANG_N(_TOPROWS), ___TOPROWS_BKL19_3x10___),
+# endif
+
+# ifdef TOPROWS_MOD
+ T_LAYER(LANG_N(_TOPROWS), ___TOPROWS_MOD_3x10___),
+# endif
+
+// Not beakl numbers. Give a basic en-qwerty toprows layer.
+#if !defined(TOPROWS_BKL_15_NUMS) && \
+ !defined(TOPROWS_BKL_19_NUMS) && \
+ !defined(TOPROWS_MOD)
+
+ T_LAYER(LANG_N(_TOPROWS), ___RAISE_3x10___),
+#endif
+
+# undef THUMBS_ARE
+# define THUMBS_ARE DEFAULT_THUMBS
+#endif // toprows.