logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.c (1247B)


  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. UG_TOGG, UG_SATU, UG_VALU,
  10. UG_HUED, UG_HUEU,
  11. UG_NEXT, UG_SATD, UG_VALD,
  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. }