mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-02 05:34:17 -04:00
- Brought back Mouse Z for temporary mouse usage - Combined Mouse and Function Keys into one Layer - Cleaned up unused code (e.g. combos, key overrides) - Updated all keyboards with new layer - Updated documentation - I think this will be it for now. Making a list somewhere else for future enhancements
254 lines
8.6 KiB
C
254 lines
8.6 KiB
C
#pragma once
|
|
#include QMK_KEYBOARD_H
|
|
#include "features/taphold.h"
|
|
|
|
bool isLunaJumping(void);
|
|
bool isJumpShown(void);
|
|
void setLunaJumped(void);
|
|
|
|
// put the default base layers first
|
|
enum layers {
|
|
_QWERTY = 0,
|
|
FIRST_DEFAULT_LAYER = 0,
|
|
_COLEMAK_DH,
|
|
_GAME,
|
|
_NAVIGATION,
|
|
_NUMBER,
|
|
_SYMBOL,
|
|
_MOUSE_FUNC,
|
|
_CONFIG
|
|
};
|
|
|
|
// start at the second layer
|
|
#define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 1)
|
|
#define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2)
|
|
#define NUM_DEFAULT_LAYERS 3
|
|
|
|
enum keycodes {
|
|
//These are only here to make the taphold/defines unique
|
|
TH_LCBR = QK_USER,
|
|
TH_LABK,
|
|
TH_LBRC,
|
|
TH_LPRN,
|
|
TH_DQUO,
|
|
TH_SQUO,
|
|
|
|
TH_BSLS,
|
|
TH_SLSH,
|
|
TH_PIPE,
|
|
|
|
TH_COMM,
|
|
TH_DOT,
|
|
TH_PERC,
|
|
|
|
TH_EQL,
|
|
TH_MINS,
|
|
TH_GRV,
|
|
TH_SCLN,
|
|
TH_QUOT,
|
|
|
|
PN_BOOT,
|
|
|
|
BASELYR,
|
|
RBSELYR
|
|
};
|
|
|
|
#define ___x___ KC_NO
|
|
|
|
// layer changes
|
|
#define NAV MO(_NAVIGATION)
|
|
#define NUM MO(_NUMBER)
|
|
#define MF_Z LT(_MOUSE_FUNC, KC_Z)
|
|
#define CONFIG MO(_CONFIG)
|
|
|
|
// Windows Shortcuts
|
|
#define SC_COPY LCTL(KC_C)
|
|
#define SC_CUT LCTL(KC_X)
|
|
#define SC_UNDO LCTL(KC_Z)
|
|
#define SC_PAST LCTL(KC_V)
|
|
#define SC_REDO LCTL(KC_Y)
|
|
#define SC_SNIP LGUI(LSFT(KC_S))
|
|
#define SC_FILE LGUI(KC_E)
|
|
|
|
// Zoom for encoders
|
|
#define ZOOMIN LCTL(KC_WH_U)
|
|
#define ZOOMOUT LCTL(KC_WH_D)
|
|
#define ZOOMRST LCTL(KC_0)
|
|
|
|
/*
|
|
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
|
|
- If the feature is disabled then the key is just the normal key
|
|
- We will only define things that are used across different layers. Entire layers are turned off in the keymap
|
|
*/
|
|
|
|
// one shot mods
|
|
#define TR_LSFT OSM(MOD_LSFT)
|
|
#define TR_LCTL OSM(MOD_LCTL)
|
|
#define TR_LALT OSM(MOD_LALT)
|
|
#define TR_LGUI OSM(MOD_LGUI)
|
|
|
|
|
|
// tap hoLd. These will be intercepted and overridden. The LT will be ignored
|
|
// Brackets: open and close brackets and put the cursor inside
|
|
#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
|
|
#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
|
|
#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
|
|
#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
|
|
#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
|
|
#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
|
|
|
|
// double tap
|
|
#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
|
|
#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
|
|
#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
|
|
|
|
// Custom override without holding shift
|
|
#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
|
|
#define TR_DOT LT(FIRST_DEFAULT_LAYER, TH_DOT)
|
|
#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
|
|
|
|
// auto shift
|
|
#define TR_EQL LT(FIRST_DEFAULT_LAYER, TH_EQL)
|
|
#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
|
|
#define TR_GRV LT(FIRST_DEFAULT_LAYER, TH_GRV)
|
|
#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
|
|
#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
|
|
|
|
|
|
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
|
|
//these mouse codes are defined in charybdis.h
|
|
# define TR_SNIP SNIPING
|
|
# define TR_DRGS DRG_TOG
|
|
# define TR_SDPI S_D_MOD //sniping dpi
|
|
# define TR_PDPI DPI_MOD //pointer dpi
|
|
#else
|
|
# define TR_SNIP ___x___
|
|
# define TR_DRGS KC_SCRL //use host status for ploopy nano drag scroll
|
|
# define TR_SDPI ___x___
|
|
# define TR_PDPI KC_NUM //use host status for ploopy nano dpi switch
|
|
#endif //KEYBOARD_bastardkb_charybdis_3x5
|
|
|
|
|
|
#if defined(DYNAMIC_MACRO_ENABLE)
|
|
# define TR_DMR1 DM_REC1
|
|
# define TR_DMP1 DM_PLY1
|
|
#else
|
|
# define TR_DMR1 ___x___
|
|
# define TR_DMP1 ___x___
|
|
#endif //DYNAMIC_MACRO_ENABLE
|
|
|
|
|
|
#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
|
|
# define TR_RHUI RGB_HUI
|
|
# define TR_RSAI RGB_SAI
|
|
# define TR_RVAI RGB_VAI
|
|
# define TR_RSPI RGB_SPI
|
|
# define TR_RTOG RGB_TOG
|
|
# define TR_RMOD RGB_MOD
|
|
# define TR_RRMD RGB_RMOD
|
|
#else
|
|
# define TR_RHUI ___x___
|
|
# define TR_RSAI ___x___
|
|
# define TR_RVAI ___x___
|
|
# define TR_RSPI ___x___
|
|
# define TR_RTOG ___x___
|
|
# define TR_RMOD ___x___
|
|
# define TR_RRMD ___x___
|
|
#endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
|
|
|
|
|
|
#if defined(HAPTIC_ENABLE)
|
|
# define TR_HTOG HF_TOGG
|
|
# define TR_HFBK HF_FDBK
|
|
# define TR_HNXT HF_NEXT
|
|
# define TR_HCNU HF_CONU
|
|
# define TR_HRST HF_RST
|
|
#else
|
|
# define TR_HTOG ___x___
|
|
# define TR_HFBK ___x___
|
|
# define TR_HNXT ___x___
|
|
# define TR_HCNU ___x___
|
|
# define TR_HRST ___x___
|
|
#endif //HAPTIC_ENABLe
|
|
|
|
|
|
#if defined(AUDIO_ENABLE)
|
|
# define TR_ATOG AU_TOGG
|
|
# define TR_CTOG CK_TOGG
|
|
# define TR_CKUP CK_UP
|
|
# define TR_CRST CK_RST
|
|
#else
|
|
# define TR_ATOG ___x___
|
|
# define TR_CTOG ___x___
|
|
# define TR_CKUP ___x___
|
|
# define TR_CRST ___x___
|
|
#endif //AUDIO_ENABLE
|
|
|
|
|
|
#define _NONE_3__________________ ___x___, ___x___, ___x___
|
|
#define _NONE_5____________________________________ ___x___, ___x___, ___x___, ___x___, ___x___
|
|
#define _GACS_MODS________________________ TR_LGUI, TR_LALT, TR_LCTL, TR_LSFT
|
|
#define _SCAG_MODS________________________ TR_LSFT, TR_LCTL, TR_LALT, TR_LGUI
|
|
#define _UCCPR_L___________________________________ SC_UNDO, SC_CUT, SC_COPY, SC_PAST, SC_REDO
|
|
|
|
#define _BASE_L4_________________ ___x___, NUM, TR_LSFT
|
|
#define _BASE_R4_________________ KC_SPC, NAV, KC_MUTE
|
|
#define _LAYER_TRANS_____________ ___x___, _______, ___x___
|
|
|
|
|
|
//___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___,
|
|
|
|
#define LAYER_QWERTY \
|
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
|
|
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \
|
|
MF_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
|
|
_BASE_L4_________________, _BASE_R4_________________
|
|
|
|
|
|
#define LAYER_COLEMAK_DH \
|
|
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \
|
|
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
|
|
MF_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
|
|
_BASE_L4_________________, _BASE_R4_________________
|
|
|
|
|
|
#define LAYER_GAME \
|
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_9, KC_ESC, \
|
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_6, KC_GRV, \
|
|
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
|
|
KC_ENT, KC_SPC, KC_LSFT, _BASE_R4_________________
|
|
|
|
|
|
#define LAYER_NAVIGATION \
|
|
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, ___x___, KC_CAPS, CONFIG, \
|
|
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
|
|
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
|
|
ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________
|
|
|
|
|
|
#define LAYER_NUMBER \
|
|
KC_ESC, SC_SNIP, SC_FILE, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
|
_GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \
|
|
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
|
|
_LAYER_TRANS_____________, _BASE_R4_________________
|
|
|
|
|
|
#define LAYER_SYMBOL \
|
|
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
|
___x___, TR_LCBR, KC_RCBR, KC_EXLM, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
|
___x___, TR_LABK, KC_RABK, TR_BSLS, TR_PIPE, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
|
|
_LAYER_TRANS_____________, _LAYER_TRANS_____________
|
|
|
|
|
|
#define LAYER_MOUSE_FUNC \
|
|
___x___, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \
|
|
_GACS_MODS________________________, TR_DRGS, ___x___, KC_F4, KC_F5, KC_F6, KC_F11, \
|
|
_______, KC_BTN5, KC_BTN4, KC_BTN3, TR_SNIP, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \
|
|
___x___, KC_BTN1, KC_BTN2, TR_PDPI, TR_SDPI, ___x___
|
|
|
|
|
|
#define LAYER_CONFIG \
|
|
TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR, QK_BOOT, _______, \
|
|
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, BASELYR, \
|
|
___x___, ___x___, ___x___, ___x___, TR_RTOG, TR_RMOD, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
|
|
BASELYR, TR_DMR1, TR_DMP1, TR_DMP2, TR_DMR2, TR_RTOG
|