process_records.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #pragma once
  2. #include "drashna.h"
  3. #if defined(KEYMAP_SAFE_RANGE)
  4. # define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
  5. #else
  6. # define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
  7. #endif
  8. enum userspace_custom_keycodes {
  9. VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info
  10. KC_QWERTY, // Sets default layer to QWERTY
  11. KC_COLEMAK, // Sets default layer to COLEMAK
  12. KC_DVORAK, // Sets default layer to DVORAK
  13. KC_WORKMAN, // Sets default layer to WORKMAN
  14. KC_NORMAN, // Sets default layer to NORMAN
  15. KC_MALTRON, // Sets default layer to MALTRON
  16. KC_EUCALYN, // Sets default layer to EUCALYN
  17. KC_CARPLAX, // Sets default layer to CARPLAX
  18. KC_DIABLO_CLEAR, // Clears all Diablo Timers
  19. KC_OVERWATCH, // Toggles game macro input mode (so in OW, it defaults to game chat)
  20. KC_SALT, // See drashna.c for details
  21. KC_MORESALT,
  22. KC_SALTHARD,
  23. KC_GOODGAME,
  24. KC_SYMM,
  25. KC_JUSTGAME,
  26. KC_GLHF,
  27. KC_TORB,
  28. KC_AIM,
  29. KC_C9,
  30. KC_GGEZ,
  31. KC_MAKE, // Run keyboard's customized make command
  32. KC_RGB_T, // Toggles RGB Layer Indication mode
  33. KC_SECRET_1, // test1
  34. KC_SECRET_2, // test2
  35. KC_SECRET_3, // test3
  36. KC_SECRET_4, // test4
  37. KC_SECRET_5, // test5
  38. KC_CCCV, // Hold to copy, tap to paste
  39. KC_NUKE, // NUCLEAR LAUNCH DETECTED!!!
  40. UC_FLIP, // (ಠ痊ಠ)┻━┻
  41. UC_TABL, // ┬─┬ノ( º _ ºノ)
  42. UC_SHRG, // ¯\_(ツ)_/¯
  43. UC_DISA, // ಠ_ಠ
  44. NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes
  45. };
  46. bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
  47. bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
  48. #define LOWER MO(_LOWER)
  49. #define RAISE MO(_RAISE)
  50. #define ADJUST MO(_ADJUST)
  51. #define TG_MODS TG(_MODS)
  52. #define TG_GAME TG(_GAMEPAD)
  53. #define OS_LWR OSL(_LOWER)
  54. #define OS_RSE OSL(_RAISE)
  55. #define KC_SEC1 KC_SECRET_1
  56. #define KC_SEC2 KC_SECRET_2
  57. #define KC_SEC3 KC_SECRET_3
  58. #define KC_SEC4 KC_SECRET_4
  59. #define KC_SEC5 KC_SECRET_5
  60. #define QWERTY KC_QWERTY
  61. #define DVORAK KC_DVORAK
  62. #define COLEMAK KC_COLEMAK
  63. #define WORKMAN KC_WORKMAN
  64. #define KC_RESET RESET
  65. #define KC_RST KC_RESET
  66. #ifdef SWAP_HANDS_ENABLE
  67. # define KC_C1R3 SH_TT
  68. #else // SWAP_HANDS_ENABLE
  69. # define KC_C1R3 KC_BSPC
  70. #endif // SWAP_HANDS_ENABLE
  71. #define BK_LWER LT(_LOWER, KC_BSPC)
  72. #define SP_LWER LT(_LOWER, KC_SPC)
  73. #define DL_RAIS LT(_RAISE, KC_DEL)
  74. #define ET_RAIS LT(_RAISE, KC_ENTER)
  75. /* OSM keycodes, to keep things clean and easy to change */
  76. #define KC_MLSF OSM(MOD_LSFT)
  77. #define KC_MRSF OSM(MOD_RSFT)
  78. #define OS_LGUI OSM(MOD_LGUI)
  79. #define OS_RGUI OSM(MOD_RGUI)
  80. #define OS_LSFT OSM(MOD_LSFT)
  81. #define OS_RSFT OSM(MOD_RSFT)
  82. #define OS_LCTL OSM(MOD_LCTL)
  83. #define OS_RCTL OSM(MOD_RCTL)
  84. #define OS_LALT OSM(MOD_LALT)
  85. #define OS_RALT OSM(MOD_RALT)
  86. #define OS_MEH OSM(MOD_MEH)
  87. #define OS_HYPR OSM(MOD_HYPR)
  88. #define ALT_APP ALT_T(KC_APP)
  89. #define MG_NKRO MAGIC_TOGGLE_NKRO
  90. #define UC_IRNY UC(0x2E2E)
  91. #define UC_CLUE UC(0x203D)