diff options
Diffstat (limited to 'keyboards/subatomic/keymaps/default/keymap.c')
| -rw-r--r-- | keyboards/subatomic/keymaps/default/keymap.c | 70 |
1 files changed, 3 insertions, 67 deletions
diff --git a/keyboards/subatomic/keymaps/default/keymap.c b/keyboards/subatomic/keymaps/default/keymap.c index c6af62548..c5041f6e1 100644 --- a/keyboards/subatomic/keymaps/default/keymap.c +++ b/keyboards/subatomic/keymaps/default/keymap.c | |||
| @@ -160,54 +160,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 160 | 160 | ||
| 161 | }; | 161 | }; |
| 162 | 162 | ||
| 163 | #ifdef AUDIO_ENABLE | ||
| 164 | float tone_startup[][2] = { | ||
| 165 | {NOTE_B5, 20}, | ||
| 166 | {NOTE_B6, 8}, | ||
| 167 | {NOTE_DS6, 20}, | ||
| 168 | {NOTE_B6, 8} | ||
| 169 | }; | ||
| 170 | |||
| 171 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); | ||
| 172 | float tone_dvorak[][2] = SONG(DVORAK_SOUND); | ||
| 173 | float tone_colemak[][2] = SONG(COLEMAK_SOUND); | ||
| 174 | |||
| 175 | float tone_goodbye[][2] = SONG(GOODBYE_SOUND); | ||
| 176 | |||
| 177 | float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); | ||
| 178 | #endif | ||
| 179 | |||
| 180 | void persistent_default_layer_set(uint16_t default_layer) { | ||
| 181 | eeconfig_update_default_layer(default_layer); | ||
| 182 | default_layer_set(default_layer); | ||
| 183 | } | ||
| 184 | |||
| 185 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 163 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 186 | switch (keycode) { | 164 | switch (keycode) { |
| 187 | case QWERTY: | 165 | case QWERTY: |
| 188 | if (record->event.pressed) { | 166 | if (record->event.pressed) { |
| 189 | #ifdef AUDIO_ENABLE | 167 | set_single_persistent_default_layer(_QWERTY); |
| 190 | PLAY_SONG(tone_qwerty); | ||
| 191 | #endif | ||
| 192 | persistent_default_layer_set(1UL<<_QWERTY); | ||
| 193 | } | 168 | } |
| 194 | return false; | 169 | return false; |
| 195 | break; | 170 | break; |
| 196 | case COLEMAK: | 171 | case COLEMAK: |
| 197 | if (record->event.pressed) { | 172 | if (record->event.pressed) { |
| 198 | #ifdef AUDIO_ENABLE | 173 | set_single_persistent_default_layer(_COLEMAK); |
| 199 | PLAY_SONG(tone_colemak); | ||
| 200 | #endif | ||
| 201 | persistent_default_layer_set(1UL<<_COLEMAK); | ||
| 202 | } | 174 | } |
| 203 | return false; | 175 | return false; |
| 204 | break; | 176 | break; |
| 205 | case DVORAK: | 177 | case DVORAK: |
| 206 | if (record->event.pressed) { | 178 | if (record->event.pressed) { |
| 207 | #ifdef AUDIO_ENABLE | 179 | set_single_persistent_default_layer(_DVORAK); |
| 208 | PLAY_SONG(tone_dvorak); | ||
| 209 | #endif | ||
| 210 | persistent_default_layer_set(1UL<<_DVORAK); | ||
| 211 | } | 180 | } |
| 212 | return false; | 181 | return false; |
| 213 | break; | 182 | break; |
| @@ -245,36 +214,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 245 | } | 214 | } |
| 246 | return true; | 215 | return true; |
| 247 | }; | 216 | }; |
| 248 | |||
| 249 | void matrix_init_user(void) { | ||
| 250 | #ifdef AUDIO_ENABLE | ||
| 251 | startup_user(); | ||
| 252 | #endif | ||
| 253 | } | ||
| 254 | |||
| 255 | #ifdef AUDIO_ENABLE | ||
| 256 | |||
| 257 | void startup_user() | ||
| 258 | { | ||
| 259 | _delay_ms(20); // gets rid of tick | ||
| 260 | PLAY_SONG(tone_startup); | ||
| 261 | } | ||
| 262 | |||
| 263 | void shutdown_user() | ||
| 264 | { | ||
| 265 | PLAY_SONG(tone_goodbye); | ||
| 266 | _delay_ms(150); | ||
| 267 | stop_all_notes(); | ||
| 268 | } | ||
| 269 | |||
| 270 | void music_on_user(void) | ||
| 271 | { | ||
| 272 | music_scale_user(); | ||
| 273 | } | ||
| 274 | |||
| 275 | void music_scale_user(void) | ||
| 276 | { | ||
| 277 | PLAY_SONG(music_scale); | ||
| 278 | } | ||
| 279 | |||
| 280 | #endif | ||
