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.

87 lines
3.3 KiB

  1. #include "danielo515.h"
  2. bool onMac = true;
  3. //**************** LEADER *********************//
  4. #ifdef LEADER_ENABLE
  5. LEADER_EXTERNS();
  6. # ifdef RGBLIGHT_ENABLE
  7. void leader_start() { rgblight_setrgb_range(5, 100, 199, 10, 15); };
  8. void leader_end() { rgblight_setrgb_range(200, 200, 255, 10, 15); };
  9. # endif
  10. void matrix_scan_user(void) {
  11. if (leading && leader_sequence_size > 0 && timer_elapsed(leader_time) > LEADER_TIMEOUT) {
  12. leading = false;
  13. SEQ_ONE_KEY(KC_T) { SEND_STRING("``" SS_TAP(X_LEFT)); }
  14. // Triple ticks
  15. SEQ_TWO_KEYS(KC_T, KC_T) { SEND_STRING("```" SS_TAP(X_ENTER) SS_TAP(X_ENTER) "```" SS_TAP(X_UP)); }
  16. // ==== International spanish accent vowels ====
  17. SEQ_ONE_KEY(KC_A) { SEND_STRING(SS_LALT("e") "a"); }
  18. SEQ_ONE_KEY(KC_E) { SEND_STRING(SS_LALT("e") "e"); }
  19. SEQ_ONE_KEY(KC_I) { SEND_STRING(SS_LALT("e") "i"); }
  20. SEQ_ONE_KEY(KC_O) { SEND_STRING(SS_LALT("e") "o"); }
  21. SEQ_ONE_KEY(KC_U) { SEND_STRING(SS_LALT("e") "u"); }
  22. SEQ_ONE_KEY(KC_N) { SEND_STRING(SS_LALT("n") "n"); }
  23. // ==== MACROS ===
  24. SEQ_ONE_KEY(KC_G) { SEND_STRING(" | grep "); }
  25. SEQ_ONE_KEY(KC_K) { onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f")); }
  26. // vim delete all
  27. SEQ_TWO_KEYS(KC_D, KC_G) {
  28. if (onMac) {
  29. SEND_STRING(SS_LGUI("a") SS_TAP(X_D));
  30. } else {
  31. SEND_STRING(SS_LCTRL("a") SS_TAP(X_D));
  32. }
  33. }
  34. // tripe delete!
  35. SEQ_ONE_KEY(KC_BSPACE) { SEND_STRING(SS_TAP(X_BSPACE) SS_TAP(X_BSPACE) SS_TAP(X_BSPACE)); }
  36. SEQ_TWO_KEYS(KC_P, KC_G) { SEND_STRING("ps -ef | grep "); }
  37. SEQ_TWO_KEYS(KC_J, KC_A) { SEND_STRING("() => {}" SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); }
  38. // this is a pain to type
  39. SEQ_TWO_KEYS(KC_S, KC_S) { SEND_STRING("~/.ssh/ "); }
  40. SEQ_TWO_KEYS(KC_F, KC_T) { SEND_STRING("feat():" SS_TAP(X_LEFT) SS_TAP(X_LEFT)); }
  41. // ### LAYER CHANGE
  42. SEQ_ONE_KEY(KC_1) { layer_on(1); }
  43. // control enter, because yes
  44. SEQ_ONE_KEY(KC_H) { SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_ENTER) SS_UP(X_LCTRL)); }
  45. // paste all
  46. SEQ_ONE_KEY(KC_P) {
  47. if (onMac) {
  48. SEND_STRING(SS_LGUI("a") SS_LGUI("v"));
  49. } else {
  50. SEND_STRING(SS_LCTRL("a") SS_LCTRL("v"));
  51. }
  52. }
  53. SEQ_THREE_KEYS(KC_M, KC_A, KC_C) {
  54. onMac = true;
  55. # ifdef RGBLIGHT_ENABLE
  56. rgblight_setrgb(255, 255, 255);
  57. # endif
  58. }
  59. SEQ_THREE_KEYS(KC_W, KC_I, KC_N) {
  60. onMac = false;
  61. # ifdef RGBLIGHT_ENABLE
  62. rgblight_setrgb(255, 255, 0);
  63. # endif
  64. }
  65. /* Copy all */
  66. SEQ_ONE_KEY(KC_Y) {
  67. if (onMac) {
  68. SEND_STRING(SS_LGUI("a") SS_LGUI("c"));
  69. } else {
  70. SEND_STRING(SS_LCTRL("a") SS_LCTRL("c"));
  71. }
  72. }
  73. // emoji bar
  74. SEQ_TWO_KEYS(KC_E, KC_E) { SEND_STRING(SS_DOWN(X_LGUI) SS_LCTRL(" ") SS_UP(X_LGUI)); }
  75. SEQ_TWO_KEYS(KC_F, KC_F) { SEND_STRING("ps -ef | grep "); }
  76. SEQ_TWO_KEYS(KC_H, KC_T) { SEND_STRING("https://"); }
  77. leader_end();
  78. }
  79. }
  80. #endif // LEADER