aboutsummaryrefslogtreecommitdiff
path: root/keyboards/subatomic/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/subatomic/keymaps/default/keymap.c')
-rw-r--r--keyboards/subatomic/keymaps/default/keymap.c70
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
164float tone_startup[][2] = {
165 {NOTE_B5, 20},
166 {NOTE_B6, 8},
167 {NOTE_DS6, 20},
168 {NOTE_B6, 8}
169};
170
171float tone_qwerty[][2] = SONG(QWERTY_SOUND);
172float tone_dvorak[][2] = SONG(DVORAK_SOUND);
173float tone_colemak[][2] = SONG(COLEMAK_SOUND);
174
175float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
176
177float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
178#endif
179
180void persistent_default_layer_set(uint16_t default_layer) {
181 eeconfig_update_default_layer(default_layer);
182 default_layer_set(default_layer);
183}
184
185bool process_record_user(uint16_t keycode, keyrecord_t *record) { 163bool 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
249void matrix_init_user(void) {
250 #ifdef AUDIO_ENABLE
251 startup_user();
252 #endif
253}
254
255#ifdef AUDIO_ENABLE
256
257void startup_user()
258{
259 _delay_ms(20); // gets rid of tick
260 PLAY_SONG(tone_startup);
261}
262
263void shutdown_user()
264{
265 PLAY_SONG(tone_goodbye);
266 _delay_ms(150);
267 stop_all_notes();
268}
269
270void music_on_user(void)
271{
272 music_scale_user();
273}
274
275void music_scale_user(void)
276{
277 PLAY_SONG(music_scale);
278}
279
280#endif