summaryrefslogtreecommitdiffstats
path: root/users/ericgebhart/keymap/map_funcs.h
diff options
context:
space:
mode:
authorEric Gebhart <e.a.gebhart@gmail.com>2022-11-12 00:09:41 +0100
committerGitHub <noreply@github.com>2022-11-11 23:09:41 +0000
commit050472a4d07d07c1d9ae17d2fd26d44e9d95d950 (patch)
tree8c326011ec8cac395a92839ec4b420bf12652fa1 /users/ericgebhart/keymap/map_funcs.h
parent49a78b81145213e2883e6c3beab6d9c136c10085 (diff)
Eric Gebhart user space and keymaps (#17487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/ericgebhart/keymap/map_funcs.h')
-rw-r--r--users/ericgebhart/keymap/map_funcs.h127
1 files changed, 127 insertions, 0 deletions
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