|
@@ -17,6 +17,10 @@
|
|
|
#include QMK_KEYBOARD_H
|
|
|
#include "drashna.h"
|
|
|
|
|
|
+#ifdef RGB_MATRIX_ENABLE
|
|
|
+extern bool g_suspend_state;
|
|
|
+#endif
|
|
|
+
|
|
|
#ifdef BACKLIGHT_ENABLE
|
|
|
enum planck_keycodes {
|
|
|
BACKLIT = NEW_SAFE_RANGE,
|
|
@@ -135,6 +139,15 @@ bool music_mask_user(uint16_t keycode) {
|
|
|
|
|
|
#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_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
|
|
|
rgb_led led;
|
|
@@ -152,25 +165,26 @@ void rgb_matrix_indicators_user(void) {
|
|
|
uint8_t this_mod = get_mods();
|
|
|
uint8_t this_led = host_keyboard_leds();
|
|
|
uint8_t this_osm = get_oneshot_mods();
|
|
|
-
|
|
|
- switch (biton32(layer_state)) {
|
|
|
- case _RAISE:
|
|
|
- rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
|
|
|
- case _LOWER:
|
|
|
- rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
|
|
|
- case _ADJUST:
|
|
|
- rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
|
|
|
- default:
|
|
|
- switch (biton32(default_layer_state)) {
|
|
|
- case _QWERTY:
|
|
|
- rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, true); break;
|
|
|
- case _COLEMAK:
|
|
|
- rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, true); break;
|
|
|
- case _DVORAK:
|
|
|
- rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break;
|
|
|
- case _WORKMAN:
|
|
|
- rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break;
|
|
|
- }
|
|
|
+ if (!g_suspend_state) {
|
|
|
+ switch (biton32(layer_state)) {
|
|
|
+ case _RAISE:
|
|
|
+ rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
|
|
|
+ case _LOWER:
|
|
|
+ rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
|
|
|
+ case _ADJUST:
|
|
|
+ rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
|
|
|
+ default:
|
|
|
+ switch (biton32(default_layer_state)) {
|
|
|
+ case _QWERTY:
|
|
|
+ rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, true); break;
|
|
|
+ case _COLEMAK:
|
|
|
+ rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, true); break;
|
|
|
+ case _DVORAK:
|
|
|
+ rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break;
|
|
|
+ case _WORKMAN:
|
|
|
+ rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
switch (biton32(default_layer_state)) {
|