diff options
| author | Drashna Jaelre <drashna@live.com> | 2021-02-23 10:57:24 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-23 10:57:24 -0800 |
| commit | 0b69e4df818c2515cf4eee3d8b6fd4a07775b887 (patch) | |
| tree | bdeee9c5a88c2aef8aca366b3e6ea986f44174c0 /users/drashna/drashna.c | |
| parent | 11146ecd086c6b6736ab3c5947f26a96be642671 (diff) | |
| download | qmk_firmware-0b69e4df818c2515cf4eee3d8b6fd4a07775b887.tar.gz qmk_firmware-0b69e4df818c2515cf4eee3d8b6fd4a07775b887.zip | |
[Keymap] Drashna Updates - Split+OLED edition (#11968)
Diffstat (limited to 'users/drashna/drashna.c')
| -rw-r--r-- | users/drashna/drashna.c | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 95c9d2f62..6a13f0d9b 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c | |||
| @@ -111,7 +111,12 @@ void shutdown_user(void) { | |||
| 111 | 111 | ||
| 112 | __attribute__((weak)) void suspend_power_down_keymap(void) {} | 112 | __attribute__((weak)) void suspend_power_down_keymap(void) {} |
| 113 | 113 | ||
| 114 | void suspend_power_down_user(void) { suspend_power_down_keymap(); } | 114 | void suspend_power_down_user(void) { |
| 115 | #ifdef OLED_DRIVER_ENABLE | ||
| 116 | oled_off(); | ||
| 117 | #endif | ||
| 118 | suspend_power_down_keymap(); | ||
| 119 | } | ||
| 115 | 120 | ||
| 116 | __attribute__((weak)) void suspend_wakeup_init_keymap(void) {} | 121 | __attribute__((weak)) void suspend_wakeup_init_keymap(void) {} |
| 117 | 122 | ||
| @@ -146,17 +151,34 @@ void matrix_scan_user(void) { | |||
| 146 | matrix_scan_keymap(); | 151 | matrix_scan_keymap(); |
| 147 | } | 152 | } |
| 148 | 153 | ||
| 154 | #ifdef AUDIO_ENABLE | ||
| 155 | float doom_song[][2] = SONG(E1M1_DOOM); | ||
| 156 | #endif | ||
| 157 | |||
| 149 | __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } | 158 | __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } |
| 150 | 159 | ||
| 151 | // on layer change, no matter where the change was initiated | 160 | // on layer change, no matter where the change was initiated |
| 152 | // Then runs keymap's layer change check | 161 | // Then runs keymap's layer change check |
| 153 | layer_state_t layer_state_set_user(layer_state_t state) { | 162 | layer_state_t layer_state_set_user(layer_state_t state) { |
| 154 | if (!is_keyboard_master()) { return state; } | 163 | if (!is_keyboard_master()) { |
| 155 | 164 | return state; | |
| 165 | } | ||
| 166 | |||
| 156 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); | 167 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); |
| 157 | #if defined(RGBLIGHT_ENABLE) | 168 | #if defined(RGBLIGHT_ENABLE) |
| 158 | state = layer_state_set_rgb_light(state); | 169 | state = layer_state_set_rgb_light(state); |
| 159 | #endif // RGBLIGHT_ENABLE | 170 | #endif // RGBLIGHT_ENABLE |
| 171 | #if defined(AUDIO_ENABLE) && !defined(__arm__) | ||
| 172 | static bool is_gamepad_on = false; | ||
| 173 | if (layer_state_cmp(state, _GAMEPAD) != is_gamepad_on) { | ||
| 174 | is_gamepad_on = layer_state_cmp(state, _GAMEPAD); | ||
| 175 | if (is_gamepad_on) { | ||
| 176 | PLAY_LOOP(doom_song); | ||
| 177 | } else { | ||
| 178 | stop_all_notes(); | ||
| 179 | } | ||
| 180 | } | ||
| 181 | #endif | ||
| 160 | return layer_state_set_keymap(state); | 182 | return layer_state_set_keymap(state); |
| 161 | } | 183 | } |
| 162 | 184 | ||
| @@ -164,7 +186,9 @@ __attribute__((weak)) layer_state_t default_layer_state_set_keymap(layer_state_t | |||
| 164 | 186 | ||
| 165 | // Runs state check and changes underglow color and animation | 187 | // Runs state check and changes underglow color and animation |
| 166 | layer_state_t default_layer_state_set_user(layer_state_t state) { | 188 | layer_state_t default_layer_state_set_user(layer_state_t state) { |
| 167 | if (!is_keyboard_master()) { return state; } | 189 | if (!is_keyboard_master()) { |
| 190 | return state; | ||
| 191 | } | ||
| 168 | 192 | ||
| 169 | state = default_layer_state_set_keymap(state); | 193 | state = default_layer_state_set_keymap(state); |
| 170 | #if 0 | 194 | #if 0 |
| @@ -189,6 +213,9 @@ void eeconfig_init_user(void) { | |||
| 189 | userspace_config.rgb_layer_change = true; | 213 | userspace_config.rgb_layer_change = true; |
| 190 | eeconfig_update_user(userspace_config.raw); | 214 | eeconfig_update_user(userspace_config.raw); |
| 191 | eeconfig_init_keymap(); | 215 | eeconfig_init_keymap(); |
| 216 | #ifdef VIA_ENABLE | ||
| 217 | via_eeprom_reset(); | ||
| 218 | #endif | ||
| 192 | keyboard_init(); | 219 | keyboard_init(); |
| 193 | } | 220 | } |
| 194 | 221 | ||
