kuatsure.c 3.1 KB

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