115 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include "quantum.h"
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// Keymap definitions
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
// Layer definitions
 | 
						|
// #define L_COLEMAK 0
 | 
						|
// #define L_QWERTY  1
 | 
						|
// #define L_NUM     2
 | 
						|
// #define L_EXTEND  3
 | 
						|
// #define L_FUNC    4
 | 
						|
// #define L_GAMING  5
 | 
						|
// #define L_SYMBOL  6
 | 
						|
// #define L_LL_R    7
 | 
						|
// #define L_LL_S    8
 | 
						|
// #define L_LL_E    9
 | 
						|
// #define L_LL_I   10
 | 
						|
 | 
						|
// Keyboard aliases
 | 
						|
#define ooooooo KC_TRNS
 | 
						|
 | 
						|
#define MO_FUNC MO(L_FUNC)
 | 
						|
#define TT_NUM  TT(L_NUM)
 | 
						|
#define TG_GAME TG(L_GAMING)
 | 
						|
#define OSL_SYM OSL(L_SYMBOL)
 | 
						|
 | 
						|
#define OSM_LSF OSM(MOD_LSFT)
 | 
						|
#define OSM_RSF OSM(MOD_RSFT)
 | 
						|
 | 
						|
#define KX_CTSF LCTL(KC_LSFT)
 | 
						|
#define KX_STAB LSFT(KC_TAB)
 | 
						|
#define KX_CGR  LCTL(KC_GRV)
 | 
						|
#define KX_PAST LCTL(LGUI(LALT(KC_V)))
 | 
						|
#define KX_SRCH LCTL(LGUI(LALT(KC_S)))
 | 
						|
 | 
						|
#define KX_BKNM LT(L_NUM, KC_BSPC)
 | 
						|
#define KX_DCTL CTL_T(KC_DEL)
 | 
						|
#define KX_NALT ALT_T(KC_ENT)
 | 
						|
#define KX_ECTL CTL_T(KC_ESC)
 | 
						|
#define KX_SPAC LT(L_EXTEND, KC_SPC)
 | 
						|
 | 
						|
#define KX_Z_MT CTL_T(KC_Z)
 | 
						|
#define KX_X_MT GUI_T(KC_X)
 | 
						|
#define KX_C_MT MT(MOD_LCTL | MOD_LALT, KC_C)
 | 
						|
#define KX_D_MT ALT_T(KC_D)
 | 
						|
 | 
						|
#define KX_SLMT CTL_T(KC_SLSH)
 | 
						|
#define KX_DOMT GUI_T(KC_DOT)
 | 
						|
#define KX_COMT MT(MOD_LCTL | MOD_LALT, KC_COMM)
 | 
						|
#define KX_H_MT ALT_T(KC_H)
 | 
						|
 | 
						|
#ifdef L_LL_R
 | 
						|
    #define KC_R_LT LT(L_LL_R, KC_R)
 | 
						|
#else
 | 
						|
    #define KC_R_LT KC_R
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef L_LL_S
 | 
						|
    #define KC_S_LT LT(L_LL_S, KC_S)
 | 
						|
#else
 | 
						|
    #define KC_S_LT KC_S
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef L_LL_E
 | 
						|
    #define KC_E_LT LT(L_LL_E, KC_E)
 | 
						|
#else
 | 
						|
    #define KC_E_LT KC_E
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef L_LL_I
 | 
						|
    #define KC_I_LT LT(L_LL_I, KC_I)
 | 
						|
#else
 | 
						|
    #define KC_I_LT KC_I
 | 
						|
#endif
 | 
						|
 | 
						|
// "Macro" functions
 | 
						|
enum userspace_custom_keycodes {
 | 
						|
    RJ_MAKE = SAFE_RANGE,  // QMK make command
 | 
						|
    RJ_QMKV,               // QMK version
 | 
						|
    RJ_EQ,                 // ==
 | 
						|
    RJ_NEQ,                // !=
 | 
						|
    RJ_GEQ,                // >=
 | 
						|
    RJ_LEQ,                // <=
 | 
						|
    RJ_GEQR,               // => ("greater than or equal - right")
 | 
						|
    RJ_DUND,               // $_
 | 
						|
    RJ_SELS,               // select * (used for PowerShell)
 | 
						|
    RJ_MUTE,               // Discord mute (GUI+Shift+M)
 | 
						|
    RJ_DEAF,               // Discord deafen (GUI+Shift+D)
 | 
						|
    RJ_DOVR                // Toggle Discord overlay (GUI+Shift+O)
 | 
						|
};
 | 
						|
 | 
						|
// Mouse keys
 | 
						|
#define M_UP KC_MS_UP
 | 
						|
#define M_DOWN KC_MS_DOWN
 | 
						|
#define M_LEFT KC_MS_LEFT
 | 
						|
#define M_RIGHT KC_MS_RIGHT
 | 
						|
#define M_LCLIK KC_MS_BTN1
 | 
						|
#define M_RCLIK KC_MS_BTN2
 | 
						|
#define M_MCLIK KC_MS_BTN3
 | 
						|
#define M_WHLUP KC_WH_U
 | 
						|
#define M_WHLDN KC_WH_D
 | 
						|
 | 
						|
// Used in macro definitions
 | 
						|
#define TAP(code) register_code (code); unregister_code (code);
 | 
						|
 | 
						|
// Tap Dance
 | 
						|
#ifdef TAP_DANCE_ENABLE
 | 
						|
#define TD_LAYER_TOGGLE 0
 | 
						|
extern void dance_layer(qk_tap_dance_state_t *state, void *user_data);
 | 
						|
#define TD_LAYR TD(TD_LAYER_TOGGLE)
 | 
						|
#endif // TAP_DANCE_ENABLE
 |