diff options
Diffstat (limited to 'users/gordon/gordon.h')
-rw-r--r-- | users/gordon/gordon.h | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/users/gordon/gordon.h b/users/gordon/gordon.h new file mode 100644 index 0000000000..548c630496 --- /dev/null +++ b/users/gordon/gordon.h @@ -0,0 +1,157 @@ +#ifndef GORDON +#define GORDON + +#include "quantum.h" +#include "process_keycode/process_tap_dance.h" + + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define ________ KC_TRNS +#define _________ KC_TRNS +#define XXXXXXX KC_NO + +// KC codes that are too long +#define DOLLAR KC_DOLLAR +#define LSQUIGLY KC_LBRACKET +#define RSQUIGLY KC_RBRACKET +#define NUMLOCK KC_NUMLOCK +#define CAPLOCK KC_CAPSLOCK +#define BK_SLASH KC_BSLASH +#define ASTERSK KC_KP_ASTERISK + +// Navigation +#define SNAPLEFT LGUI(KC_LEFT) +#define SNAPRGHT LGUI(KC_RIGHT) +#define SNAPUP LGUI(KC_UP) +#define SNAPDOWN LGUI(KC_DOWN) +#define PREVTAB LCTL(LSFT(KC_TAB)) +#define NEXTTAB LCTL(KC_TAB) +#define WORKRIGHT LCTL(LGUI(KC_RIGHT)) +#define WORKLEFT LCTL(LGUI(KC_LEFT)) + +// KC/modifier hold +#define CTRL_F CTL_T(KC_F) +#define CTRL_J CTL_T(KC_J) +#define CTRL_Z CTL_T(KC_Z) +#define ALT_V ALT_T(KC_V) +#define ALT_M ALT_T(KC_M) +#define WIN_G GUI_T(KC_G) +#define WIN_H GUI_T(KC_H) +#define HYPER_X ALL_T(KC_X) +#define HYPE_DOT ALL_T(KC_DOT) +#define MEH_S MEH_T(KC_S) +#define MEH_L MEH_T(KC_L) +#define ALT_HOME ALT_T(KC_HOME) + + +// KC/Layer Hold +#define NAV_E LT(_NAV,KC_E) +#define NUMPAD_D LT(_NUMPAD,KC_D) +#define MOUSE_C LT(_MOUSE,KC_C) +#define SYMB_BSP LT(_SYMBOLS,KC_BSPACE) +#define COL_MOUS LT(_MOUSE,KC_SCOLON) +#define SPAC_SYM LT(_SYMBOLS,KC_SPACE) + +// Double Modifier ONLY hold +#define ALT_SHFT LSFT(KC_LALT) +#define CTR_SHFT LSFT(KC_LCTL) + +// KC/Double modifier Hold +#define CTR_SH_W MT(MOD_LCTL|MOD_LSFT,KC_W) +#define CTR_AL_R MT(MOD_LCTL|MOD_LALT,KC_R) + +//MISC +#define PRINTSCR KC_PSCREEN +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +typedef struct { + bool is_press_action; + int state; +} xtap; + +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 +}; + +enum gordon_layers +{ + _QWERTY = 0, + _SYMBOLS, + _MOUSE, + _NUMPAD, + _NAV, + _MACROS, + _FUNCTION, + _TEXTNAV +}; + + + +void register_hyper (void); +void unregister_hyper (void); + +void register_ctrl_a (void); +void unregister_ctrl_a (void); + +void register_alt_f7 (void); +void unregister_alt_f7 (void); + +void register_shift_f6 (void); +void unregister_shift_f6 (void); + +void register_ctrl_shift (void); +void unregister_ctrl_shift (void); + +void register_alt_shift (void); +void unregister_alt_shift (void); + +int cur_dance (qk_tap_dance_state_t *state); +int hold_cur_dance (qk_tap_dance_state_t *state); + +void x_finished (qk_tap_dance_state_t *state, void *user_data); +void x_reset (qk_tap_dance_state_t *state, void *user_data); + +void h_finished (qk_tap_dance_state_t *state, void *user_data); +void h_reset (qk_tap_dance_state_t *state, void *user_data); + +void tab_finished (qk_tap_dance_state_t *state, void *user_data); +void tab_reset (qk_tap_dance_state_t *state, void *user_data); + +void comma_finished (qk_tap_dance_state_t *state, void *user_data); +void comma_reset (qk_tap_dance_state_t *state, void *user_data); + +void bt_finished (qk_tap_dance_state_t *state, void *user_data); +void bt_reset (qk_tap_dance_state_t *state, void *user_data); + +// Macro Declarations +enum { + INFOQM, + TIL_SLASH, + DEREF, + EQRIGHT, + TILD3, + TICK3, + ALTTAB_START, + ALTTAB_END +}; + +enum secret_strings { + KC_SECRET_1 = SAFE_RANGE, + KC_SECRET_2, + KC_SECRET_3, + KC_SECRET_4, + KC_SECRET_5, +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); + +#endif
\ No newline at end of file |