keymap.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include QMK_KEYBOARD_H
  2. enum custom_keycodes {
  3. SONG_SU = SAFE_RANGE,
  4. SONG_SC,
  5. SONG_GB
  6. };
  7. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  8. [0] = LAYOUT(
  9. RGB_TOG, RGB_SAI, RGB_VAI,
  10. RGB_HUD, RGB_HUI,
  11. RGB_MOD, RGB_SAD, RGB_VAD,
  12. BL_STEP,
  13. SONG_SU,SONG_SC,SONG_GB
  14. )
  15. };
  16. #ifdef AUDIO_ENABLE
  17. float tone_startup[][2] = SONG(STARTUP_SOUND);
  18. float tone_qwerty[][2] = SONG(QWERTY_SOUND);
  19. float tone_dvorak[][2] = SONG(DVORAK_SOUND);
  20. float tone_colemak[][2] = SONG(COLEMAK_SOUND);
  21. float tone_plover[][2] = SONG(PLOVER_SOUND);
  22. float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
  23. float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
  24. float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
  25. #endif
  26. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  27. switch (keycode) {
  28. #ifdef AUDIO_ENABLE
  29. case SONG_SU:
  30. if (record->event.pressed) {
  31. PLAY_SONG(tone_startup);
  32. }
  33. return false;
  34. case SONG_SC:
  35. if (record->event.pressed) {
  36. PLAY_SONG(music_scale);
  37. }
  38. return false;
  39. case SONG_GB:
  40. if (record->event.pressed) {
  41. PLAY_SONG(tone_goodbye);
  42. }
  43. return false;
  44. #endif
  45. default:
  46. return true;
  47. }
  48. }