|
|
- #include "feature_default_layers_selector.h"
-
- #ifdef AUDIO_ENABLE
- #include "audio.h"
- #ifdef DEFAULT_LAYER_SONGS
- extern float default_layer_songs[][16][2];
- #endif
- #endif
-
- bool process_record_save_default_layer(uint16_t keycode, keyrecord_t *record) {
-
- #if defined(AUDIO_ENABLE)
- float saved_song[][2] = SONG(COIN_SOUND);
- #endif
-
- if (!(keycode == KF_LAYO
- && record->event.pressed
- && get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)))) {
- return true;
- }
-
- eeconfig_update_default_layer(default_layer_state);
- #if defined(AUDIO_ENABLE)
- PLAY_SONG(saved_song);
- #endif
- return false;
- }
-
- bool process_record_select_default_layer(uint16_t keycode, keyrecord_t *record) {
- if (!(keycode == KF_LAYO
- && record->event.pressed)) {
- return true;
- }
- if (!default_layer_state) {
- default_layer_set(2);
- } else {
- default_layer_set(
- (((1U<<(highest_base_layer+1))-1) & (default_layer_state<<1))
- | (default_layer_state>>highest_base_layer));
- }
- led_set(host_keyboard_leds());
- #if defined(AUDIO_ENABLE) && defined(DEFAULT_LAYER_SONGS)
- PLAY_SONG(default_layer_songs[get_highest_layer(default_layer_state)]);
- #endif
- return false;
- }
|