You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.1 KiB

  1. #pragma once
  2. #include "yet-another-developer.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_UNICODE, // Sets default layer to UNICOD
  15. KC_MAKE, // Run keyboard's customized make command
  16. KC_SECRET_1, // test1
  17. KC_SECRET_2, // test2
  18. KC_SECRET_3, // test3
  19. KC_SECRET_4, // test4
  20. KC_SECRET_5, // test5
  21. KC_CCCV, // Hold to copy, tap to paste
  22. KC_NUKE, // NUCLEAR LAUNCH DETECTED!!!
  23. UC_FLIP, // (ಠ痊ಠ)┻━┻
  24. UC_TABL, // ┬─┬ノ( º _ ºノ)
  25. UC_SHRG, // ¯\_(ツ)_/¯
  26. UC_DISA, // ಠ_ಠ
  27. MC_QT1, // ""
  28. MC_QT2, // ''
  29. MC_QT3, // `'
  30. MC_PAR, // Parenthesis
  31. MC_CUR, // Curly bracket
  32. MC_SQR, // Square bracket
  33. MC_ABR, // Angle bracket
  34. MCT_NEW, // New Tmux Session
  35. MCT_SH, // Tmux horizontal split
  36. MCT_SV, // Tmux vertical split
  37. MCT_ZM, // Tmux zoom
  38. MCT_SCR, // Tmux scroll mode
  39. MCT_UP, // Tmux up
  40. MCT_DW, // Tmux down
  41. MCT_LFT, // Tmux left
  42. MCT_RGT, // Tmux right
  43. MCV_B, // Vim begin of line
  44. MCV_E, // Vim end of line
  45. MCT_F, // Vim for loop
  46. MCG_A, // Git add
  47. MCG_C, // Git commit
  48. MCG_P, // Git push
  49. MCG_R, // Git revert
  50. MCG_L, // Git log
  51. MCG_S, // Git status
  52. NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes
  53. };
  54. bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
  55. bool process_record_keymap( uint16_t keycode, keyrecord_t *record);
  56. #define LOWER MO(_LOWER)
  57. #define RAISE MO(_RAISE)
  58. #define ADJUST MO(_ADJUST)
  59. #define TG_MODS TG(_MODS)
  60. #define OS_LWR OSL(_LOWER)
  61. #define OS_RSE OSL(_RAISE)
  62. #define OS_UNI OSL(_UNICODE)
  63. #define KC_SEC1 KC_SECRET_1
  64. #define KC_SEC2 KC_SECRET_2
  65. #define KC_SEC3 KC_SECRET_3
  66. #define KC_SEC4 KC_SECRET_4
  67. #define KC_SEC5 KC_SECRET_5
  68. #define QWERTY KC_QWERTY
  69. #define DVORAK KC_DVORAK
  70. #define COLEMAK KC_COLEMAK
  71. #define WORKMAN KC_WORKMAN
  72. #define UNICODE KC_UNICODE
  73. #define KC_RESET RESET
  74. #define KC_RST KC_RESET
  75. #define BK_LWER LT(_LOWER, KC_BSPC)
  76. #define SP_LWER LT(_LOWER, KC_SPC)
  77. #define DL_RAIS LT(_RAISE, KC_DEL)
  78. #define ET_RAIS LT(_RAISE, KC_ENTER)
  79. /* OSM keycodes, to keep things clean and easy to change */
  80. #define KC_MLSF OSM(MOD_LSFT)
  81. #define KC_MRSF OSM(MOD_RSFT)
  82. #define OS_LGUI OSM(MOD_LGUI)
  83. #define OS_RGUI OSM(MOD_RGUI)
  84. #define OS_LSFT OSM(MOD_LSFT)
  85. #define OS_RSFT OSM(MOD_RSFT)
  86. #define OS_LCTL OSM(MOD_LCTL)
  87. #define OS_RCTL OSM(MOD_RCTL)
  88. #define OS_LALT OSM(MOD_LALT)
  89. #define OS_RALT OSM(MOD_RALT)
  90. #define OS_MEH OSM(MOD_MEH)
  91. #define OS_HYPR OSM(MOD_HYPR)
  92. #define ALT_APP ALT_T(KC_APP)
  93. #define UC_IRNY UC(0x2E2E)
  94. #define UC_CLUE UC(0x203D)