]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - users/mtdjr/mtdjr.c
[Keyboard] Snagpad Configurator bugfix and readme refactor (#6381)
[qmk_firmware.git] / users / mtdjr / mtdjr.c
index da4f57047794a5094560499161ac6fb19af32233..c31b077b4659277004f98c8fa466575aa8a9bd9c 100644 (file)
@@ -2,20 +2,58 @@
 
 #ifdef SOLENOID_ENABLE
   #include "solenoid.h"
+#endif
 
-  void solenoid_buzz_on(void);
-  void solenoid_buzz_off(void);
-  void solenoid_dwell_minus(void);
-  void solenoid_dwell_plus(void);
-  void solenoid_toggle(void);
-  void solenoid_stop(void);
-  void solenoid_fire(void);
-  void solenoid_check(void);
-  void solenoid_setup(void);
-  void matrix_init_user(void);
-  void matrix_scan_user(void);
+#ifndef RGB_MODE
+  #define RGB_MODE 2
+#endif
+#ifndef RGB_HUE
+  #define RGB_HUE 285
 #endif
 
+// Tap Dance Definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+  [TD_ESC]     = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
+  [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
+  [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
+  [TD_PRINT]   = ACTION_TAP_DANCE_DOUBLE(LGUI(LSFT(KC_3)), LGUI(LSFT(KC_4))),
+};
+
+// Macros
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  if (record->event.pressed) {
+      switch(id) {
+          case ROOT:
+              SEND_STRING("sudo su -\n");
+              return false; break;
+          case PPLY:
+              SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
+              return false; break;
+          case PSEF:
+              SEND_STRING("ps -ef | grep ");
+              return false; break;
+      }
+  }
+  return MACRO_NONE;
+};
+
+void matrix_init_user(void) {
+  #ifdef RGBLIGHT_ENABLE
+    rgblight_enable_noeeprom();
+    rgblight_mode_noeeprom(RGB_MODE);
+    rgblight_sethsv (RGB_HUE, 255, 255);
+  #endif
+  #ifdef SOLENOID_ENABLE
+    solenoid_setup();
+  #endif
+}
+
+void matrix_scan_user(void) {
+  #ifdef SOLENOID_ENABLE
+    solenoid_check();
+  #endif
+}
+
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   #ifdef SOLENOID_ENABLE
     if (record->event.pressed) {
@@ -71,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         if (record->event.pressed) {
           solenoid_dwell_minus();
         }
-        #endif
+      #endif
       break;
     case SOLENOID_DWELL_PLUS:
       #ifdef SOLENOID_ENABLE
@@ -85,53 +123,41 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
         if (record->event.pressed) {
           solenoid_buzz_on();
         }
-        #endif
+      #endif
       break;
     case SOLENOID_BUZZ_OFF:
       #ifdef SOLENOID_ENABLE
         if (record->event.pressed) {
           solenoid_buzz_off();
         }
-        #endif
+      #endif
       break;
   }
   return true;
 };
 
-
-//Tap Dance Definitions
-qk_tap_dance_action_t tap_dance_actions[] = {
-  [TD_ESC]  = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
-  [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
-  [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
-  //[TD_PRNT] = ACTION_TAP_DANCE_DOUBLE(PRINT, PRINT_SEL)
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
-  if (record->event.pressed) {
-      switch(id) {
-          case 0:
-              SEND_STRING("sudo su -\n");
-              return false; break;
-          case 1:
-              SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
-              return false; break;
-          case 2:
-              SEND_STRING("ps -ef | grep ");
-              return false; break;
-          case 3: // control + insert
-              return MACRO(D(LCTL), T(INS), U(LCTL), END);
-              break;
-          case 4: // shift + insert
-              return MACRO(D(LSFT), T(INS), U(LSFT), END);
-              break;
-          case 5: // control + alt + delete
-              return MACRO(D(LCTL), D(RALT), T(DEL), U(LCTL), U(LALT), END);
-              break;
-          case 6: // lgui + L
-              return MACRO(D(LGUI), T(L), U(LGUI), END);
-              break;
-      }
-  }
-  return MACRO_NONE;
-};
+uint32_t layer_state_set_user(uint32_t state) {
+  switch (biton32(state)) {
+    case _RAISE:
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_sethsv_noeeprom (240, 255, 255);
+      #endif
+      break;
+    case _LOWER:
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_sethsv_noeeprom (0, 255, 255);
+      #endif
+      break;
+    case _ADJUST:
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_sethsv_noeeprom (0, 0, 255);
+      #endif
+      break;
+    default:
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_sethsv_noeeprom (RGB_HUE, 255, 255);
+      #endif
+      break;
+    }
+  return state;
+}