keymap.c (1247B)
1 #include QMK_KEYBOARD_H 2 3 enum custom_keycodes { 4 SONG_SU = SAFE_RANGE, 5 SONG_SC, 6 SONG_GB 7 }; 8 9 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 10 [0] = LAYOUT( 11 UG_TOGG, UG_SATU, UG_VALU, 12 UG_HUED, UG_HUEU, 13 UG_NEXT, UG_SATD, UG_VALD, 14 BL_STEP, 15 SONG_SU,SONG_SC,SONG_GB 16 ) 17 }; 18 19 #ifdef AUDIO_ENABLE 20 21 float tone_startup[][2] = SONG(STARTUP_SOUND); 22 float tone_qwerty[][2] = SONG(QWERTY_SOUND); 23 float tone_dvorak[][2] = SONG(DVORAK_SOUND); 24 float tone_colemak[][2] = SONG(COLEMAK_SOUND); 25 float tone_plover[][2] = SONG(PLOVER_SOUND); 26 float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); 27 float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); 28 29 float tone_goodbye[][2] = SONG(GOODBYE_SOUND); 30 #endif 31 32 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 33 switch (keycode) { 34 #ifdef AUDIO_ENABLE 35 case SONG_SU: 36 if (record->event.pressed) { 37 PLAY_SONG(tone_startup); 38 } 39 40 return false; 41 42 case SONG_SC: 43 if (record->event.pressed) { 44 PLAY_SONG(music_scale); 45 } 46 47 return false; 48 49 case SONG_GB: 50 if (record->event.pressed) { 51 PLAY_SONG(tone_goodbye); 52 } 53 54 return false; 55 #endif 56 default: 57 return true; 58 } 59 }