mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-26 19:18:03 +06:00
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
|