mtdjr.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #include "mtdjr.h"
  2. #ifdef SOLENOID_ENABLE
  3. #include "solenoid.h"
  4. void solenoid_buzz_on(void);
  5. void solenoid_buzz_off(void);
  6. void solenoid_dwell_minus(void);
  7. void solenoid_dwell_plus(void);
  8. void solenoid_toggle(void);
  9. void solenoid_stop(void);
  10. void solenoid_fire(void);
  11. void solenoid_check(void);
  12. void solenoid_setup(void);
  13. void matrix_init_user(void);
  14. void matrix_scan_user(void);
  15. #endif
  16. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  17. #ifdef SOLENOID_ENABLE
  18. if (record->event.pressed) {
  19. solenoid_fire();
  20. }
  21. #endif
  22. switch (keycode) {
  23. case QWERTY:
  24. if (record->event.pressed) {
  25. set_single_persistent_default_layer(_QWERTY);
  26. }
  27. return false;
  28. break;
  29. case LOWER:
  30. if (record->event.pressed) {
  31. layer_on(_LOWER);
  32. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  33. } else {
  34. layer_off(_LOWER);
  35. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  36. }
  37. return false;
  38. break;
  39. case RAISE:
  40. if (record->event.pressed) {
  41. layer_on(_RAISE);
  42. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  43. } else {
  44. layer_off(_RAISE);
  45. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  46. }
  47. return false;
  48. break;
  49. case ADJUST:
  50. if (record->event.pressed) {
  51. layer_on(_ADJUST);
  52. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  53. } else {
  54. layer_off(_ADJUST);
  55. update_tri_layer(_LOWER, _RAISE, _ADJUST);
  56. }
  57. return false;
  58. break;
  59. case SOLENOID_TOG:
  60. #ifdef SOLENOID_ENABLE
  61. if (record->event.pressed) {
  62. solenoid_toggle();
  63. }
  64. #endif
  65. break;
  66. case SOLENOID_DWELL_MINUS:
  67. #ifdef SOLENOID_ENABLE
  68. if (record->event.pressed) {
  69. solenoid_dwell_minus();
  70. }
  71. #endif
  72. break;
  73. case SOLENOID_DWELL_PLUS:
  74. #ifdef SOLENOID_ENABLE
  75. if (record->event.pressed) {
  76. solenoid_dwell_plus();
  77. }
  78. #endif
  79. break;
  80. case SOLENOID_BUZZ_ON:
  81. #ifdef SOLENOID_ENABLE
  82. if (record->event.pressed) {
  83. solenoid_buzz_on();
  84. }
  85. #endif
  86. break;
  87. case SOLENOID_BUZZ_OFF:
  88. #ifdef SOLENOID_ENABLE
  89. if (record->event.pressed) {
  90. solenoid_buzz_off();
  91. }
  92. #endif
  93. break;
  94. }
  95. return true;
  96. };
  97. //Tap Dance Definitions
  98. qk_tap_dance_action_t tap_dance_actions[] = {
  99. [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
  100. [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
  101. [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
  102. //[TD_PRNT] = ACTION_TAP_DANCE_DOUBLE(PRINT, PRINT_SEL)
  103. };
  104. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  105. if (record->event.pressed) {
  106. switch(id) {
  107. case 0:
  108. SEND_STRING("sudo su -\n");
  109. return false; break;
  110. case 1:
  111. SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
  112. return false; break;
  113. case 2:
  114. SEND_STRING("ps -ef | grep ");
  115. return false; break;
  116. case 3: // control + insert
  117. return MACRO(D(LCTL), T(INS), U(LCTL), END);
  118. break;
  119. case 4: // shift + insert
  120. return MACRO(D(LSFT), T(INS), U(LSFT), END);
  121. break;
  122. case 5: // control + alt + delete
  123. return MACRO(D(LCTL), D(RALT), T(DEL), U(LCTL), U(LALT), END);
  124. break;
  125. case 6: // lgui + L
  126. return MACRO(D(LGUI), T(L), U(LGUI), END);
  127. break;
  128. }
  129. }
  130. return MACRO_NONE;
  131. };