aboutsummaryrefslogtreecommitdiffstats
path: root/layouts/community/ortho_4x12
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2018-11-05 21:36:26 -0800
committerJack Humbert <jack.humb@gmail.com>2018-11-06 00:36:26 -0500
commitf2101cfb6a2270345fe6235d4c36e2e0d49db528 (patch)
treedfa98b41f5dc9afd377712bb54aa6c0dde848178 /layouts/community/ortho_4x12
parent672926562519c1ee7370b3ef188c11525de326e5 (diff)
downloadfirmware-f2101cfb6a2270345fe6235d4c36e2e0d49db528.tar.gz
firmware-f2101cfb6a2270345fe6235d4c36e2e0d49db528.tar.bz2
firmware-f2101cfb6a2270345fe6235d4c36e2e0d49db528.zip
Update to drashna keymaps (#4365)
* Consistency fixes and more eeprom defaults * Handle setting Unicode mode on eeprom reset better * Unicode EEPROM hack * Re-enable permissive hold and ignore mod tap * Set unicode input mode * More unicode stuff * more haaaaaacks * Attempted RGB Cleanup * Fix compiler issue * Add GitLab CI config for personal compiling * Add avr gcc version to GitLab CI script * Add rgblight init to matrix init
Diffstat (limited to 'layouts/community/ortho_4x12')
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h2
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c52
2 files changed, 34 insertions, 20 deletions
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index b4c780cc1..f279651b6 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -18,7 +18,7 @@
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
// #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1
// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
// #define EECONFIG_RGB_MATRIX (uint32_t *)16
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 108df6931..2a9e32cc8 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -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)) {