aboutsummaryrefslogtreecommitdiff
path: root/keyboard/atomic/keymaps/pvc/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/atomic/keymaps/pvc/keymap.c')
-rw-r--r--keyboard/atomic/keymaps/pvc/keymap.c69
1 files changed, 49 insertions, 20 deletions
diff --git a/keyboard/atomic/keymaps/pvc/keymap.c b/keyboard/atomic/keymaps/pvc/keymap.c
index 95a26c5b4..c6642919b 100644
--- a/keyboard/atomic/keymaps/pvc/keymap.c
+++ b/keyboard/atomic/keymaps/pvc/keymap.c
@@ -13,9 +13,9 @@
13#define LAYER_DVORAK 2 13#define LAYER_DVORAK 2
14#define LAYER_LOWER 3 14#define LAYER_LOWER 3
15#define LAYER_RAISE 4 15#define LAYER_RAISE 4
16#define LAYER_ADJUST 5 16#define LAYER_FUNCTION 5
17#define LAYER_FUNCTION 6 17#define LAYER_MUSIC 6
18#define LAYER_MUSIC 7 18#define LAYER_ADJUST 7
19 19
20#define MACRO_QWERTY 0 20#define MACRO_QWERTY 0
21#define MACRO_COLEMAK 1 21#define MACRO_COLEMAK 1
@@ -34,6 +34,8 @@
34#define MACRO_MUSIC_OFF 14 34#define MACRO_MUSIC_OFF 14
35#define MACRO_AUDIO_ON 15 35#define MACRO_AUDIO_ON 15
36#define MACRO_AUDIO_OFF 16 36#define MACRO_AUDIO_OFF 16
37#define MACRO_INC_VOICE 17
38#define MACRO_DEC_VOICE 18
37 39
38#define M_QWRTY M(MACRO_QWERTY) 40#define M_QWRTY M(MACRO_QWERTY)
39#define M_COLMK M(MACRO_COLEMAK) 41#define M_COLMK M(MACRO_COLEMAK)
@@ -54,6 +56,8 @@
54#define MUS_OFF M(MACRO_MUSIC_OFF) 56#define MUS_OFF M(MACRO_MUSIC_OFF)
55#define AUD_OFF M(MACRO_AUDIO_OFF) 57#define AUD_OFF M(MACRO_AUDIO_OFF)
56#define AUD_ON M(MACRO_AUDIO_ON) 58#define AUD_ON M(MACRO_AUDIO_ON)
59#define VC_UP M(MACRO_INC_VOICE)
60#define VC_DOWN M(MACRO_DEC_VOICE)
57 61
58 62
59#define SC_UNDO LCTL(KC_Z) 63#define SC_UNDO LCTL(KC_Z)
@@ -164,20 +168,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R }, 168 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
165 }, 169 },
166 170
171 [LAYER_MUSIC] = {
172 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
173 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
174 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
175 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
176 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_RAISE, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
177 },
178
167 [LAYER_ADJUST] = { /* ADJUST */ 179 [LAYER_ADJUST] = { /* ADJUST */
168 { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, MUS_ON, MUS_OFF, AUD_ON, AUD_OFF, ___T___, ___T___ }, 180 { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, MUS_ON, MUS_OFF, AUD_ON, AUD_OFF, ___T___, ___T___ },
169 { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, 181 { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
170 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ }, 182 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ },
171 { _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______ }, 183 { _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, ___T___, ___T___, VC_UP, _______ },
172 { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, _______, _______ }, 184 { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, VC_DOWN, _______ },
173 },
174
175 [LAYER_MUSIC] = {
176 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___ },
177 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
178 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______ },
179 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______ },
180 { _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______, _______, _______, _______, _______, _______, _______ },
181 }, 185 },
182}; 186};
183 187
@@ -187,8 +191,8 @@ float tone_my_startup[][2] = SONG(ODE_TO_JOY);
187float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); 191float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
188 192
189float tone_qwerty[][2] = SONG(QWERTY_SOUND); 193float tone_qwerty[][2] = SONG(QWERTY_SOUND);
190float tone_dvorak[][2] = SONG(COLEMAK_SOUND); 194float tone_dvorak[][2] = SONG(DVORAK_SOUND);
191float tone_colemak[][2] = SONG(DVORAK_SOUND); 195float tone_colemak[][2] = SONG(COLEMAK_SOUND);
192 196
193float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); 197float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
194float tone_music_on[][2] = SONG(DOE_A_DEER); 198float tone_music_on[][2] = SONG(DOE_A_DEER);
@@ -198,6 +202,7 @@ float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND);
198float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); 202float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND);
199float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); 203float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND);
200float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); 204float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
205float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
201 206
202#endif /* AUDIO_ENABLE */ 207#endif /* AUDIO_ENABLE */
203 208
@@ -380,6 +385,26 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
380 } 385 }
381 break; 386 break;
382 387
388 case MACRO_INC_VOICE:
389 if (record->event.pressed)
390 {
391 #ifdef AUDIO_ENABLE
392 voice_iterate();
393 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
394 #endif
395 }
396 break;
397
398 case MACRO_DEC_VOICE:
399 if (record->event.pressed)
400 {
401 #ifdef AUDIO_ENABLE
402 voice_deiterate();
403 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
404 #endif
405 }
406 break;
407
383 default: 408 default:
384 break; 409 break;
385 410
@@ -390,12 +415,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
390 415
391#ifdef AUDIO_ENABLE 416#ifdef AUDIO_ENABLE
392 417
393uint8_t starting_note = 0x0C;
394int offset = 7;
395
396 418
397void process_action_user(keyrecord_t *record) 419void process_action_user(keyrecord_t *record)
398{ 420{
421
422 uint8_t starting_note = 0x0C;
423 int offset = 7;
424
399 if (IS_LAYER_ON(LAYER_MUSIC)) 425 if (IS_LAYER_ON(LAYER_MUSIC))
400 { 426 {
401 if (record->event.pressed) 427 if (record->event.pressed)
@@ -412,7 +438,7 @@ void process_action_user(keyrecord_t *record)
412 438
413void matrix_init_user(void) 439void matrix_init_user(void)
414{ 440{
415 init_notes(); 441 set_voice(default_voice);
416 play_startup_tone(); 442 play_startup_tone();
417 println("Matrix Init"); 443 println("Matrix Init");
418} 444}
@@ -421,6 +447,8 @@ void led_set_user(uint8_t usb_led)
421{ 447{
422 static uint8_t old_usb_led = 0; 448 static uint8_t old_usb_led = 0;
423 449
450 _delay_ms(10); // gets rid of tick
451
424 if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) 452 if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
425 { 453 {
426 // If CAPS LK LED is turning on... 454 // If CAPS LK LED is turning on...
@@ -457,13 +485,14 @@ void led_set_user(uint8_t usb_led)
457 485
458void play_startup_tone() 486void play_startup_tone()
459{ 487{
488 _delay_ms(10); // gets rid of tick
460 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO); 489 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
461} 490}
462 491
463void play_goodbye_tone() 492void play_goodbye_tone()
464{ 493{
465 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO); 494 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
466 _delay_ms(2000); 495 _delay_ms(1000);
467} 496}
468 497
469#endif /* AUDIO_ENABLE */ 498#endif /* AUDIO_ENABLE */