aboutsummaryrefslogtreecommitdiff
path: root/keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard')
-rw-r--r--keyboard/atomic/keymaps/pvc/keymap.c373
-rw-r--r--keyboard/atomic/keymaps/pvc/makefile.mk2
2 files changed, 190 insertions, 185 deletions
diff --git a/keyboard/atomic/keymaps/pvc/keymap.c b/keyboard/atomic/keymaps/pvc/keymap.c
index c2081f525..aaef6b041 100644
--- a/keyboard/atomic/keymaps/pvc/keymap.c
+++ b/keyboard/atomic/keymaps/pvc/keymap.c
@@ -3,7 +3,7 @@
3 3
4#ifdef AUDIO_ENABLE 4#ifdef AUDIO_ENABLE
5#include "audio.h" 5#include "audio.h"
6#include "musical_notes.h" 6#include "song_list.h"
7#endif 7#endif
8 8
9 9
@@ -17,6 +17,13 @@
17#define M_LW 1 17#define M_LW 1
18#define M_RS 2 18#define M_RS 2
19#define M_FN 3 19#define M_FN 3
20#define M_T1 4
21#define M_T2 5
22#define M_T3 6
23#define M_T4 7
24#define M_TU 8
25#define M_TD 9
26#define M_DF 10
20 27
21 28
22#define _______ KC_TRNS 29#define _______ KC_TRNS
@@ -63,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63 { KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ }, 70 { KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ },
64 { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR }, 71 { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR },
65 { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U }, 72 { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U },
66 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D }, 73 { _______, M(M_T1), M(M_T2), M(M_T3), M(M_T4), M(M_TU), M(M_TD), M(M_DF), _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D },
67 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R }, 74 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
68 }, 75 },
69 [_AD] = { /* ADJUST */ 76 [_AD] = { /* ADJUST */
@@ -76,139 +83,124 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76}; 83};
77 84
78 85
86
79#ifdef AUDIO_ENABLE 87#ifdef AUDIO_ENABLE
80 88
89float start_up[][2] = SONG(ODE_TO_JOY);
81 90
91float tone_lw[][2] = {
82 92
93 Q__NOTE(_C4 ) ,
94 Q__NOTE(_CS4 ) ,
95 Q__NOTE(_D4 ) ,
96 Q__NOTE(_DS4 ) ,
97 Q__NOTE(_E4 ) ,
98 Q__NOTE(_F4 ) ,
99 Q__NOTE(_FS4 ) ,
100 Q__NOTE(_G4 ) ,
101 Q__NOTE(_GS4 ) ,
102 Q__NOTE(_A4 ) ,
103 Q__NOTE(_AS4 ) ,
83 104
84float tone_lw[][2] = { 105 Q__NOTE(_B1 ) ,
85/*
86Q_NOTE(_C1 ) ,
87Q_NOTE(_CS1 ) ,
88Q_NOTE(_D1 ) ,
89Q_NOTE(_DS1 ) ,
90Q_NOTE(_E1 ) ,
91Q_NOTE(_F1 ) ,
92Q_NOTE(_FS1 ) ,
93Q_NOTE(_G1 ) ,
94Q_NOTE(_GS1 ) ,
95Q_NOTE(_A1 ) ,
96Q_NOTE(_AS1 ) ,
97Q_NOTE(_B1 ) ,
98*/
99
100Q_NOTE(_C4 ) ,
101Q_NOTE(_CS4 ) ,
102Q_NOTE(_D4 ) ,
103Q_NOTE(_DS4 ) ,
104Q_NOTE(_E4 ) ,
105Q_NOTE(_F4 ) ,
106Q_NOTE(_FS4 ) ,
107Q_NOTE(_G4 ) ,
108Q_NOTE(_GS4 ) ,
109Q_NOTE(_A4 ) ,
110Q_NOTE(_AS4 ) ,
111Q_NOTE(_B1 ) ,
112
113
114Q_NOTE(_C2 ) ,
115Q_NOTE(_CS2 ) ,
116Q_NOTE(_D2 ) ,
117Q_NOTE(_DS2 ) ,
118Q_NOTE(_E2 ) ,
119Q_NOTE(_F2 ) ,
120Q_NOTE(_FS2 ) ,
121Q_NOTE(_G2 ) ,
122Q_NOTE(_GS2 ) ,
123Q_NOTE(_A2 ) ,
124Q_NOTE(_AS2 ) ,
125Q_NOTE(_B2 ) ,
126Q_NOTE(_C3 ) ,
127Q_NOTE(_CS3 ) ,
128Q_NOTE(_D3 ) ,
129Q_NOTE(_DS3 ) ,
130Q_NOTE(_E3 ) ,
131Q_NOTE(_F3 ) ,
132Q_NOTE(_FS3 ) ,
133Q_NOTE(_G3 ) ,
134Q_NOTE(_GS3 ) ,
135Q_NOTE(_A3 ) ,
136Q_NOTE(_AS3 ) ,
137Q_NOTE(_B3 ) ,
138Q_NOTE(_C4 ) ,
139Q_NOTE(_CS4 ) ,
140Q_NOTE(_D4 ) ,
141Q_NOTE(_DS4 ) ,
142Q_NOTE(_E4 ) ,
143Q_NOTE(_F4 ) ,
144Q_NOTE(_FS4 ) ,
145Q_NOTE(_G4 ) ,
146Q_NOTE(_GS4 ) ,
147Q_NOTE(_A4 ) ,
148Q_NOTE(_AS4 ) ,
149Q_NOTE(_B4 ) ,
150Q_NOTE(_C5 ) ,
151Q_NOTE(_CS5 ) ,
152Q_NOTE(_D5 ) ,
153Q_NOTE(_DS5 ) ,
154Q_NOTE(_E5 ) ,
155Q_NOTE(_F5 ) ,
156Q_NOTE(_FS5 ) ,
157Q_NOTE(_G5 ) ,
158Q_NOTE(_GS5 ) ,
159Q_NOTE(_A5 ) ,
160Q_NOTE(_AS5 ) ,
161Q_NOTE(_B5 ) ,
162Q_NOTE(_C6 ) ,
163Q_NOTE(_CS6 ) ,
164Q_NOTE(_D6 ) ,
165Q_NOTE(_DS6 ) ,
166Q_NOTE(_E6 ) ,
167Q_NOTE(_F6 ) ,
168Q_NOTE(_FS6 ) ,
169Q_NOTE(_G6 ) ,
170Q_NOTE(_GS6 ) ,
171Q_NOTE(_A6 ) ,
172Q_NOTE(_AS6 ) ,
173Q_NOTE(_B6 ) ,
174Q_NOTE(_C7 ) ,
175Q_NOTE(_CS7 ) ,
176Q_NOTE(_D7 ) ,
177Q_NOTE(_DS7 ) ,
178Q_NOTE(_E7 ) ,
179Q_NOTE(_F7 ) ,
180Q_NOTE(_FS7 ) ,
181Q_NOTE(_G7 ) ,
182Q_NOTE(_GS7 ) ,
183Q_NOTE(_A7 ) ,
184Q_NOTE(_AS7 ) ,
185Q_NOTE(_B7 ) ,
186Q_NOTE(_C8 ) ,
187Q_NOTE(_CS8 ) ,
188Q_NOTE(_D8 ) ,
189Q_NOTE(_DS8 ) ,
190Q_NOTE(_E8 ) ,
191Q_NOTE(_F8 ) ,
192Q_NOTE(_FS8 ) ,
193Q_NOTE(_G8 ) ,
194Q_NOTE(_GS8 ) ,
195Q_NOTE(_A8 ) ,
196Q_NOTE(_AS8 ) ,
197Q_NOTE(_B8 ) ,
198 106
107 Q__NOTE(_C2 ) ,
108 Q__NOTE(_CS2 ) ,
109 Q__NOTE(_D2 ) ,
110 Q__NOTE(_DS2 ) ,
111 Q__NOTE(_E2 ) ,
112 Q__NOTE(_F2 ) ,
113 Q__NOTE(_FS2 ) ,
114 Q__NOTE(_G2 ) ,
115 Q__NOTE(_GS2 ) ,
116 Q__NOTE(_A2 ) ,
117 Q__NOTE(_AS2 ) ,
118 Q__NOTE(_B2 ) ,
119 Q__NOTE(_C3 ) ,
120 Q__NOTE(_CS3 ) ,
121 Q__NOTE(_D3 ) ,
122 Q__NOTE(_DS3 ) ,
123 Q__NOTE(_E3 ) ,
124 Q__NOTE(_F3 ) ,
125 Q__NOTE(_FS3 ) ,
126 Q__NOTE(_G3 ) ,
127 Q__NOTE(_GS3 ) ,
128 Q__NOTE(_A3 ) ,
129 Q__NOTE(_AS3 ) ,
130 Q__NOTE(_B3 ) ,
131 Q__NOTE(_C4 ) ,
132 Q__NOTE(_CS4 ) ,
133 Q__NOTE(_D4 ) ,
134 Q__NOTE(_DS4 ) ,
135 Q__NOTE(_E4 ) ,
136 Q__NOTE(_F4 ) ,
137 Q__NOTE(_FS4 ) ,
138 Q__NOTE(_G4 ) ,
139 Q__NOTE(_GS4 ) ,
140 Q__NOTE(_A4 ) ,
141 Q__NOTE(_AS4 ) ,
142 Q__NOTE(_B4 ) ,
143 Q__NOTE(_C5 ) ,
144 Q__NOTE(_CS5 ) ,
145 Q__NOTE(_D5 ) ,
146 Q__NOTE(_DS5 ) ,
147 Q__NOTE(_E5 ) ,
148 Q__NOTE(_F5 ) ,
149 Q__NOTE(_FS5 ) ,
150 Q__NOTE(_G5 ) ,
151 Q__NOTE(_GS5 ) ,
152 Q__NOTE(_A5 ) ,
153 Q__NOTE(_AS5 ) ,
154 Q__NOTE(_B5 ) ,
155 Q__NOTE(_C6 ) ,
156 Q__NOTE(_CS6 ) ,
157 Q__NOTE(_D6 ) ,
158 Q__NOTE(_DS6 ) ,
159 Q__NOTE(_E6 ) ,
160 Q__NOTE(_F6 ) ,
161 Q__NOTE(_FS6 ) ,
162 Q__NOTE(_G6 ) ,
163 Q__NOTE(_GS6 ) ,
164 Q__NOTE(_A6 ) ,
165 Q__NOTE(_AS6 ) ,
166 Q__NOTE(_B6 ) ,
167 Q__NOTE(_C7 ) ,
168 Q__NOTE(_CS7 ) ,
169 Q__NOTE(_D7 ) ,
170 Q__NOTE(_DS7 ) ,
171 Q__NOTE(_E7 ) ,
172 Q__NOTE(_F7 ) ,
173 Q__NOTE(_FS7 ) ,
174 Q__NOTE(_G7 ) ,
175 Q__NOTE(_GS7 ) ,
176 Q__NOTE(_A7 ) ,
177 Q__NOTE(_AS7 ) ,
178 Q__NOTE(_B7 ) ,
179 Q__NOTE(_C8 ) ,
180 Q__NOTE(_CS8 ) ,
181 Q__NOTE(_D8 ) ,
182 Q__NOTE(_DS8 ) ,
183 Q__NOTE(_E8 ) ,
184 Q__NOTE(_F8 ) ,
185 Q__NOTE(_FS8 ) ,
186 Q__NOTE(_G8 ) ,
187 Q__NOTE(_GS8 ) ,
188 Q__NOTE(_A8 ) ,
189 Q__NOTE(_AS8 ) ,
190 Q__NOTE(_B8 ) ,
199}; 191};
200 192
201float tone_rs[][2] = { 193float tone_rs[][2] = SONG(ROCK_A_BYE_BABY);
202Q_NOTE(_A4 ) , 194
203Q_NOTE(_A4 ) , 195void matrix_init_user(void) {
204Q_NOTE(_A4 ) , 196 init_notes();
205Q_NOTE(_A4 ) , 197 PLAY_NOTE_ARRAY(start_up, false, STACCATO);
206Q_NOTE(_AS8 ) , 198 println("Matrix Init");
207Q_NOTE(_B8 ) , 199}
208};
209 200
210#endif 201#endif
211 202
203
212void update_quad_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3, uint8_t layer4, bool order) 204void update_quad_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3, uint8_t layer4, bool order)
213{ 205{
214 if (order) 206 if (order)
@@ -241,69 +233,82 @@ void update_quad_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3, uint8_t l
241const uint16_t PROGMEM fn_actions[] = { 233const uint16_t PROGMEM fn_actions[] = {
242}; 234};
243 235
244//#define MUSIC_ARRAY_SIZE(x) (((int)(sizeof(x) / (sizeof(x[0][0])))) / 2)
245 236
246const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 237const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
247{ 238{
248 239
249 // MACRODOWN only works in this function 240 // MACRODOWN only works in this function
250 switch(id) { 241 switch(id)
251 case M_LW: 242 {
252 if (record->event.pressed) { 243 case M_LW:
253 #ifdef AUDIO_ENABLE 244 if (record->event.pressed) {
254 println("PlayNotes LW"); 245 #ifdef AUDIO_ENABLE
255 PLAY_NOTE_ARRAY(tone_lw, false, STACCATO); 246 PLAY_NOTE_ARRAY(tone_lw, false, STACCATO);
256 #endif 247 #endif
257 layer_on(_LW); 248 layer_on(_LW);
258 update_tri_layer(_LW, _RS, _FN); 249 update_tri_layer(_LW, _RS, _AD);
259 } else { 250 } else {
260 layer_off(_LW); 251 layer_off(_LW);
261 update_tri_layer(_LW, _RS, _FN); 252 update_tri_layer(_LW, _RS, _AD);
262 } 253 }
263 break; 254 break;
264 case M_RS: 255 case M_RS:
265 if (record->event.pressed) { 256 if (record->event.pressed) {
266 #ifdef AUDIO_ENABLE 257 #ifdef AUDIO_ENABLE
267 println("PlayNotes RS"); 258 PLAY_NOTE_ARRAY(tone_rs, false, LEGATO);
268 PLAY_NOTE_ARRAY(tone_rs, false, LEGATO); 259 #endif
269 #endif 260 layer_on(_RS);
270 layer_on(_RS); 261 update_tri_layer(_LW, _RS, _AD);
271 update_tri_layer(_LW, _RS, _FN); 262 } else {
272 } else { 263 layer_off(_RS);
273 layer_off(_RS); 264 update_tri_layer(_LW, _RS, _AD);
274 update_tri_layer(_LW, _RS, _FN); 265 }
275 } 266 break;
276 break;
277 default:
278 break;
279 }
280 return MACRO_NONE;
281};
282 267
283#ifdef AUDIO_ENABLE 268 case M_FN:
284float start_up[][2] = { 269 if (record->event.pressed) {
285Q_NOTE(_E4 ) , 270 layer_on(_FN);
286Q_NOTE(_E4 ) , 271 } else {
287Q_NOTE(_F4 ) , 272 layer_off(_FN);
288Q_NOTE(_G4 ) , 273 }
289Q_NOTE(_G4 ) , 274 break;
290Q_NOTE(_F4 ) ,
291Q_NOTE(_E4 ) ,
292Q_NOTE(_D4 ) ,
293Q_NOTE(_C4 ) ,
294Q_NOTE(_C4 ) ,
295Q_NOTE(_D4 ) ,
296Q_NOTE(_E4 ) ,
297H_NOTE(_E4 ) ,
298Q_NOTE(_D4 ) ,
299H_NOTE(_D4 ) ,
300};
301#endif
302 275
303void matrix_init_user(void) { 276 case M_T1:
304 #ifdef AUDIO_ENABLE 277 if (record->event.pressed) set_timbre(TIMBRE_12);
305 init_notes(); 278 break;
306 PLAY_NOTE_ARRAY(start_up, false, STACCATO); 279
307 println("Matrix Init"); 280 case M_T2:
308 #endif 281 if (record->event.pressed) set_timbre(TIMBRE_25);
309} 282 break;
283
284 case M_T3:
285 if (record->event.pressed) set_timbre(TIMBRE_50);
286 break;
287
288 case M_T4:
289 if (record->event.pressed) set_timbre(TIMBRE_75);
290 break;
291
292
293 case M_TU:
294 if (record->event.pressed) increase_tempo(10);
295 break;
296
297 case M_TD:
298 if (record->event.pressed) decrease_tempo(10);
299 break;
300
301 case M_DF:
302 if (record->event.pressed)
303 {
304 set_timbre(TIMBRE_DEFAULT);
305 set_tempo(TEMPO_DEFAULT);
306 }
307 break;
308
309 default:
310 break;
311
312 }
313 return MACRO_NONE;
314}; \ No newline at end of file
diff --git a/keyboard/atomic/keymaps/pvc/makefile.mk b/keyboard/atomic/keymaps/pvc/makefile.mk
index d46996650..eefa42855 100644
--- a/keyboard/atomic/keymaps/pvc/makefile.mk
+++ b/keyboard/atomic/keymaps/pvc/makefile.mk
@@ -1,7 +1,7 @@
1BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) 1BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
2MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 2MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4CONSOLE_ENABLE = yes # Console for debug(+400) 4CONSOLE_ENABLE = no # Console for debug(+400)
5COMMAND_ENABLE = yes # Commands for debug and configuration 5COMMAND_ENABLE = yes # Commands for debug and configuration
6NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 6NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
7BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 7BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality