]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/replicaJunction/replicaJunction.h
Fix process_combo which assign -1 to uint16_t (#3697)
[qmk_firmware.git] / users / replicaJunction / replicaJunction.h
1 #pragma once
2
3 #include "quantum.h"
4
5 ///////////////////////////////////////////////////////////////////////////////
6 // Keymap definitions
7 ///////////////////////////////////////////////////////////////////////////////
8
9 // Layer definitions
10 // #define L_COLEMAK 0
11 // #define L_QWERTY  1
12 // #define L_NUM     2
13 // #define L_EXTEND  3
14 // #define L_FUNC    4
15 // #define L_GAMING  5
16 // #define L_SYMBOL  6
17 // #define L_LL_R    7
18 // #define L_LL_S    8
19 // #define L_LL_E    9
20 // #define L_LL_I   10
21
22 // Keyboard aliases
23 #define _______ KC_TRNS
24 #define ooooooo KC_TRNS
25
26 #define MO_FUNC MO(L_FUNC)
27 #define TT_NUM  TT(L_NUM)
28 #define TG_GAME TG(L_GAMING)
29 #define OSL_SYM OSL(L_SYMBOL)
30
31 #define OSM_LSF OSM(MOD_LSFT)
32 #define OSM_RSF OSM(MOD_RSFT)
33
34 #define KX_CTSF LCTL(KC_LSFT)
35 #define KX_STAB LSFT(KC_TAB)
36 #define KX_CGR  LCTL(KC_GRV)
37 #define KX_PAST LCTL(LGUI(LALT(KC_V)))
38 #define KX_SRCH LCTL(LGUI(LALT(KC_S)))
39
40 #define KX_BKNM LT(L_NUM, KC_BSPC)
41 #define KX_DCTL CTL_T(KC_DEL)
42 #define KX_NALT ALT_T(KC_ENT)
43 #define KX_ECTL CTL_T(KC_ESC)
44 #define KX_SPAC LT(L_EXTEND, KC_SPC)
45
46 #define KX_Z_MT CTL_T(KC_Z)
47 #define KX_X_MT GUI_T(KC_X)
48 #define KX_C_MT MT(MOD_LCTL | MOD_LALT, KC_C)
49 #define KX_D_MT ALT_T(KC_D)
50
51 #define KX_SLMT CTL_T(KC_SLSH)
52 #define KX_DOMT GUI_T(KC_DOT)
53 #define KX_COMT MT(MOD_LCTL | MOD_LALT, KC_COMM)
54 #define KX_H_MT ALT_T(KC_H)
55
56 #ifdef L_LL_R
57     #define KC_R_LT LT(L_LL_R, KC_R)
58 #else
59     #define KC_R_LT KC_R
60 #endif
61
62 #ifdef L_LL_S
63     #define KC_S_LT LT(L_LL_S, KC_S)
64 #else
65     #define KC_S_LT KC_S
66 #endif
67
68 #ifdef L_LL_E
69     #define KC_E_LT LT(L_LL_E, KC_E)
70 #else
71     #define KC_E_LT KC_E
72 #endif
73
74 #ifdef L_LL_I
75     #define KC_I_LT LT(L_LL_I, KC_I)
76 #else
77     #define KC_I_LT KC_I
78 #endif
79
80 // "Macro" functions
81 enum userspace_custom_keycodes {
82     RJ_MAKE = SAFE_RANGE,  // QMK make command
83     RJ_QMKV,               // QMK version
84     RJ_EQ,                 // ==
85     RJ_NEQ,                // !=
86     RJ_GEQ,                // >=
87     RJ_LEQ,                // <=
88     RJ_GEQR,               // => ("greater than or equal - right")
89     RJ_DUND,               // $_
90     RJ_SELS,               // select * (used for PowerShell)
91     RJ_MUTE,               // Discord mute (GUI+Shift+M)
92     RJ_DEAF,               // Discord deafen (GUI+Shift+D)
93     RJ_DOVR                // Toggle Discord overlay (GUI+Shift+O)
94 };
95
96 // Mouse keys
97 #define M_UP KC_MS_UP
98 #define M_DOWN KC_MS_DOWN
99 #define M_LEFT KC_MS_LEFT
100 #define M_RIGHT KC_MS_RIGHT
101 #define M_LCLIK KC_MS_BTN1
102 #define M_RCLIK KC_MS_BTN2
103 #define M_MCLIK KC_MS_BTN3
104 #define M_WHLUP KC_WH_U
105 #define M_WHLDN KC_WH_D
106
107 // Used in macro definitions
108 #define TAP(code) register_code (code); unregister_code (code);
109
110 // Tap Dance
111 #ifdef TAP_DANCE_ENABLE
112 #define TD_LAYER_TOGGLE 0
113 extern void dance_layer(qk_tap_dance_state_t *state, void *user_data);
114 #define TD_LAYR TD(TD_LAYER_TOGGLE)
115 #endif // TAP_DANCE_ENABLE