replicaJunction.h 2.8 KB

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