summaryrefslogtreecommitdiff
path: root/users/ericgebhart/extensions/keycodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/ericgebhart/extensions/keycodes.h')
-rwxr-xr-xusers/ericgebhart/extensions/keycodes.h523
1 files changed, 0 insertions, 523 deletions
diff --git a/users/ericgebhart/extensions/keycodes.h b/users/ericgebhart/extensions/keycodes.h
deleted file mode 100755
index eafdfbad43..0000000000
--- a/users/ericgebhart/extensions/keycodes.h
+++ /dev/null
@@ -1,523 +0,0 @@
-#pragma once
-/*
- Copyright 2018-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/>.
-*/
-
-#include "quantum.h"
-#include "process_keycode/process_tap_dance.h"
-#include "eeconfig.h"
-#include "keymap_bepo.h"
-//#include "keymap_us_international.h"
-#include "keymap_us_international_linux.h"
-#include "lang.h"
-#include "ericgebhart.h"
-
-//#define ONESHOT_TAP_TOGGLE 2 /* Tapping this number of times holds the key until tapped once again. */
-
-// #define DEFAULT_LANG EN // US_INT // EN, BEPO, US_INT, EURkey
-
-#define KEY_NAME(NAME, ...) NAME,
-#define BLANK(...)
-
-bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
-
-enum userspace_custom_keycodes {
- // Get all the custom keys from the defs if we can.
- ALT_LOCAL_KEYS_START = SAFE_RANGE,
-#ifdef ALT_LOCAL_ENABLE
-#undef MK_KEY
-#define MK_KEY KEY_NAME
-#undef MK_SKEY
-#define MK_SKEY KEY_NAME
-#include "altlocal_keys.def"
-#undef MK_KEY
-#undef MK_SKEY
-#endif
- ALT_LOCAL_KEYS_END,
-
-#ifdef ACCENTED_KEYS_ENABLE
-#undef ACCENTED
-#define ACCENTED KEY_NAME
-#include "accented_keys.def"
-#undef ACCENTED
-#endif
-
-#ifdef TAP_HOLD_ENABLE
-#undef TP_TPL
-#define TP_TPL KEY_NAME
-#undef TP_SML
-#define TP_SML KEY_NAME
-#undef OPEN_OCL
-#define OPEN_OCL KEY_NAME
-#undef OPEN_OCL_ND
-#define OPEN_OCL_ND KEY_NAME
-#include "tap_hold.def"
-#undef OPEN_OCL
-#undef OPEN_OCL_ND
-#undef TP_TPL
-#undef TP_SML
-#endif
-
-#ifdef UNICODE_ENABLE
-#undef UC_STR
-#define UC_STR KEY_NAME
-#include "unicode.def"
-#undef UC_STR
-#endif
-
-#ifdef SEND_STRING_ENABLE
-#undef SEND_STR
-#define SEND_STR KEY_NAME
-#undef SEND_STR_DELAY
-#define SEND_STR_DELAY KEY_NAME
-#include "send_string.def"
-#undef SEND_STR
-#undef SEND_STR_DELAY
-#endif
-
-#ifdef SMART_LOCK_ENABLE
-#undef SMLM
-#define SMLM KEY_NAME
-#undef SMLL
-#define SMLL KEY_NAME
-#include "smart_lock.def"
-#undef SMLM
-#undef SMLL
-#endif
-
-#ifdef MOD_LOCK_ENABLE
-#undef IGNORE_KC
-#define IGNORE_KC BLANK
-#undef MODL
-#define MODL KEY_NAME
-#include "mod_lock.def"
-#undef IGNORE_KC
-#undef MODL
-#endif
-
-
-#undef IGNORE_KEY
-#define IGNORE_KEY BLANK
-#undef CANCEL_KEY
-#define CANCEL_KEY BLANK
-#undef ONESHOT
-#undef NSHOT
-#define ONESHOT KEY_NAME
-#define NSHOT KEY_NAME
-
-#ifdef NSHOT_ENABLE
-#include "nshot.def"
-#else
- TS_RCTL,
- TS_LCTL,
-#endif
-
-#ifdef ONESHOT_MOD_ENABLE
-#include "oneshot.def"
-#endif
-
-#undef IGNORE_KEY
-#undef CANCEL_KEY
-#undef ONESHOT
-#undef NSHOT
-
-#ifdef SWAPPER_ENABLE
-#undef SWAPPER_KEY
-#define SWAPPER_KEY KEY_NAME
-#include "swapper.def"
-#undef SWAPPER_KEY
-#endif
-
-#ifdef NOT_DEAD_ENABLE
-#undef NOT_DEAD
-#define NOT_DEAD KEY_NAME
-#include "not_dead.def"
-#undef NOT_DEAD
-#endif
-
-#include "custom_keys.def"
- NEW_SAFE_RANGE
-};
-
-#define FIRST_LAYER (BEGINNING_OF_BASE_LAYERS + 1)
-
-#define TL_DQUO TLKC(_DQUO)
-#define TL_QUOT TLKC(_QUOT)
-#define TL_COMM TLKC(_COMM)
-#define TL_DOT TLKC(_DOT)
-#define TL_SCLN TLKC(_SCLN)
-#define TL_SLSH TLKC(_SLSH)
-#define TL_EXLM TLKC(_EXLM)
-#define TL_MINS TLKC(_MINS)
-#define TL_LPRN TLKC(_LPRN)
-#define TL_LCBR TLKC(_LCBR)
-#ifdef SYMBOL_LAYER_ENABLE
-#define TL_DOT_SYMB LT(LN_SYMB, LANG_KC(TL_DOT))
-#endif
-
-
-#define BP_LT BP_LABK
-#define BP_GT BP_RABK
-#define BP_TAB KC_TAB
-#define US_GT US_RABK
-#define US_LT US_LABK
-#define US_TAB KC_TAB
-#define US_DCMM KC_COMM // us doesn't have this dead key.
-
-// this is odd, there is interplay between this and
-// the not-dead extension. - and tap-hold not-dead.
-#undef US_TILD
-#define US_TILD KC_TILD
-// redefine us_circ so we actually get a circ.
-#undef US_CIRC
-#define US_CIRC KC_CIRC
-#define US_EQUAL KC_EQUAL
-// redefine us_quote so we actually get a quote.
-#undef US_QUOT
-#define US_QUOT KC_QUOT
-
-#define US_PRINT_SCREEN KC_PRINT_SCREEN
-#define US_SCROLL_LOCK KC_SCROLL_LOCK
-#define US_PAUSE KC_PAUSE
-#define BP_PRINT_SCREEN KC_PRINT_SCREEN
-#define BP_SCROLL_LOCK KC_SCROLL_LOCK
-#define BP_PAUSE KC_PAUSE
-
-#define BP_F1 KC_F1
-#define BP_F2 KC_F2
-#define BP_F3 KC_F3
-#define BP_F4 KC_F4
-#define BP_F5 KC_F5
-#define BP_F6 KC_F6
-#define BP_F7 KC_F7
-#define BP_F8 KC_F8
-#define BP_F9 KC_F9
-#define BP_F10 KC_F10
-#define BP_F11 KC_F11
-#define BP_F12 KC_F12
-#define BP_TRNS KC_TRNS
-
-#define US_F1 KC_F1
-#define US_F2 KC_F2
-#define US_F3 KC_F3
-#define US_F4 KC_F4
-#define US_F5 KC_F5
-#define US_F6 KC_F6
-#define US_F7 KC_F7
-#define US_F8 KC_F8
-#define US_F9 KC_F9
-#define US_F10 KC_F10
-#define US_F11 KC_F11
-#define US_F12 KC_F12
-#define US_TRNS KC_TRNS
-
-#ifdef KEYPAD_LAYER_ENABLE
-#define TT_KEYPAD TT(LANG_N(_KEYPAD))
-#define MO_KEYPAD MO(LANG_N(_KEYPAD))
-#else
-#define TT_KEYPAD ___
-#define MO_KEYPAD ___
-#endif
-
-#ifdef SYMBOL_LAYER_ENABLE
-#define TT_SYMB TT(LANG_N(_SYMB))
-#define MO_SYMB MO(LANG_N(_SYMB))
-#define OSL_SYMB OSL(LANG_N(_SYMB))
-#else
-#define TT_SYMB ___
-#define MO_SYMB ___
-#define OSL_SYMB ___
-#endif
-
-#ifdef TOPROWS_LAYER_ENABLE
-#define TT_TOPROWS TT(LANG_N(_TOPROWS))
-#define MO_TOPROWS MO(LANG_N(_TOPROWS))
-#else
-#define TT_TOPROWS ___
-#define MO_TOPROWS ___
-#endif
-
-#ifdef RGB_LAYER_ENABLE
-#define MO_RGB MO(_RGB)
-#else
-#define MO_RGB ___
-#endif
-
-#ifdef ADJUST_LAYER_ENABLE
-#define MO_ADJUST MO(_ADJUST)
-#else
-#define MO_ADJUST ___
-#endif
-
-#ifdef ACCENTS_MORTE_LAYER_ENABLE
-//#define LN_ACCENTS_MORTE LANG_N(_ACCENTS_MORTE)
-#define OSL_ACCENTS_MORTE OSL(LANG_N(_ACCENTS_MORTE))
-#else
-#define OSL_ACCENTS_MORTE ___
-#endif
-
-#ifdef ACCENTS_LAYER_ENABLE
-#define LN_ACCENTS LANG_N(_ACCENTS)
-#define OSL_ACCENTS OSL(LN_ACCENTS)
-#else
-#define OSL_ACCENTS ___
-#endif
-
-#ifdef MORTE_LAYER_ENABLE
-#define LN_MORTE LANG_N(_MORTE)
-#define OSL_MORTE OSL(LN_MORTE)
-#else
-#define OSL_MORTE ___
-#endif
-
-#define CTLGUI_T(kc) MT(MOD_LGUI | MOD_LCTL, kc)
-#define SFTGUI_T(kc) MT(MOD_LGUI | MOD_LSFT, kc)
-#define ALTGUI_T(kc) MT(MOD_LGUI | MOD_LALT, kc)
-
-#define ALT_ENT ALGR_T(KC_ENT) // Alt oor nter
-#define CTL_ENT CTL_T(KC_ENT) // ctrl or space
-#define CTL_SPC CTL_T(KC_SPC) // ctrl or space
-#define CTL_BSPC CTL_T(KC_BSPC) // ctrl or backspace
-#define ALT_DEL ALT_T(KC_DEL) // Alt or delete
-#define GUI_ESC GUI_T(KC_ESC) // Gui or escape
-#define ALGR_SYMB ALGR_T(TG(LANG_N(_SYMB))) // Alt gre or toggle symbol layer
-
-// one shot on tap, or hold like usual
-#define OSLCTL_CTL CTL_T(OS_LCTL)
-#define OSLSFT_SFT SFT_T(OS_LSFT)
-#define OSLALT_ALT ALT_T(OS_LALT)
-#define OSLGUI_GUI GUI_T(OS_LGUI)
-
-/* miryoku */
-/* esc_media, space_navnm, tab_navm, ENT_SYM, BSPC_TOPR, del_fun */
-/* hands down */
-/* TL_COMM, TL_DOT_SYMB, GUI_ESC, ALT_ENT, SPC_TOPR, BSPC */
-
-// Lots of LT options. My thumb keys.
-#ifdef TOPROWS_LAYER_ENABLE
-#define LN_TOPROWS LANG_N(_TOPROWS)
-#else
-#define LN_TOPROWS KC_NO
-#endif
-
-#ifdef SYMBOL_LAYER_ENABLE
-# define LN_SYMB LANG_N(_SYMB)
-# define TH_LTR_SYM LT(LN_SYMB, THUMB_LETTER)
-#else
-# define TH_LTR_SYM THUMB_LETTER
-#endif
-
-#define TH_LTR_NAV LT(_NAV, THUMB_LETTER)
-
-#define LN_KEYPAD LANG_N(_KEYPAD)
-
-#define ACCENTS_RALT MT(MOD_RALT, OSL_ACCENTS)
-#define ACCENTS_CTL MT(MOD_LCTL, OSL_ACCENTS)
-#define ENT_SYM LT(LN_SYMB, KC_ENT)
-#define ENT_NAV LT(_NAV, KC_ENT)
-#define ENT_TOPR LT(LN_TOPROWS, KC_ENT)
-
-#define ESC_TOPR LT(LN_TOPROWS, KC_ESC)
-#define ESC_SYMB LT(LN_SYMB, KC_ESC)
-#define ESC_NUM LT(LN_KEYPAD, KC_ESC)
-#define ESC_MEDIA LT(_MEDIA, KC_ESC)
-
-#define DEL_FUN LT(_FUN, KC_DEL)
-#define TAB_NAVM LT(_NAVm, KC_TAB)
-#define TAB_NUM LT(LN_KEYPAD, KC_TAB)
-#define I_SYMB LT(LN_SYMB, KC_I)
-
-#define SPC_NAVm LT(_NAVm, KC_SPC)
-#define SPC_NAVnm LT(_NAVnm, KC_SPC)
-#define SPC_NAV LT(_NAV, KC_SPC)
-#define SPC_SYMB LT(LN_SYMB, KC_SPC)
-#define SPC_TOPR LT(LN_TOPROWS, KC_SPC)
-#define SPC_LAYR LT(_LAYERS, KC_SPC)
-#define SPC_ADJ LT(_ADJUST, KC_SPC)
-#define SPC_NUM LT(LN_KEYPAD, KC_SPC)
-
-#define BSPC_NAVm LT(_NAVm, KC_BSPC)
-#define BSPC_NAV LT(_NAV, KC_BSPC)
-#ifdef SYMBOL_LAYER_ENABLE
-#define BSPC_SYMB LT(LN_SYMB, KC_BSPC)
-#else
-#define BSPC_SYMB KC_BSPC
-#endif
-#define BSPC_TOPR LT(LN_TOPROWS, KC_BSPC)
-#define BSPC_NUM LT(LN_KEYPAD, KC_BSPC)
-#define BSPC_ALT MT(MOD_LALT, KC_BSPC)
-#define BSPC_MEDIA LT(_MEDIA, KC_BSPC)
-
-#define KC_BKTAB LSFT(KC_TAB)
-
-// layer toggles
-#define LAYER_OSL OSL(_LAYERS)
-#define SYM_OSL OSL(LN_SYMB)
-#define SYM_TG TG(LN_SYMB)
-#define SYM_MO MO(LN_SYMB)
-#define NAV_TG TG(_NAV)
-#define COMBO_REF_TG_EN TG(_COMBO_REF)
-#define NUM_OSL OSL(LN_KEYPAD)
-#define NUM_TO TO(LN_KEYPAD)
-#define FUN_OSL OSL(LN_FUNC)
-#define SYS_OSL OSL(LN_SYSTEM)
-#define SYS_TG TG(LN_SYSTEM)
-
-// Shortcuts
-#define S_CUT S(KC_DEL)
-#define S_COPY C(KC_INS)
-#define S_PASTE S(KC_INS)
-#define S_UNDO C(KC_Z)
-#define S_REDO C(KC_Y)
-#define S_SAVE C(KC_S)
-#define S_ALL C(KC_A)
-#define S_BACK A(KC_LEFT)
-#define S_FWD A(KC_RIGHT)
-#define C_BSPC C(KC_BSPC)
-#define SCREEN S(C(KC_PSCR))
-
-// One Shot Mods keycodes,
-#define KC_MLSF OSM(MOD_LSFT)
-#define KC_MRSF OSM(MOD_RSFT)
-#define OS_LGUI OSM(MOD_LGUI)
-#define OS_RGUI OSM(MOD_RGUI)
-#define OS_LSFT OSM(MOD_LSFT)
-#define OS_RSFT OSM(MOD_RSFT)
-#define OS_LCTL OSM(MOD_LCTL)
-#define OS_RCTL OSM(MOD_RCTL)
-#define OS_LALT OSM(MOD_LALT)
-#define OS_RALT OSM(MOD_RALT)
-#define ALT_APP ALT_T(KC_APP)
-
-#define MG_NKRO MAGIC_TOGGLE_NKRO
-
-#define UC_IRNY UC(0x2E2E)
-#define UC_CLUE UC(0x203D)
-
-
-//// TAP DANCE
-
-typedef struct {
- bool is_press_action;
- int state;
-} tdtap;
-
-enum {
- SINGLE_TAP = 1,
- SINGLE_HOLD = 2,
- DOUBLE_TAP = 3,
- DOUBLE_HOLD = 4,
- DOUBLE_SINGLE_TAP = 5, //send two single taps
- TRIPLE_TAP = 6,
- TRIPLE_HOLD = 7
-};
-
-//Tap Dance Declarations
-enum {
- TD_ESC_CAPS = 0,
- TD_TAB_BKTAB = 1,
- TD_MDIA_SYMB = 2,
- TD_HOME_END = 3,
- TD_XMONAD_ESC = 4,
- TD_DEF_LAYER_SW = 5,
- TD_DEF_OS_LAYER_SW = 6,
- TD_MOUSE_BTNS = 7,
- TD_DVORAK_BEPO = 8,
- TD_UP_HOME = 9,
- TD_DOWN_END = 10,
- TD_RIGHT_TAB = 11,
- TD_LEFT_BACKTAB = 12
-};
-
-
-// Tap dance
-#define TAB_BKTAB TD(TD_TAB_BKTAB) // Tab or backtab tapdance.
-#define MDIA_SYMB_KP_LAYERS TD(TD_MDIA_SYMB) // MDIA, symb, keypad, layouts layer tapdance toggle.
-#define DEF_LAYER_SW TD(TD_DEF_LAYER_SW) // dvorak, dvorak_on_bepo, bepo default layer
-#define DEF_OS_LAYER_SW TD(TD_DEF_OS_LAYER_SW) // dvorak, dvorak_on_bepo, bepo default layer
-#define HOME_END TD(TD_HOME_END) // home or end tapdance.
-#define XMONAD_ESC TD(TD_XMONAD_ESC) // Escape, dvorak, media or symb. - tap and hold tap dance. 1-4
-#define DVORAK_ET_BEPO TD(TD_DVORAK_BEPO) // Escape, dvorak, media or symb. - tap and hold tap dance. 1-4
-#define TDMOUSE_BTNS TD(TD_MOUSE_BTNS) // hmmm. 1-5
-#define RIGHT_TAB TD(TD_RIGHT_TAB) // Bad idea these 4. Maybe with good timing...
-#define LEFT_BACKTAB TD(TD_LEFT_BACKTAB)
-#define UP_HOME TD(TD_UP_HOME)
-#define DOWN_END TD(TD_DOWN_END) // No! Down Down Not End....
-
-// HOME ROW LAYER TOGGLE (LT) and Shift.
-// both sides of the home row have "shift, ___, media , symb, ___" and "___, symb, media, ___, shift".
-// so pinky fingers are shift when held and the index and second fingers are symbol and
-// media layers when held.
-
-// The most portable copy/paste keys (windows (mostly), linux, and some terminal emulators).
-// The KC_CCCV key takes care of the last two...
-#define MK_CUT LSFT(KC_DEL) // shift + delete
-#define MK_COPY LCTL(KC_INS) // ctrl + insert
-#define MK_PASTE LSFT(KC_INS) // shift + insert
-#define EOT LCTL(KC_D)
-#define NAK LCTL(KC_U)
-#define XPASTE LCTL(LSFT(KC_V))
-#define UNDO LCTL(KC_Z)
-#define XCOPY LCTL(LSFT(KC_C))
-
-#undef ___ //kint defines it as KC_NO
-#define ___ KC_TRNS
-#define XXX KC_NO
-#define ____ _TRNS
-
-// Blocking keys
-#define _X_ XXX
-#define ___X___ XXX
-#define ___X2___ XXX, XXX
-#define ___X3___ ___X2___, XXX
-#define ___X4___ ___X3___, XXX
-#define ___X5___ ___X4___, XXX
-#define ___X6___ ___X5___, XXX
-#define ___X12___ ___X6___, ___X6___
-#define ___X15___ ___X5___, ___X5___, ___X5___
-
-// Transparent keys
-#define ___2___ ___, ___
-#define ___3___ ___2___, ___
-#define ___4___ ___3___, ___
-#define ___5___ ___4___, ___
-#define ___6___ ___5___, ___
-#define ___10___ ___6___, ___4___
-#define ___12___ ___6___, ___6___
-#define ___14___ ___5___, ___4___, ___5___
-#define ___15___ ___5___, ___5___, ___5___
-#define ___16___ ___15___, ___
-
-#define ____2_ ____, ____
-#define ____3_ ____2_, ____
-#define ____4_ ____3_, ____
-#define ____5_ ____4_, ____
-#define ____6_ ____5_, ____
-#define ____10_ ____6_, ____4_
-#define ____12_ ____6_, ____6_
-#define ____14_ ____5_, ____4_, ____5_
-#define ____15_ ____5_, ____5_, ____5_
-#define ____16_ ____15_, ____
-
-int on_qwerty(void);
-
-#ifdef TAP_DANCES_ENABLE
-int cur_dance (tap_dance_state_t *state);
-
-//for the x tap dance. Put it here so it can be used in any keymap
-void x_finished (tap_dance_state_t *state, void *user_data);
-void x_reset (tap_dance_state_t *state, void *user_data);
-#endif