keymap.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. void matrix_init_user(void) {
  27. }
  28. void matrix_scan_user(void) {
  29. }
  30. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  31. switch (keycode) {
  32. #ifdef AUDIO_ENABLE
  33. case SONG_SU:
  34. if (record->event.pressed) {
  35. PLAY_SONG(tone_startup);
  36. }
  37. return false;
  38. case SONG_SC:
  39. if (record->event.pressed) {
  40. PLAY_SONG(music_scale);
  41. }
  42. return false;
  43. case SONG_GB:
  44. if (record->event.pressed) {
  45. PLAY_SONG(tone_goodbye);
  46. }
  47. return false;
  48. #endif
  49. default:
  50. return true;
  51. }
  52. }
  53. void led_set_user(uint8_t usb_led) {
  54. }