kuatsure.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #include "kuatsure.h"
  2. #include "version.h"
  3. qk_tap_dance_action_t tap_dance_actions[] = {
  4. [TD_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LT),
  5. [TD_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_GT),
  6. [TD_SLSH] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),
  7. };
  8. __attribute__ ((weak))
  9. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  10. return true;
  11. }
  12. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  13. switch (keycode) {
  14. case KB_MAKE:
  15. if (!record->event.pressed) {
  16. SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
  17. }
  18. return false;
  19. break;
  20. case KB_VRSN:
  21. if (!record->event.pressed) {
  22. SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
  23. }
  24. return false;
  25. break;
  26. case KB_FLSH:
  27. if (!record->event.pressed) {
  28. SEND_STRING(
  29. "qmk flash -kb " QMK_KEYBOARD " -km " QMK_KEYMAP
  30. );
  31. reset_keyboard();
  32. }
  33. return false;
  34. break;
  35. }
  36. return process_record_keymap(keycode, record);
  37. }
  38. void tmux_prefix(void) {
  39. tap_code16(LCTL(KC_SPC));
  40. }
  41. void tmux_pane_zoom(void) {
  42. tmux_prefix();
  43. SEND_STRING("z");
  44. }
  45. LEADER_EXTERNS();
  46. void matrix_scan_user(void) {
  47. LEADER_DICTIONARY() {
  48. leading = false;
  49. leader_end();
  50. // Available seqs
  51. // SEQ_ONE_KEY, SEQ_TWO_KEYS, SEQ_THREE_KEYS
  52. // anything you can do in a macro https://docs.qmk.fm/macros.html
  53. // https://docs.qmk.fm/feature_leader_key.html
  54. // Stop music and lock computer via alfred
  55. SEQ_ONE_KEY(KC_H) {
  56. SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER));
  57. }
  58. // Stop music and lock computer via alfred
  59. SEQ_TWO_KEYS(KC_H, KC_H) {
  60. SEND_STRING(SS_LGUI(" ") SS_TAP(X_LGUI) "afk" SS_TAP(X_ENTER) SS_TAP(X_MEDIA_PLAY_PAUSE));
  61. }
  62. // Whole Screen Shot
  63. SEQ_ONE_KEY(KC_A) {
  64. SEND_STRING(SS_LGUI(SS_LSFT("3")));
  65. }
  66. // Selective Screen Shot
  67. SEQ_ONE_KEY(KC_S) {
  68. SEND_STRING(SS_LGUI(SS_LSFT("4")));
  69. }
  70. // TMUX - shift to pane 1 and zoom
  71. SEQ_ONE_KEY(KC_J) {
  72. tmux_prefix();
  73. SEND_STRING("q1");
  74. tmux_pane_zoom();
  75. }
  76. // TMUX - shift to first window
  77. SEQ_TWO_KEYS(KC_J, KC_J) {
  78. tmux_prefix();
  79. SEND_STRING("1");
  80. }
  81. // TMUX - shift to pane 2 and zoom
  82. SEQ_ONE_KEY(KC_K) {
  83. tmux_prefix();
  84. SEND_STRING("q2");
  85. tmux_pane_zoom();
  86. }
  87. // TMUX - shift to second window
  88. SEQ_TWO_KEYS(KC_K, KC_K) {
  89. tmux_prefix();
  90. SEND_STRING("2");
  91. }
  92. // TMUX - shift to pane 3 and zoom
  93. SEQ_ONE_KEY(KC_L) {
  94. tmux_prefix();
  95. SEND_STRING("q3");
  96. tmux_pane_zoom();
  97. }
  98. // TMUX - shift to third window
  99. SEQ_TWO_KEYS(KC_L, KC_L) {
  100. tmux_prefix();
  101. SEND_STRING("3");
  102. }
  103. // TMUX - shift to last pane and zoom
  104. SEQ_ONE_KEY(KC_SEMICOLON) {
  105. tmux_prefix();
  106. SEND_STRING(";");
  107. tmux_pane_zoom();
  108. }
  109. }
  110. }