summaryrefslogtreecommitdiff
path: root/keyboard/preonic/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/preonic/keymaps/default/keymap.c')
-rw-r--r--keyboard/preonic/keymaps/default/keymap.c129
1 files changed, 62 insertions, 67 deletions
diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c
index 2591af9f02..b3aa14dcbe 100644
--- a/keyboard/preonic/keymaps/default/keymap.c
+++ b/keyboard/preonic/keymaps/default/keymap.c
@@ -14,8 +14,8 @@
#define _DVORAK 2
#define _LOWER 3
#define _RAISE 4
-#define _ADJUST 5
-#define _MUSIC 6
+#define _MUSIC 5
+#define _ADJUST 16
// Macro name shortcuts
#define QWERTY M(_QWERTY)
@@ -24,12 +24,12 @@
#define LOWER M(_LOWER)
#define RAISE M(_RAISE)
#define M_BL 5
-#ifdef AUDIO_ENABLE
- #define AUD_OFF M(6)
- #define AUD_ON M(7)
-#endif
+#define AUD_OFF M(6)
+#define AUD_ON M(7)
#define MUS_OFF M(8)
#define MUS_ON M(9)
+#define VC_IN M(10)
+#define VC_DE M(11)
// Fillers to make layering more clear
#define _______ KC_TRNS
@@ -142,6 +142,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
+/* Music (reserved for process_action_user)
+ *
+ */
+[_MUSIC] = {
+ {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+ {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+ {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+ {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+ {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
+},
+
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
@@ -150,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | |Musoff|Mus on| | | | | | | |
+ * | |Voice-|Voice+|Musoff|Mus on| | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
@@ -158,21 +169,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = {
{KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
{_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
- {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______},
- {_______, _______, _______, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
-},
-
-/* Music (reserved for process_action_user)
- *
- */
-[_MUSIC] = {
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
+ {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______},
+ {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
}
+
+
};
const uint16_t PROGMEM fn_actions[] = {
@@ -187,48 +189,16 @@ float start_up[][2] = {
{440.0*pow(2.0,(26)/12.0), 8}
};
-float tone_qwerty[][2] = {
- {440.0*pow(2.0,(23)/12.0), 8},
- {440.0*pow(2.0,(24)/12.0), 8},
- {0, 4},
- {440.0*pow(2.0,(31)/12.0), 16}
-};
-
-float tone_colemak[][2] = {
- {440.0*pow(2.0,(23)/12.0), 8},
- {440.0*pow(2.0,(24)/12.0), 8},
- {0, 4},
- {440.0*pow(2.0,(31)/12.0), 12},
- {0, 4},
- {440.0*pow(2.0,(35)/12.0), 12}
-};
-
-float tone_dvorak[][2] = {
- {440.0*pow(2.0,(23)/12.0), 8},
- {440.0*pow(2.0,(24)/12.0), 8},
- {0, 4},
- {440.0*pow(2.0,(31)/12.0), 8},
- {0, 4},
- {440.0*pow(2.0,(33)/12.0), 8},
- {0, 4},
- {440.0*pow(2.0,(31)/12.0), 8}
-};
+float tone_qwerty[][2] = SONG(QWERTY_SOUND);
+float tone_dvorak[][2] = SONG(DVORAK_SOUND);
+float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_music[][2] = {
- {440.0*pow(2.0,(12)/12.0), 8},
- {440.0*pow(2.0,(14)/12.0), 8},
- {440.0*pow(2.0,(16)/12.0), 8},
- {440.0*pow(2.0,(17)/12.0), 8},
- {440.0*pow(2.0,(19)/12.0), 8},
- {440.0*pow(2.0,(21)/12.0), 8},
- {440.0*pow(2.0,(23)/12.0), 8},
- {440.0*pow(2.0,(24)/12.0), 8}
-};
-float ode_to_joy[][2] = SONG(ODE_TO_JOY);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+float goodbye[][2] = SONG(GOODBYE_SOUND);
#endif
void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_write_default_layer(default_layer);
+ eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
@@ -313,19 +283,43 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
case 9:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
- init_notes();
- set_tempo(150);
- PLAY_NOTE_ARRAY(ode_to_joy, false, .25);
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
layer_on(_MUSIC);
#endif
}
break;
+ case 10:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ voice_iterate();
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+ #endif
+ }
+ break;
+ case 11:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ voice_deiterate();
+ PLAY_NOTE_ARRAY(music_scale, false, 0);
+ #endif
+ }
+ break;
}
return MACRO_NONE;
};
+
+void matrix_init_user(void) {
+ #ifdef AUDIO_ENABLE
+ _delay_ms(20); // gets rid of tick
+ PLAY_NOTE_ARRAY(start_up, false, 0);
+ #endif
+}
+
+#ifdef AUDIO_ENABLE
+
uint8_t starting_note = 0x0C;
-int offset = 7;
+int offset = 0;
void process_action_user(keyrecord_t *record) {
@@ -339,9 +333,10 @@ void process_action_user(keyrecord_t *record) {
}
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- init_notes();
- PLAY_NOTE_ARRAY(start_up, false, 0);
- #endif
+void play_goodbye_tone()
+{
+ PLAY_NOTE_ARRAY(goodbye, false, 0);
+ _delay_ms(150);
}
+
+#endif \ No newline at end of file