|
@@ -3,11 +3,35 @@
|
|
|
#define _______ KC_TRNS
|
|
|
|
|
|
enum keyboard_layers {
|
|
|
- _BL,
|
|
|
- _FL,
|
|
|
- _CL
|
|
|
+ _BL,
|
|
|
+ _FL,
|
|
|
+ _CL
|
|
|
};
|
|
|
|
|
|
+enum custom_keycodes {
|
|
|
+ S_BSKTC = SAFE_RANGE,
|
|
|
+ S_ODEJY,
|
|
|
+ S_RCKBY,
|
|
|
+ S_DOEDR,
|
|
|
+ S_SCALE,
|
|
|
+ S_ONEUP,
|
|
|
+ S_COIN,
|
|
|
+ S_SONIC,
|
|
|
+ S_ZELDA
|
|
|
+};
|
|
|
+
|
|
|
+#ifdef AUDIO_ENABLE
|
|
|
+ float song_basketcase[][2] = SONG(BASKET_CASE);
|
|
|
+ float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
|
|
|
+ float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
|
|
|
+ float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
|
|
|
+ float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
|
|
+ float song_coin[][2] = SONG(COIN_SOUND);
|
|
|
+ float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
|
|
+ float song_sonic_ring[][2] = SONG(SONIC_RING);
|
|
|
+ float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
|
|
|
+#endif
|
|
|
+
|
|
|
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
/* Layer 0: Default Layer
|
|
|
* ,-----------------------------------------------------------.
|
|
@@ -33,11 +57,71 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
|
|
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
|
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, \
|
|
|
- _______, _______, _______, _______, _______, _______, MO(_FL), _______),
|
|
|
+ _______,_______,_______, _______, _______, _______, MO(_FL), _______),
|
|
|
[_CL] = KEYMAP(
|
|
|
- BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
|
|
|
+ BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,\
|
|
|
_______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
|
|
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
|
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
|
_______, _______, _______, _______, _______, _______, MO(_FL), _______)
|
|
|
};
|
|
|
+
|
|
|
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
|
+ switch (keycode) {
|
|
|
+ case S_BSKTC:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_basketcase);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_ODEJY:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_ode_to_joy);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_RCKBY:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_rock_a_bye_baby);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_DOEDR:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_doe_a_deer);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_SCALE:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_scale);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_ONEUP:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_one_up);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_COIN:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_coin);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_SONIC:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_sonic_ring);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case S_ZELDA:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ stop_all_notes();
|
|
|
+ PLAY_SONG(song_zelda_puzzle);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+}
|