Преглед на файлове

Updates to mtdjr userspace and keymaps (#3206)

* slight tweaks to xd75 keymap

* update to config.h to remove undef of solenoid active

* code organization for userspace

* updates to userspace and keymaps

* add rgb to userspace and lets split

* add conditional around rgb functions in userpsace

* move rgb layer changes into layer_state_set_user
mtdjr преди 7 години
родител
ревизия
e8eaf5630c

+ 0 - 1
keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h

@@ -5,7 +5,6 @@
 
 #define SOLENOID_ENABLE
 #define SOLENOID_PIN F6
-#undef  SOLENOID_ACTIVE
 #define SOLENOID_ACTIVE true
 
 #endif

+ 8 - 2
keyboards/iris/keymaps/mtdjr/config.h

@@ -20,8 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define SOLENOID_ENABLE
-#define SOLENOID_PIN C6
+//#define SOLENOID_ENABLE
+//#define SOLENOID_PIN C6
 
 /* Use I2C or Serial, not both */
 
@@ -32,6 +32,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define MASTER_LEFT
 
+// #define AUDIO_CLICKY
+// #define AUDIO_CLICKY_ON
+// #define C6_AUDIO
+// #define AUDIO_CLICKY_FREQ_RANDOMNESS 0.1f
+// #define AUDIO_CLICKY_FREQ_MAX 100.0f
+
 // #define MASTER_RIGHT
 // #define EE_HANDS
 

+ 1 - 1
keyboards/iris/keymaps/mtdjr/rules.mk

@@ -1,6 +1,6 @@
 RGBLIGHT_ENABLE = no
 BACKLIGHT_ENABLE = no
-
+#AUDIO_ENABLE = yes 
 ifndef QUANTUM_DIR
 	include ../../../../Makefile
 endif

+ 8 - 4
keyboards/lets_split/keymaps/mtdjr/config.h

@@ -26,14 +26,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define SOLENOID_ENABLE
 #define SOLENOID_PIN F4
 
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 8
+
 /* Use I2C or Serial, not both */
 
-// #define USE_SERIAL
- #define USE_I2C
+#define USE_SERIAL
+// #define USE_I2C
 /* Select hand configuration */
 
-// #define MASTER_LEFT
+ #define MASTER_LEFT
 // #define _MASTER_RIGHT
-#define EE_HANDS
+// #define EE_HANDS
 
 #endif

+ 41 - 67
keyboards/lets_split/keymaps/mtdjr/keymap.c

@@ -3,79 +3,53 @@
 
 extern keymap_config_t keymap_config;
 
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-    /* Qwerty
-    * ,-----------------------------------------.  ,-----------------------------------------.
-    * | Tab  |   Q  |   W  |   E  |   R  |   T  |  |   Y  |   U  |   I  |   O  |   P  | Bksp |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |Esc/~ |   A  |   S  |   D  |   F  |   G  |  |   H  |   J  |   K  |   L  |   ;  |  '/" |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * | Shift|   Z  |   X  |   C  |   V  |   B  |  |   N  |   M  |   ,  |   .  |   /  |Enter |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |Adjust| Ctrl | Alt  | GUI  |Lower |Space |  |Space |Raise | Left |  Up  | Down |Right |
-    * `-----------------------------------------'  '-----------------------------------------'
-    */
-  [_QWERTY] = LAYOUT( \
-    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \
-    KC_EXC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
-    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT , \
-    ADJUST,  KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_UP,   KC_DOWN, KC_RGHT \
+  [_QWERTY] = LAYOUT_kc(
+// ,-----------------------------.  .-----------------------------.
+     TAB,  Q ,  W ,  E ,  R ,  T ,     Y ,  U ,  I ,  O ,  P ,BSPC,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    EXC,   A ,  S ,  D ,  F ,  G ,     H ,  J ,  K ,  L ,SCLN,QUOT,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    LSFT,  Z ,  X ,  C ,  V ,  B ,     N ,  M ,COMM, DOT,SLSH, ENT,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    LOWR,LCTL,LALT,LGUI,LOWR, SPC,    SPC,RASE,LEFT,DOWN, UP ,RGHT
+// '-----------------------------'  '-----------------------------'
   ),
 
-    /* Lower
-    * ,-----------------------------------------.  ,-----------------------------------------.
-    * |   ~  |   1  |   2  |   3  |   4  |   5  |  |   6  |   7  |   8  |   9  |   0  | Bksp |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |      |      |   [  |   ]  |   {  |   }  |  |      |   4  |   5  |   6  |   *  |   \  |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |Shift |      |      | copy |insert|      |  |      |   1  |   2  |   3  |   +  |   -  |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |Adjust| Ctrl | Alt  | GUI  |Lower |Space |  |Space |Raise |   0  |   .  |   =  |   _  |
-    * `-----------------------------------------'  '-----------------------------------------'
-    */
-  [_LOWER] = LAYOUT( \
-    KC_TILD, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,  KC_9,   KC_0,    _______, \
-    XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, XXXXXXX, KC_4,    KC_5,  KC_6,   KC_ASTR, KC_BSLS, \
-    _______, XXXXXXX, XXXXXXX, KC_XCPY, KC_XINS, XXXXXXX, XXXXXXX, KC_1,    KC_2,  KC_3,   KC_PLUS, KC_MINS, \
-    _______, _______, _______, _______, _______, _______, _______, _______, KC_0,  KC_DOT, KC_EQL,  KC_UNDS \
+  [_LOWER] = LAYOUT_kc(
+// ,-----------------------------.  .-----------------------------.
+    TILD,  1 ,  2 ,  3 ,  4 ,  5 ,     6 ,  7 ,  8 ,  9 ,  0 , DEL,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,   xxxx,xxxx,xxxx,LBRC,RBRC,BSLS,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+        ,UNDO, CUT,XCPY,XINS,xxxx,   xxxx,xxxx,xxxx,xxxx,xxxx,    ,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+        ,    ,    ,    ,    ,    ,       ,    ,    ,    ,    ,
+// '-----------------------------'  '-----------------------------'
   ),
 
-
-  /* Raise
-   * ,-----------------------------------------.  ,-----------------------------------------.
-   * |   `  |   !  |   @  |   #  |   $  |   %  |  |   ^  |  &   |   *  |   (  |   )  | Bksp |
-   * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-   * |      |      |      |      |      |      |  |      |      |      |      |   \  |   |  |
-   * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-   * |Shift |      |      |      |      |      |  |      |      |      |      |      |      |
-   * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-   * |Adjust| Ctrl | Alt  | GUI  |Lower |Space |  |Space |Raise | Next | Vol- | Vol+ | Play |
-   * `-----------------------------------------'  '-----------------------------------------'
-   */
-  [_RAISE] = LAYOUT( \
-    KC_GRV,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
-    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PIPE,\
-    _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+  [_RAISE] = LAYOUT_kc(
+// ,-----------------------------.  .-----------------------------.
+     GRV,EXLM, AT ,HASH, DLR,PERC,   CIRC,AMPR,ASTR,LPRN,RPRN,    ,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,   MINS, EQL,xxxx,LCBR,RCBR,PIPE,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+        ,xxxx,xxxx,xxxx,xxxx,xxxx,   UNDS,PLUS,xxxx,xxxx,xxxx,    ,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+        ,    ,    ,    ,    ,    ,       ,    ,MNXT,VOLD,VOLU,MPLY
+// '-----------------------------'  '-----------------------------'
   ),
 
-    /* Adjust (Lower + Raise)
-    * ,-----------------------------------------.  ,-----------------------------------------.
-    * |      | Reset|      |      |      |      |  | ROOT | PPLY | PSEF |      |      |  Del |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |      |      |      |Aud on|Audoff|      |  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |      | UNDO | CUT  | COPY |PASTE |      |  |  F7  |  F8  |  F9  |  F10 | F11  |  F12 |
-    * |------+------+------+------+------+------|  |------+------+------+------+------+------|
-    * |      |      |      |      |      |      |  |      |      | Home |      |      | End  |
-    * `-----------------------------------------'  '-----------------------------------------'
-    */
-  [_ADJUST] =  LAYOUT( \
-    KC_STOG, KC_ROOT, KC_PPLY, KC_PSEF, _______, _______, RESET,   _______, _______, _______, _______, KC_DEL, \
-    _______, _______, _______, AU_ON,   AU_OFF,  _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6, \
-    _______, KC_UNDO, KC_CUT,  KC_XCPY, KC_XINS, _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, \
-    _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, KC_END \
+  [_ADJUST] =  LAYOUT_kc( \
+// ,-----------------------------.  .-----------------------------.
+    xxxx,ROOT,PPLY,PSEF,xxxx,xxxx,    RST,STOG,xxxx,xxxx,xxxx, DEL,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+     RGB,RHUI,RSAI,RVAI, MOD,xxxx,    F1 , F2 , F3 , F4 , F5 , F6 ,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+    RBTH,RHUD,RSAD,RVAD,RMOD,xxxx,    F7 , F8 , F9 , F10, F11, F12,
+// |----+----+----+----+----+----|  |----+----+----+----+----+----|
+        ,xxxx,xxxx,xxxx,    ,xxxx,   xxxx,    ,xxxx,xxxx,xxxx,xxxx
+// '-----------------------------'  '-----------------------------'
   )
-};
+};

+ 2 - 0
keyboards/lets_split/keymaps/mtdjr/rules.mk

@@ -1,3 +1,5 @@
 ifndef QUANTUM_DIR
 	include ../../../../Makefile
 endif
+
+RGBLIGHT_ENABLE = yes

+ 11 - 13
keyboards/xd75/keymaps/mtdjr/keymap.c

@@ -1,35 +1,33 @@
 #include QMK_KEYBOARD_H
 #include "mtdjr.h"
 
-#define KC_LOCK TD(TD_ENDLOCK)
-
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
  [_QWERTY] = KC_KEYMAP(
 //  .--------------------------------------------------------------------------.
-      EXC, 1  , 2  , 3  , 4  , 5  ,PGUP,xxxx,PGDN, 6  , 7  , 8  , 9  , 0  ,BSPC,
+      EXC, 1  , 2  , 3  , 4  , 5  ,PGUP,MPNT,PGDN, 6  , 7  , 8  , 9  , 0  ,BSPC,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-      TAB, Q  , W  ,  E , R  , T  , INS,BSLS, DEL, Y  , U  , I  , O  , P  ,QUOT,
+      TAB, Q  , W  ,  E , R  , T  , INS,HOME, DEL, Y  , U  , I  , O  , P  ,QUOT,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-     LCTL, A  , S  ,  D , F  , G  ,HOME,PLUS,LOCK, H  , J  , K  , L  ,SCLN, ENT,
+     LCTL, A  , S  ,  D , F  , G  , EQL,ELCK,MINS, H  , J  , K  , L  ,SCLN, ENT,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-     LSFT, Z  , X  ,  C , V  , B  ,LBRC,MINS,RBRC, N  , M  ,COMM, DOT,SLSH,RSFT,
+     LSFT, Z  , X  ,  C , V  , B  ,LBRC,BSLS,RBRC, N  , M  ,COMM, DOT,SLSH,ELCK,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-     LOWR,LCTL,LALT,LGUI,xxxx, SPC, SPC,RASE,SPC, SPC,xxxx,LEFT,DOWN,UP  ,RGHT
+     LOWR,LCTL,LALT,LGUI,xxxx, SPC,LOWR,RASE,xxxx, SPC, APP,LEFT,DOWN,  UP,RGHT
 //  '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
 ),
 
  [_LOWER] = KC_KEYMAP(
 //  .--------------------------------------------------------------------------.
-     xxxx,  F1,  F2,  F3,  F4,  F5,  F6,xxxx,  F7,  F8,  F9, F10, F11, F12, DEL,
+     xxxx, F1 , F2 , F3 , F4 , F5 , F6 ,xxxx, F7 , F8 , F9 , F10, F11, F12, DEL,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
      xxxx,ROOT,PPLY,PSEF,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-     xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
+     xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,CALC,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
      xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,MUTE,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-         ,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,    ,xxxx,MPLY,xxxx,MPRV,VOLD,VOLU,MNXT
+         ,xxxx,xxxx,xxxx,xxxx,xxxx,    ,    ,xxxx,MPLY,xxxx,MNXT,VOLD,VOLU,MNXT
 //  '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
 ),
 
@@ -39,11 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
      xxxx,xxxx,xxxx,xxxx, RST,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-     CAPS,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, BLI,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
+     CAPS,xxxx,xxxx,xxxx,xxxx,xxxx, BLI,xxxx, BLD,xxxx,xxxx,xxxx,XLCK,xxxx,xxxx,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-      RGB,RHUI,RHUD,RSAI,RSAD,RVAI,RVAD, BLD,xxxx,xxxx,xxxx,xxxx,BTN1,BTN2,xxxx,
+      RGB,RHUI,RHUD,RSAI,RSAD,RVAI,RVAD,xxxx,xxxx,xxxx,xxxx,xxxx,BTN1,MS_U,BTN2,
 //  |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
-         ,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,    ,xxxx,xxxx,xxxx,MS_L,MS_D,MS_U,MS_R
+         ,xxxx,xxxx,xxxx,xxxx,xxxx,    ,    ,xxxx,xxxx,xxxx,xxxx,MS_L,MS_D,MS_R
 //  '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
 )
 };

+ 71 - 51
users/mtdjr/mtdjr.c

@@ -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 16
+#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,35 @@ 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) {
+#ifdef RGBLIGHT_ENABLE
+  switch (biton32(state)) {
+    case _RAISE:
+      rgblight_sethsv_noeeprom (240, 255, 255);
+      break;
+    case _LOWER:
+      rgblight_sethsv_noeeprom (0, 255, 255);
+      break;
+    case _ADJUST:
+      rgblight_sethsv_noeeprom (0, 0, 255);
+      break;
+    default:
+      rgblight_sethsv_noeeprom (RGB_HUE, 255, 255);
+      break;
+    }
+  return state;
+}
+#endif

+ 55 - 30
users/mtdjr/mtdjr.h

@@ -3,61 +3,79 @@
 
 #include "quantum.h"
 
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _SUPER 3
-#define _ADJUST 16
-
-enum user_layers {
+// Layers
+enum user_enum {
+  // Layers
   QWERTY = SAFE_RANGE,
   LOWER,
   RAISE,
   SUPER,
   ADJUST,
+  // Solenoid
+  SOLENOID_TOG,
+  SOLENOID_DWELL_MINUS,
+  SOLENOID_DWELL_PLUS,
+  SOLENOID_BUZZ_ON,
+  SOLENOID_BUZZ_OFF,
 };
 
+// Macro / Send String
+enum user_macros {
+  ROOT,
+  PPLY,
+  PSEF,
+};
+
+// TapDance
 enum user_tapdance {
   TD_ENDLOCK,
   TD_ALTLOCK,
+  TD_PRINT,
   TD_ESC,
 };
 
-enum user_solenoid {
-  SOLENOID_TOG,
-  SOLENOID_DWELL_MINUS,
-  SOLENOID_DWELL_PLUS,
-  SOLENOID_BUZZ_ON,
-  SOLENOID_BUZZ_OFF,
-};
 
-#define KC_STOG SOLENOID_TOG
-#define KC_SDM  SOLENOID_DWELL_MINUS
-#define KC_SDP  SOLENOID_DWELL_PLUS
-#define KC_SBON SOLENOID_BUZZ_ON
-#define KC_SBOF SOLENOID_BUZZ_OFF
+// Layers
+#define _QWERTY 0
+#define _LOWER  1
+#define _RAISE  2
+#define _SUPER  3
+#define _ADJUST 16
+
+// Macros
+#define KC_ROOT M(ROOT)
+#define KC_PPLY M(PPLY)
+#define KC_PSEF M(PSEF)
 
+// Tapdance
+#define KC_EXC  TD(TD_ESC)
+#define KC_ELCK TD(TD_ENDLOCK)
+#define KC_ALCK TD(TD_ALTLOCK)
+#define KC_MPNT TD(TD_PRINT)
+
+// Custom Keycodes
 #define KC_     KC_TRNS
 #define _______ KC_TRNS
 #define XXXXXXX KC_NO
 #define KC_xxxx KC_NO
-
 #define KC_LOWR LOWER
 #define KC_RASE RAISE
 #define KC_SUPR SUPER
 #define KC_RST  RESET
 
-// TapDance Keycodes
-#define KC_EXC  TD_ESC
+// Key Combos
+#define KC_XCPY LCTL(KC_INS)
+#define KC_XINS LSFT(KC_INS)
+#define KC_CAD  LCTL(LALT(KC_DEL))
+#define KC_XCAD LCTL(LALT(KC_DEL))
+#define KC_XLCK LGUI(KC_L)
 
-// Macro Declarations
-#define KC_ROOT M(0)
-#define KC_PPLY M(1)
-#define KC_PSEF M(2)
-#define KC_XCPY M(3)
-#define KC_XINS M(4)
-#define KC_CAD  M(5)
-#define UM_LOCK M(6)
+// Solenoid
+#define KC_STOG SOLENOID_TOG
+#define KC_SDM  SOLENOID_DWELL_MINUS
+#define KC_SDP  SOLENOID_DWELL_PLUS
+#define KC_SBON SOLENOID_BUZZ_ON
+#define KC_SBOF SOLENOID_BUZZ_OFF
 
 // RGB and Backlighting
 #define KC_RGB  RGB_TOG
@@ -67,10 +85,17 @@ enum user_solenoid {
 #define KC_RSAD RGB_SAD
 #define KC_RVAI RGB_VAI
 #define KC_RVAD RGB_VAD
+#define KC_MOD  RGB_MOD
+#define KC_RMOD RGB_RMOD
+#define KC_RPLN RGB_M_P
+#define KC_RBTH RGB_M_B
 #define KC_BLT  BL_TOGG
 #define KC_BLS  BL_STEP
 #define KC_BLI  BL_INC
 #define KC_BLD  BL_DEC
+#define KC_BLB  BL_BRTG
+#define KC_BLON BL_ON
+#define KB_BLOF BL_OFF
 
 
 #endif

+ 5 - 9
users/mtdjr/solenoid.h

@@ -4,13 +4,17 @@
 #include <timer.h>
 #include "pincontrol.h"
 
+
 #define SOLENOID_DEFAULT_DWELL 12
 #define SOLENOID_MAX_DWELL 100
 #define SOLENOID_MIN_DWELL 4
 #ifndef SOLENOID_ACTIVE
   #define SOLENOID_ACTIVE false
 #endif
-//#define SOLENOID_PIN F6
+#ifndef SOLENOID_PIN
+  #define SOLENOID_PIN F6
+#endif
+
 
 bool solenoid_enabled = SOLENOID_ACTIVE;
 bool solenoid_on = false;
@@ -92,12 +96,4 @@ void solenoid_setup(void) {
   pinMode(SOLENOID_PIN, PinDirectionOutput);
 }
 
-void matrix_init_user(void) {
-  solenoid_setup();
-}
-
-void matrix_scan_user(void) {
-  solenoid_check();
-}
-
 #endif