]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keymap] Drashna Corne Keyboard updates (#5903)
authorDrashna Jaelre <drashna@live.com>
Sun, 19 May 2019 17:01:16 +0000 (10:01 -0700)
committerGitHub <noreply@github.com>
Sun, 19 May 2019 17:01:16 +0000 (10:01 -0700)
* Re-enable Audio

And there was much rejoicingmake keebio/iris/rev2:drashna AUDIO_ENABLE=yes!

* Re-add debounce to ergodox EZ

* Fix rgb matrix helper function

* Make sure that RGM Matrix is checked properly

* Fix merge commit?

* Disable more RGB matrix modes

* Increase Debounce for Ergodox EZ

The performance improvements have made it necessary, actually

* Consolidate RGB Matrix layer indication function

And changes to iris

* Fix lighting issue for gamepad

* Update Corne Keyboard configuration

* Update Corne Keyboard layout

* Update KC_MAKE macro to better handle crkbd split

* Tweaks to Corne Keyboard Layout

* Enable RGB Matrix Sleep

* Update my code to use layer_state_t typedef

15 files changed:
keyboards/crkbd/keymaps/drashna/config.h
keyboards/crkbd/keymaps/drashna/keymap.c
keyboards/keebio/iris/keymaps/drashna/keymap.c
keyboards/keebio/iris/keymaps/drashna/rules.mk
layouts/community/ergodox/drashna/config.h
layouts/community/ergodox/drashna/keymap.c
layouts/community/ergodox/drashna_glow/config.h
layouts/community/ortho_4x12/drashna/keymap.c
users/drashna/drashna.c
users/drashna/drashna.h
users/drashna/process_records.c
users/drashna/rgb_stuff.c
users/drashna/rgb_stuff.h
users/drashna/rules.mk
users/drashna/template.c

index 0b035ba3c36425be76387dc139184c129a0e0181..724d52c38c1bbedb2c5f5e228a127067a4b47a41 100644 (file)
@@ -48,17 +48,24 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifdef RGB_MATRIX_ENABLE
 #   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
 #   define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 
+// #   define DISABLE_RGB_MATRIX_ALPHAS_MODS
 #   define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#   define DISABLE_RGB_MATRIX_BREATHING
 #   define DISABLE_RGB_MATRIX_CYCLE_ALL
+#   define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 #   define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
+// #   define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
+// #   define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 #   define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 #   define DISABLE_RGB_MATRIX_DUAL_BEACON
 #   define DISABLE_RGB_MATRIX_RAINBOW_BEACON
 #   define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-// #define DISABLE_RGB_MATRIX_RAINDROPS
-// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-#   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+// #   define DISABLE_RGB_MATRIX_RAINDROPS
+// #   define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+// #   define DISABLE_RGB_MATRIX_TYPING_HEATMAP
+// #   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
@@ -67,8 +74,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#   define DISABLE_RGB_MATRIX_SPLASH
+// #   define DISABLE_RGB_MATRIX_MULTISPLASH
 #   define DISABLE_RGB_MATRIX_SOLID_SPLASH
 #   define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+#endif
 
 #ifdef AUDIO_ENABLE
 #   define B6_AUDIO
index 3eea7af9f979332daa10b43fe3cf56e5dac37304..af0bc0d9a74ad03dbe83b85e0d4f150c195d4938 100644 (file)
@@ -20,9 +20,9 @@ enum crkbd_keycodes {
   ) \
   LAYOUT_wrapper( \
     KC_ESC,  K01,    K02,     K03,      K04,     K05,                        K06,     K07,     K08,     K09,     K0A,     KC_MINS, \
-    KC_TAB, ALT_T(K11),  K12, K13,      K14,     K15,                        K16,     K17,     K18,     K19,     K1A, RGUI_T(KC_QUOT), \
+    KC_TAB, ALT_T(K11),  K12, K13,      K14,     K15,                        K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
     OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,                        K26,     K27,     K28,     K29, RCTL_T(K2A), OS_RSFT, \
-                           LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,     KC_DEL,  KC_ENT,  RAISE                                        \
+                                        KC_GRV,  KC_SPC,  BK_LWER, DL_RAIS,  KC_ENT,  OS_RGUI                                      \
   )
 #define LAYOUT_crkbd_base_wrapper(...)       LAYOUT_crkbd_base(__VA_ARGS__)
 
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KC_MAKE, _________________ADJUST_L1_________________,                    _________________ADJUST_R1_________________, KC_RESET,
     VRSN,    _________________ADJUST_L2_________________,                    _________________ADJUST_R2_________________, EEP_RST,
     _______, _________________ADJUST_L3_________________,                    _________________ADJUST_R3_________________, KC_MPLY,
-                                     _______, _______, _______,        KC_NUKE, TG_MODS, _______
+                                     _______, KC_NUKE, _______,        _______, TG_MODS, _______
   )
 };
 
@@ -156,6 +156,8 @@ void add_keylog(uint16_t keycode) {
     if (keycode < 60) {
         keylog_str[0] = code_to_name[keycode];
     }
+    keylog_str[KEYLOG_LEN] = 0;
+
     log_timer = timer_read();
 }
 
@@ -267,3 +269,61 @@ uint16_t get_tapping_term(uint16_t keycode) {
             return TAPPING_TERM;
     }
 }
+
+#ifdef RGB_MATRIX_ENABLE
+
+void suspend_power_down_keymap(void) {
+    rgb_matrix_set_suspend_state(true);
+}
+
+void suspend_wakeup_init_keymap(void) {
+    rgb_matrix_set_suspend_state(false);
+}
+
+void rgb_matrix_indicators_user(void) {
+    if ( userspace_config.rgb_layer_change &&
+#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
+        !g_suspend_state &&
+#endif
+#if defined(RGBLIGHT_ENABLE)
+        (!rgblight_config.enable && rgb_matrix_config.enable)
+#else
+        rgb_matrix_config.enable
+#endif
+    ) {
+        switch (biton32(layer_state)) {
+            case _MODS:
+                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
+            case _GAMEPAD:
+                rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_UNDERGLOW); break;
+            case _DIABLO:
+                rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break;
+            case _RAISE:
+                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
+            case _LOWER:
+                rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
+            case _ADJUST:
+                rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break;
+            default:
+                switch (biton32(default_layer_state)) {
+                    case _QWERTY:
+                        rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_UNDERGLOW); break;
+                    case _COLEMAK:
+                        rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break;
+                    case _DVORAK:
+                        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
+                    case _WORKMAN:
+                        rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_UNDERGLOW); break;
+                    case _NORMAN:
+                        rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_UNDERGLOW); break;
+                    case _MALTRON:
+                        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
+                    case _EUCALYN:
+                        rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_UNDERGLOW); break;
+                    case _CARPLAX:
+                        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break;
+                }
+        }
+    }
+}
+#endif
index 95092cc5210a5188f7d229a66b30477f1e5935b9..44ffb59f6a7708e72b8331cb02070f3e5a2cbd79 100644 (file)
@@ -13,7 +13,7 @@
      KC_TAB , K01,    K02,     K03,      K04,     K05,                           K06,     K07,     K08,     K09,     K0A,     KC_BSLS, \
      KC_C1R3, K11,    K12,     K13,      K14,     K15,                           K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
      OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,     OS_LALT,     OS_RGUI, K26,     K27,     K28,     K29, RCTL_T(K2A), OS_RSFT, \
-                             LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE                                      \
+                             KC_GRV, KC_SPC,  LT(_LOWER,KC_BSPC),         LT(_RAISE,KC_DEL),  KC_ENT,  RAISE                           \
   )
 #define LAYOUT_iris_base_wrapper(...)       LAYOUT_iris_base(__VA_ARGS__)
 
index 1311ab28015cbdbd14be96b05a64b2d095773a6e..a315e1a0b181f249d4b94e13f6fbe3fe337857eb 100644 (file)
@@ -5,7 +5,7 @@ CONSOLE_ENABLE    = no         # Console for debug(+400)
 COMMAND_ENABLE    = no        # Commands for debug and configuration
 TAP_DANCE_ENABLE  = no
 RGBLIGHT_ENABLE   = yes
-AUDIO_ENABLE      = no
+AUDIO_ENABLE      = yes
 NKRO_ENABLE       = yes
 BACKLIGHT_ENABLE  = no
 SWAP_HANDS_ENABLE = no
index 7feaf6f252af01566e63cbc5d96bd99fd93c1c84..821710ed8e81e74ee0a9c15ebdc7a48f039f50c3 100644 (file)
@@ -13,3 +13,4 @@
 #define PRODUCT         DrashnaDox - Hacked ErgoDox EZ Shine
 
 #undef DEBOUNCE
+#define DEBOUNCE 15
index 08689cf3de70a95b26739fa935566b6abeab19b0..74382f175274b39782c0899d75ee5a4651ec5c59 100644 (file)
@@ -399,14 +399,6 @@ void suspend_wakeup_init_keymap(void) {
     rgb_matrix_set_suspend_state(false);
 }
 
-void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
-    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
-        if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
-            rgb_matrix_set_color( i, red, green, blue );
-        }
-    }
-}
-
 void rgb_matrix_indicators_user(void) {
     if ( userspace_config.rgb_layer_change &&
 #ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
@@ -420,9 +412,9 @@ void rgb_matrix_indicators_user(void) {
     ) {
         switch (biton32(layer_state)) {
             case _MODS:
-                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
             case _GAMEPAD:
-                rgb_matrix_layer_helper(0xFF, 0x80, 0x00);
+                rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_MODIFIER);
                 rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q
                 rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W
                 rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E
@@ -432,37 +424,37 @@ void rgb_matrix_indicators_user(void) {
                 rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D
                 rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F
 
-                rgb_matrix_set_color(27, 0xFF, 0xFF, 0xFF); // 1
-                rgb_matrix_set_color(26, 0x00, 0xFF, 0x00); // 2
+                rgb_matrix_set_color(userspace_config.swapped_numbers ? 27 : 26, 0xFF, 0xFF, 0xFF); // 1
+                rgb_matrix_set_color(userspace_config.swapped_numbers ? 26 : 27, 0x00, 0xFF, 0x00); // 2
                 rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3
 
                 break;
             case _DIABLO:
-                rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
             case _RAISE:
-                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
             case _LOWER:
-                rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+                rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
             case _ADJUST:
-                rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
             default:
                 switch (biton32(default_layer_state)) {
                     case _QWERTY:
-                        rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break;
+                        rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break;
                     case _COLEMAK:
-                        rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break;
+                        rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
                     case _DVORAK:
-                        rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+                        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
                     case _WORKMAN:
-                        rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break;
+                        rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break;
                     case _NORMAN:
-                        rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
+                        rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break;
                     case _MALTRON:
-                        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
                     case _EUCALYN:
-                        rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
+                        rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break;
                     case _CARPLAX:
-                        rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
+                        rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
                 }
         }
     }
index 5eb1c6d0f3c9557a7407e75be7acef7333ee3cc5..e6c8223e91b2215db254a5dbd90b40eab249ffe8 100644 (file)
@@ -18,7 +18,9 @@
 #   define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 #   define DISABLE_RGB_MATRIX_DUAL_BEACON
 #   define DISABLE_RGB_MATRIX_RAINBOW_BEACON
+#   define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
 #   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 #   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
index 9b0c2d7949651db5a4fb89c733307c0be2f6aecb..c1c016ce9f60609774fffc71cc018b08eec84fbc 100644 (file)
@@ -180,14 +180,6 @@ void suspend_wakeup_init_keymap(void) {
     rgb_matrix_set_suspend_state(false);
 }
 
-void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
-    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
-        if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
-            rgb_matrix_set_color( i, red, green, blue );
-        }
-    }
-}
-
 void rgb_matrix_indicators_user(void) {
     uint8_t this_mod = get_mods();
     uint8_t this_led = host_keyboard_leds();
@@ -209,29 +201,29 @@ void rgb_matrix_indicators_user(void) {
         ) {
         switch (biton32(layer_state)) {
             case _RAISE:
-                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
             case _LOWER:
-                rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+                rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
             case _ADJUST:
-                rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
+                rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
             default:
                 switch (biton32(default_layer_state)) {
                 case _QWERTY:
-                    rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break;
+                    rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break;
                 case _COLEMAK:
-                    rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break;
+                    rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
                 case _DVORAK:
-                    rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+                    rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
                 case _WORKMAN:
-                    rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break;
+                    rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break;
                 case _NORMAN:
-                    rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
+                    rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break;
                 case _MALTRON:
-                    rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                    rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
                 case _EUCALYN:
-                    rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
+                    rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break;
                 case _CARPLAX:
-                    rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
+                    rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
                 }
         }
     }
@@ -327,7 +319,7 @@ void dip_update(uint8_t index, bool active) {
 #endif // KEYBOARD_planck_rev6
 
 #ifdef KEYBOARD_planck_ez
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
 
     palClearPad(GPIOB, 8);
     palClearPad(GPIOB, 9);
index 7c60a2e4a5bf75c2ef56fad2eede85bfde0db024..acc6b9f9eda6a97e1660e09a054d4363135e4f12 100644 (file)
@@ -187,13 +187,13 @@ void matrix_scan_user(void) {
 
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
     return state;
 }
 
 // on layer change, no matter where the change was initiated
 // Then runs keymap's layer change check
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
     state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
 #ifdef RGBLIGHT_ENABLE
     state = layer_state_set_rgb(state);
@@ -203,12 +203,12 @@ uint32_t layer_state_set_user(uint32_t state) {
 
 
 __attribute__ ((weak))
-uint32_t default_layer_state_set_keymap (uint32_t state) {
+layer_state_t default_layer_state_set_keymap (layer_state_t state) {
     return state;
 }
 
 // Runs state check and changes underglow color and animation
-uint32_t default_layer_state_set_user(uint32_t state) {
+layer_state_t default_layer_state_set_user(layer_state_t state) {
     state = default_layer_state_set_keymap(state);
 #if 0
 #ifdef RGBLIGHT_ENABLE
index 5df67792a5fad7281ea4aea78730fd8a660f3d28..507504f04e5c5f92d3f387049ae195bc9fa34dbc 100644 (file)
@@ -67,8 +67,8 @@ void shutdown_keymap(void);
 void suspend_power_down_keymap(void);
 void suspend_wakeup_init_keymap(void);
 void matrix_scan_keymap(void);
-uint32_t layer_state_set_keymap (uint32_t state);
-uint32_t default_layer_state_set_keymap (uint32_t state);
+layer_state_t layer_state_set_keymap (layer_state_t state);
+layer_state_t default_layer_state_set_keymap (layer_state_t state);
 void led_set_keymap(uint8_t usb_led);
 void eeconfig_init_keymap(void);
 
index a5487b5855f68d4d40469b453a050726ab287978..770219917e7e9f27b139422606c5c045d31d6977 100644 (file)
@@ -39,22 +39,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
             clear_mods(); clear_oneshot_mods();
             send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), TAP_CODE_DELAY);
 #ifndef MAKE_BOOTLOADER
-        if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
+            if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
+#endif
+            {
+                #if defined(__arm__)
+                send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
+                #elif defined(BOOTLOADER_DFU)
+                send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
+                #elif defined(BOOTLOADER_HALFKAY)
+                send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
+                #elif defined(BOOTLOADER_CATERINA)
+                send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
+                #endif // bootloader options
+            }
+            if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
+#ifdef RGB_MATRIX_SPLIT_RIGHT
+            send_string_with_delay_P(PSTR(" RGB_MATRIX_SPLIT_RIGHT=yes OLED_DRIVER_ENABLE=no"), TAP_CODE_DELAY);
 #endif
-        {
-            #if defined(__arm__)
-            send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
-            #elif defined(BOOTLOADER_DFU)
-            send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
-            #elif defined(BOOTLOADER_HALFKAY)
-            send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
-            #elif defined(BOOTLOADER_CATERINA)
-            send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
-            #endif // bootloader options
-        }
-        if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
             send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
         }
+
         break;
 
     case VRSN: // Prints firmware version
index 9e19747fa330cfe79da7258a8bd99b7f2357c635..7d364fa68688a224c0f3932389772bfbb062a49e 100644 (file)
@@ -275,7 +275,7 @@ void matrix_scan_rgb(void) {
 }
 
 
-uint32_t layer_state_set_rgb(uint32_t state) {
+layer_state_t layer_state_set_rgb(layer_state_t state) {
 #ifdef RGBLIGHT_ENABLE
     if (userspace_config.rgb_layer_change) {
         switch (biton32(state)) {
@@ -334,3 +334,14 @@ uint32_t layer_state_set_rgb(uint32_t state) {
 
     return state;
 }
+
+#ifdef RGB_MATRIX_ENABLE
+extern led_config_t g_led_config;
+void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) {
+    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+        if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
+            rgb_matrix_set_color( i, red, green, blue );
+        }
+    }
+}
+#endif
index 886f20ffcca10eb71afd4e0c06d025c122b9b5bf..f5bbd0f3b5fad9ba61feb5188e4d05735ff9e760 100644 (file)
@@ -15,7 +15,9 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
 void scan_rgblight_fadeout(void);
 void keyboard_post_init_rgb(void);
 void matrix_scan_rgb(void);
-uint32_t layer_state_set_rgb(uint32_t state);
-uint32_t default_layer_state_set_rgb(uint32_t state);
+layer_state_t layer_state_set_rgb(layer_state_t state);
+layer_state_t default_layer_state_set_rgb(layer_state_t state);
 void rgblight_sethsv_default_helper(uint8_t index);
 void rgb_matrix_set_color_all( uint8_t red, uint8_t green, uint8_t blue );
+
+void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type);
index 085840f1cc8686743cc230858e44e2c0fe94ca44..cdb9e543604f01085e86841438aefc97ebb8af0b 100644 (file)
@@ -33,6 +33,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
     endif
 endif
 
+RGB_MATRIX_ENABLE ?= no
 ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
     SRC += rgb_stuff.c
 endif
index 0e188f3a5ebbe16e70d25cd1fac100c39604558f..d90e6bdecf24ea35decf327433d9409e2afa2b99 100644 (file)
@@ -62,11 +62,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
 
 __attribute__ ((weak))
-uint32_t layer_state_set_keymap (uint32_t state) {
+layer_state_t layer_state_set_keymap (layer_state_t state) {
   return state;
 }
 
-uint32_t layer_state_set_user (uint32_t state) {
+layer_state_t layer_state_set_user (layer_state_t state) {
   return layer_state_set_keymap (state);
 }