qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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 }