diff options
-rw-r--r-- | keyboards/preonic/keymaps/dudeofawesome/config.h | 27 | ||||
-rw-r--r-- | keyboards/preonic/keymaps/dudeofawesome/keymap.c | 130 | ||||
-rw-r--r-- | keyboards/preonic/keymaps/dudeofawesome/readme.md | 2 | ||||
-rw-r--r-- | keyboards/preonic/keymaps/dudeofawesome/rules.mk | 5 | ||||
-rw-r--r-- | users/dudeofawesome/dudeofawesome.h | 6 |
5 files changed, 94 insertions, 76 deletions
diff --git a/keyboards/preonic/keymaps/dudeofawesome/config.h b/keyboards/preonic/keymaps/dudeofawesome/config.h index 566fac3ed..48bd13ba4 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/config.h +++ b/keyboards/preonic/keymaps/dudeofawesome/config.h | |||
@@ -1,27 +1,20 @@ | |||
1 | #ifndef CONFIG_USER_H | 1 | #ifndef CONFIG_USER_H |
2 | #define CONFIG_USER_H | 2 | #define CONFIG_USER_H |
3 | 3 | ||
4 | #include "config_common.h" | 4 | #include "../../config.h" |
5 | #include "dudeofawesome.h" | ||
5 | 6 | ||
6 | #define TAPPING_TOGGLE 2 | 7 | #define TAPPING_TOGGLE 2 |
7 | 8 | ||
8 | #ifdef AUDIO_ENABLE | 9 | #ifdef AUDIO_ENABLE |
9 | #define STARTUP_SONG SONG(PLANCK_SOUND) | 10 | #define STARTUP_SONG SONG(PLANCK_SOUND) |
10 | // #define STARTUP_SONG SONG(NO_SOUND) | 11 | // #define STARTUP_SONG SONG(NO_SOUND) |
11 | 12 | ||
12 | #define WORKMAN_SOUND \ | 13 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ |
13 | E__NOTE(_GS7), \ | 14 | SONG(WORKMAN_SOUND), \ |
14 | ED_NOTE(_E7), \ | 15 | SONG(COLEMAK_SOUND), \ |
15 | S__NOTE(_REST), \ | 16 | SONG(DVORAK_SOUND) \ |
16 | E__NOTE(_A6), \ | 17 | } |
17 | S__NOTE(_REST), \ | ||
18 | ED_NOTE(_GS6), | ||
19 | |||
20 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
21 | SONG(WORKMAN_SOUND), \ | ||
22 | SONG(COLEMAK_SOUND), \ | ||
23 | SONG(DVORAK_SOUND) \ | ||
24 | } | ||
25 | #endif | 18 | #endif |
26 | 19 | ||
27 | #define MUSIC_MASK (keycode != KC_NO) | 20 | #define MUSIC_MASK (keycode != KC_NO) |
diff --git a/keyboards/preonic/keymaps/dudeofawesome/keymap.c b/keyboards/preonic/keymaps/dudeofawesome/keymap.c index e8faf670b..dbe7fb648 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/keymap.c +++ b/keyboards/preonic/keymaps/dudeofawesome/keymap.c | |||
@@ -213,63 +213,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
213 | 213 | ||
214 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 214 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
215 | switch (keycode) { | 215 | switch (keycode) { |
216 | case QWERTY: | 216 | case QWERTY: |
217 | if (record->event.pressed) { | 217 | if (record->event.pressed) { |
218 | set_single_persistent_default_layer(_QWERTY); | 218 | set_single_persistent_default_layer(_QWERTY); |
219 | } | ||
220 | return false; | ||
221 | break; | ||
222 | case WORKMAN: | ||
223 | if (record->event.pressed) { | ||
224 | set_single_persistent_default_layer(_WORKMAN); | ||
225 | } | ||
226 | return false; | ||
227 | break; | ||
228 | case COLEMAK: | ||
229 | if (record->event.pressed) { | ||
230 | set_single_persistent_default_layer(_COLEMAK); | ||
231 | } | ||
232 | return false; | ||
233 | break; | ||
234 | case DVORAK: | ||
235 | if (record->event.pressed) { | ||
236 | set_single_persistent_default_layer(_DVORAK); | ||
237 | } | ||
238 | return false; | ||
239 | break; | ||
240 | case LOWER: | ||
241 | if (record->event.pressed) { | ||
242 | layer_on(_LOWER); | ||
243 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
244 | } else { | ||
245 | layer_off(_LOWER); | ||
246 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
247 | } | ||
248 | return false; | ||
249 | break; | ||
250 | case RAISE: | ||
251 | if (record->event.pressed) { | ||
252 | layer_on(_RAISE); | ||
253 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
254 | } else { | ||
255 | layer_off(_RAISE); | ||
256 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
257 | } | ||
258 | return false; | ||
259 | break; | ||
260 | case BACKLIT: | ||
261 | if (record->event.pressed) { | ||
262 | register_code(KC_RSFT); | ||
263 | #ifdef BACKLIGHT_ENABLE | ||
264 | backlight_step(); | ||
265 | #endif | ||
266 | PORTE &= ~(1<<6); | ||
267 | } else { | ||
268 | unregister_code(KC_RSFT); | ||
269 | PORTE |= (1<<6); | ||
270 | } | ||
271 | return false; | ||
272 | break; | ||
273 | } | 219 | } |
274 | return true; | 220 | return false; |
221 | case WORKMAN: | ||
222 | if (record->event.pressed) { | ||
223 | set_single_persistent_default_layer(_WORKMAN); | ||
224 | } | ||
225 | return false; | ||
226 | case COLEMAK: | ||
227 | if (record->event.pressed) { | ||
228 | set_single_persistent_default_layer(_COLEMAK); | ||
229 | } | ||
230 | return false; | ||
231 | case DVORAK: | ||
232 | if (record->event.pressed) { | ||
233 | set_single_persistent_default_layer(_DVORAK); | ||
234 | } | ||
235 | return false; | ||
236 | case LOWER: | ||
237 | if (record->event.pressed) { | ||
238 | layer_on(_LOWER); | ||
239 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
240 | } else { | ||
241 | layer_off(_LOWER); | ||
242 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
243 | } | ||
244 | return false; | ||
245 | case RAISE: | ||
246 | if (record->event.pressed) { | ||
247 | layer_on(_RAISE); | ||
248 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
249 | } else { | ||
250 | layer_off(_RAISE); | ||
251 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
252 | } | ||
253 | return false; | ||
254 | case BACKLIT: | ||
255 | if (record->event.pressed) { | ||
256 | register_code(KC_RSFT); | ||
257 | #ifdef BACKLIGHT_ENABLE | ||
258 | backlight_step(); | ||
259 | #endif | ||
260 | PORTE &= ~(1<<6); | ||
261 | } else { | ||
262 | unregister_code(KC_RSFT); | ||
263 | PORTE |= (1<<6); | ||
264 | } | ||
265 | return false; | ||
266 | } | ||
267 | return true; | ||
268 | }; | ||
269 | |||
270 | bool numpadActive = false; | ||
271 | |||
272 | float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND); | ||
273 | |||
274 | void matrix_scan_user (void) { | ||
275 | uint8_t layer = biton32(layer_state); | ||
276 | |||
277 | switch (layer) { | ||
278 | case _NUMPAD: | ||
279 | if (!numpadActive) { | ||
280 | numpadActive = true; | ||
281 | PLAY_SONG(tone_numpad_on); | ||
282 | } | ||
283 | break; | ||
284 | default: | ||
285 | if (numpadActive) { | ||
286 | numpadActive = false; | ||
287 | } | ||
288 | } | ||
275 | }; | 289 | }; |
diff --git a/keyboards/preonic/keymaps/dudeofawesome/readme.md b/keyboards/preonic/keymaps/dudeofawesome/readme.md index 244442494..a5d89fc82 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/readme.md +++ b/keyboards/preonic/keymaps/dudeofawesome/readme.md | |||
@@ -10,7 +10,7 @@ | |||
10 | - Dvorak | 10 | - Dvorak |
11 | - Colemak | 11 | - Colemak |
12 | - Numpad layer | 12 | - Numpad layer |
13 |  | 13 |  |
14 | - Audio | 14 | - Audio |
15 | 15 | ||
16 | ## Building and flashing | 16 | ## Building and flashing |
diff --git a/keyboards/preonic/keymaps/dudeofawesome/rules.mk b/keyboards/preonic/keymaps/dudeofawesome/rules.mk index e69de29bb..4434d3de7 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/rules.mk +++ b/keyboards/preonic/keymaps/dudeofawesome/rules.mk | |||
@@ -0,0 +1,5 @@ | |||
1 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
2 | MIDI_ENABLE = no # MIDI controls | ||
3 | AUDIO_ENABLE = yes # Audio output on port C6 | ||
4 | UNICODE_ENABLE = no # Unicode | ||
5 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
diff --git a/users/dudeofawesome/dudeofawesome.h b/users/dudeofawesome/dudeofawesome.h index 12b581b4d..91557925a 100644 --- a/users/dudeofawesome/dudeofawesome.h +++ b/users/dudeofawesome/dudeofawesome.h | |||
@@ -14,6 +14,12 @@ | |||
14 | E__NOTE(_A6), \ | 14 | E__NOTE(_A6), \ |
15 | S__NOTE(_REST), \ | 15 | S__NOTE(_REST), \ |
16 | ED_NOTE(_GS6), | 16 | ED_NOTE(_GS6), |
17 | |||
18 | #define NUMPAD_ON_SOUND \ | ||
19 | E__NOTE(_C6), \ | ||
20 | ED_NOTE(_BF5), \ | ||
21 | S__NOTE(_C6), \ | ||
22 | ED_NOTE(_BF5), | ||
17 | #endif | 23 | #endif |
18 | 24 | ||
19 | #endif | 25 | #endif |