Normalise MIDI keycodes (#18972)

* `MI_ON`, `MI_OFF`, `MI_TOG` -> `MI_TOGG`

* `MI_CH*`, `MI_CHU` -> `MI_CHNU`, `MI_CHD` -> `MI_CHND`

* `MI_VEL_*` -> `MI_VL*`, `MI_VELU`, `MI_VELD`

* `MI_TRNS_*` -> `MI_TR*`, `MI_TRNSU` -> `MI_TRSU`, `MI_TRNSD` -> `MI_TRSD`

* `MI_OCT_*` -> `MI_OC*`, `MI_OCTU`, `MI_OCTD`

* Misc controls

* Note keycodes

* Add legacy keycodes

* Regenerate keycodes

* Typo
This commit is contained in:
Ryan 2022-11-07 13:26:15 +11:00 committed by GitHub
parent 442e7653cc
commit 8b658dcc9a
Failed to generate hash of commit
39 changed files with 1799 additions and 1154 deletions

File diff suppressed because it is too large Load diff

View file

@ -80,164 +80,164 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
### Keycodes
|Keycode |Aliases |Description |
|------------|---------|---------------------------------|
|`MI_ON` | |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled |
|`MI_C` | |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 |
|`MI_F` | |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 |
|`MI_C_1` | |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 |
|`MI_F_1` | |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 |
|`MI_C_2` | |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 |
|`MI_F_2` | |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 |
|`MI_C_3` | |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 |
|`MI_F_3` | |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 |
|`MI_C_4` | |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 |
|`MI_F_4` | |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 |
|`MI_C_5` | |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 |
|`MI_F_5` | |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 |
|`MI_OCTD` | |Move down an octave |
|`MI_OCTU` | |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition |
|`MI_TRNSU` | |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity |
|`MI_VELU` | |Increase velocity |
|`MI_CH1` | |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 |
|`MI_CHD` | |Decrease channel |
|`MI_CHU` | |Increase channel |
|`MI_ALLOFF` | |Stop all notes |
|`MI_SUS` | |Sustain |
|`MI_PORT` | |Portmento |
|`MI_SOST` | |Sostenuto |
|`MI_SOFT` | |Soft Pedal |
|`MI_LEG` | |Legato |
|`MI_MOD` | |Modulation |
|`MI_MODSD` | |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down |
|`MI_BENDU` | |Bend pitch up |
|Keycode |Aliases |Description |
|-------------------------------|------------------|---------------------------------|
|`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
### Configuration
Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are:
|Configuration |Value|Comments |
|-------------------|-----|-------------------------|
|Octave |`4` |Corresponds to `MI_OCT_2`|
|Transposition |`0` | |
|Velocity |`127`| |
|Channel |`0` | |
|Modulation Interval|`8` | |
|Configuration |Value|Comments |
|-------------------|-----|-----------------------|
|Octave |`4` |Corresponds to `MI_OC2`|
|Transposition |`0` | |
|Velocity |`127`| |
|Channel |`0` | |
|Modulation Interval|`8` | |
For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on.

View file

@ -442,152 +442,152 @@ See also: [Magic Keycodes](keycodes_magic.md)
See also: [MIDI](feature_midi.md)
|Key |Aliases |Description |
|------------|---------|---------------------------------|
|`MI_ON` | |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled |
|`MI_C` | |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 |
|`MI_F` | |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 |
|`MI_C_1` | |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 |
|`MI_F_1` | |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 |
|`MI_C_2` | |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 |
|`MI_F_2` | |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 |
|`MI_C_3` | |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 |
|`MI_F_3` | |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 |
|`MI_C_4` | |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 |
|`MI_F_4` | |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 |
|`MI_C_5` | |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 |
|`MI_F_5` | |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 |
|`MI_OCTD` | |Move down an octave |
|`MI_OCTU` | |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition |
|`MI_TRNSU` | |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity |
|`MI_VELU` | |Increase velocity |
|`MI_CH1` | |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 |
|`MI_CHD` | |Decrease channel |
|`MI_CHU` | |Increase channel |
|`MI_ALLOFF` | |Stop all notes |
|`MI_SUS` | |Sustain |
|`MI_PORT` | |Portmento |
|`MI_SOST` | |Sostenuto |
|`MI_SOFT` | |Soft Pedal |
|`MI_LEG` | |Legato |
|`MI_MOD` | |Modulation |
|`MI_MODSD` | |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down |
|`MI_BENDU` | |Bend pitch up |
|Key |Aliases |Description |
|-------------------------------|------------------|---------------------------------|
|`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
## Mouse Keys :id=mouse-keys

View file

@ -25,45 +25,45 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_IONIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_B_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, MI_OCTD, MI_OCTU,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_B_2, MI_E_3, MI_A_3, MI_D_4, MI_TRNSD, MI_TRNSU,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_B_3, MI_E_4, MI_SUS, MENU
MI_C1, MI_F1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, MI_OCTD, MI_OCTU,
MI_D1, MI_G1, MI_C2, MI_F2, MI_B2, MI_E3, MI_A3, MI_D4, MI_TRSD, MI_TRSU,
MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_B3, MI_E4, MI_SUST, MENU
),
[_DORIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_A_3, MI_D_4, _______, _______,
MI_Ds_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______
MI_C1, MI_F1, MI_As1, MI_Ds2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_A3, MI_D4, _______, _______,
MI_Ds1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
),
[_PHRYGIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_Cs_3, MI_G_3, MI_C_4, _______, _______,
MI_Cs_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_Cs_4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_Cs_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______
MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_G3, MI_C4, _______, _______,
MI_Cs1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
MI_Ds1, MI_Gs1, MI_Cs2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
),
[_LYDIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_Fs_1, MI_B_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_Fs_2, MI_B_2, MI_E_3, MI_A_3, MI_D_4, _______, _______,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_Fs_3, MI_B_3, MI_E_4, _______, _______
MI_C1, MI_Fs1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D1, MI_G1, MI_C2, MI_Fs2, MI_B2, MI_E3, MI_A3, MI_D4, _______, _______,
MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_Fs3, MI_B3, MI_E4, _______, _______
),
[_MIXOLYDIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_E_3, MI_A_3, MI_D_4, _______, _______,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_E_4, _______, _______
MI_C1, MI_F1, MI_As1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_E3, MI_A3, MI_D4, _______, _______,
MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_E4, _______, _______
),
[_AEOLIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_D_3, MI_G_3, MI_C_4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_D_4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______
MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_D4, _______, _______,
MI_Ds1, MI_Gs1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
),
[_LOCRIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_Cs_3, MI_Fs_3, MI_C_4, _______, _______,
MI_Cs_1, MI_Fs_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_Cs_4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_Cs_2, MI_Fs_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______
MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_Fs3, MI_C4, _______, _______,
MI_Cs1, MI_Fs1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
MI_Ds1, MI_Gs1, MI_Cs2, MI_Fs2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
),
[_MENU] = LAYOUT_ortho_3x10(

View file

@ -34,33 +34,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
),
[_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
),
[_FN] = LAYOUT(
@ -88,8 +88,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void keyboard_post_init_user(void) {
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -64,33 +64,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
),
[_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
),
[_QWERTY] = LAYOUT_wrapper(
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -64,33 +64,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, MI_B,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, MI_B,
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
MI_G_2, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
MI_G2, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
),
[_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, MI_B,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, MI_B,
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
MI_G_2, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
MI_G2, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
),
[_QWERTY] = LAYOUT_wrapper(
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -35,33 +35,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1,
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
),
[_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1,
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
),
[_MISC] = LAYOUT(
@ -105,8 +105,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -33,16 +33,16 @@ enum custom_keycodes {
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
MI_TRNSD, MI_TRNSU, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
FN_MUTE, MI_SUST,
MI_BNDU,
MI_TRSD, MI_TRSU, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* RESERVE */
@ -71,8 +71,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){
// Set octave to MI_OCT_1
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(1UL << _BASE);

View file

@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen.
@ -215,57 +215,57 @@ static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By defau
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
FN_MUTE, MI_SUST,
MI_BNDU,
SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* 1 octave on the left side is ch2, others are ch1 (normal) */
[_SEPALEFTOCT] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* Half ch2, half ch1 (normal) */
[_SEPAHALF] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* 2 octave on the left side is ch2, others are ch1 (normal) */
[_SEPARIGHTOCT] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT(
_______, _______,
_______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
[_FLIPBASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2
FN_MUTE, MI_SUST,
MI_BNDU,
SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2,
MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2
),
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */
[_FLIPTRANS] = LAYOUT(
_______, _______,
_______,
MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@ -292,8 +292,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){
// Set octave to MI_OCT_1
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE);

View file

@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen.
@ -215,57 +215,57 @@ static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By defau
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
FN_MUTE, MI_SUST,
MI_BNDU,
SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* 1 octave on the left side is ch2, others are ch1 (normal) */
[_SEPALEFTOCT] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* Half ch2, half ch1 (normal) */
[_SEPAHALF] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* 2 octave on the left side is ch2, others are ch1 (normal) */
[_SEPARIGHTOCT] = LAYOUT(
_______, _______,
_______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT(
_______, _______,
_______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
[_FLIPBASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2
FN_MUTE, MI_SUST,
MI_BNDU,
SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2,
MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2
),
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */
[_FLIPTRANS] = LAYOUT(
_______, _______,
_______,
MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@ -293,8 +293,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){
// Set octave to MI_OCT_1
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE);

View file

@ -54,24 +54,24 @@ enum custom_keycodes {
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
FN_MUTE, MI_SUS,
MI_BENDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
FN_MUTE, MI_SUST,
MI_BNDU,
SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
),
/* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT(
_______, _______,
_______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@ -102,8 +102,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){
// Set octave to MI_OCT_1
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE);

View file

@ -97,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
[_MIDI] = LAYOUT(
MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3,
MI_As_2, MI_B_2, MI_C_3, MI_Cs_3, MI_D_3,
MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI),
_______, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2
MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3,
MI_As2, MI_B2, MI_C3, MI_Cs3, MI_D3,
MI_F2, MI_Fs2, MI_G2, MI_Gs2, TG(_MIDI),
_______, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2
),
// MOUSE LAYER

View file

@ -88,11 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
/* Keymap _MI: MIDI layer (Advanced)*/
[_MI] = LAYOUT(
TO_BASE,MI_VEL_1,MI_VEL_2,MI_VEL_3,MI_VEL_4,MI_VEL_5,MI_VEL_6,MI_VEL_7,MI_VEL_8,MI_VEL_9,MI_VEL_10, MI_CHD, MI_CHU, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs_1, MI_Ds_1, XXXXXXX, MI_Fs_1, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, XXXXXXX,
MI_SUS, XXXXXXX, MI_OCTD, MI_OCTU,MI_MODSD,MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD,MI_TRNSU,MI_TRNS_0, MI_SUS, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, MI_ALLOFF, MI_ALLOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
TO_BASE, MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, MI_CHND, MI_CHNU, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, MI_Fs1, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, XXXXXXX,
MI_SUST, XXXXXXX, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_AOFF, MI_AOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
/* Keymap _MI: MIDI layer (Basic)*/
[_MI] = LAYOUT(

View file

@ -19,10 +19,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[0] = LAYOUT_ortho_4x12(
MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4,
MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3,
MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2,
MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1
MI_C4, MI_Cs4, MI_D4, MI_Ds4, MI_E4, MI_F4, MI_Fs4, MI_G4, MI_Gs4, MI_A4, MI_As4, MI_B4,
MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, MI_A3, MI_As3, MI_B3,
MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2,
MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1
)
};

View file

@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------------------------------'
*/
[_ML] = LAYOUT_60_ansi(
TG(_ML), MI_VEL_1, MI_VEL_2, MI_VEL_3, MI_VEL_4, MI_VEL_5, MI_VEL_6, MI_VEL_7, MI_VEL_8, MI_VEL_9, MI_VEL_10, XXXXXXX, XXXXXXX, XXXXXXX,
MI_CHU, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs_1, MI_Ds_1, XXXXXXX, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, _______,
MI_SUS, MI_OCTD, MI_OCTU, MI_MODSD, MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD, MI_TRNSU, MI_TRNS_0, MI_SUS,
_______, _______, _______, MI_ALLOFF, _______, _______, _______, _______
TG(_ML), MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, XXXXXXX, XXXXXXX, XXXXXXX,
MI_CHU, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, _______,
MI_SUST, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST,
_______, _______, _______, MI_AOFF, _______, _______, _______, _______
),
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
/* Keymap _ML: MIDI Layer (Advanced)

View file

@ -30,7 +30,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -205,10 +205,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* fake B-system */
@ -219,10 +219,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
MI_Ab2,
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
),
/* BASS2row */
@ -233,38 +233,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* Chromatone */
[_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
MI_C2,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
),
[_CFLIP_BASS2ROW] = LAYOUT(
@ -274,10 +274,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
MI_G5,
MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
),
/* QWERTY */
@ -332,7 +332,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
)
@ -428,8 +428,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
}
@ -438,7 +438,7 @@ void eeconfig_init_user(void) {
midi_init();
my_init();
// Used to set octave to MI_OCT_0
// Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags
@ -646,7 +646,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation);
@ -654,7 +654,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE
@ -663,7 +663,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE
@ -672,7 +672,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE
@ -681,7 +681,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE

View file

@ -29,7 +29,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -206,10 +206,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* fake B-system */
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
MI_Ab2,
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
),
/* BASS2row */
@ -234,52 +234,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* C-system free bass */
[_C_SYSTEM_FREEBASS] = LAYOUT(
MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E,
MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb,
MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E,
MI_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb,
MI_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* Chromatone */
[_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
MI_C2,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
),
[_CFLIP_BASS2ROW] = LAYOUT(
@ -289,10 +289,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
MI_G5,
MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
),
/* QWERTY */
@ -347,7 +347,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
)
@ -442,8 +442,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
}
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
midi_init();
my_init();
// Used to set octave to MI_OCT_0
// Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags
@ -661,7 +661,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation);
@ -669,7 +669,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE
@ -678,7 +678,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE
@ -687,7 +687,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE
@ -696,7 +696,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,10 +156,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* QWERTY */
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -227,30 +227,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,11 +156,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
),
/* QWERTY */
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -230,30 +230,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -168,11 +168,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
),
/* BASS2row */
@ -184,41 +184,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
),
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT_giabarinaix2(
XXXXXXX, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
XXXXXXX, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
XXXXXXX, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
XXXXXXX, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5,
MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5,
MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5, FN_MUTE
MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5,
MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5,
MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5, FN_MUTE
),
/* Chromatone */
[_CHROMATONE] = LAYOUT_giabarinaix2(
XXXXXXX, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1,
XXXXXXX, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1,
XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1,
MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
XXXXXXX, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1,
XXXXXXX, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1,
XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1,
MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3,
MI_Bb_1, MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3,
MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, FN_MUTE
MI_A1, MI_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3,
MI_Bb1, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3,
MI_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3,
MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, FN_MUTE
),
/* QWERTY */
@ -291,8 +291,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE
void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -404,14 +404,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
#ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation);
#endif
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE
@ -419,7 +419,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE
@ -427,7 +427,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE
@ -435,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE

View file

@ -29,7 +29,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -206,10 +206,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* fake B-system */
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5
MI_Ab2,
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
),
/* BASS2row */
@ -234,52 +234,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* C-system free bass */
[_C_SYSTEM_FREEBASS] = LAYOUT(
MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E,
MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb,
MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E,
MI_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb,
MI_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* Chromatone */
[_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3
MI_C2,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
),
[_CFLIP_BASS2ROW] = LAYOUT(
@ -289,10 +289,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2
MI_G5,
MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
),
/* QWERTY */
@ -347,7 +347,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
)
@ -442,8 +442,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE
void my_init(void){
// Set octave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
}
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
midi_init();
my_init();
// Used to set octave to MI_OCT_0
// Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags
@ -710,7 +710,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE
keylight_manager(record, HSV_GOLDENROD, keylocation);
@ -718,7 +718,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE
@ -727,7 +727,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE
@ -736,7 +736,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE
@ -745,7 +745,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,10 +156,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5
MI_Fs2,
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
),
/* QWERTY */
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -228,30 +228,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0
// Used to set octave to 0
extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,11 +156,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE
MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
),
/* QWERTY */
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
// Set octave to 0
midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -230,30 +230,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1;
root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break;
case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2;
root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2;
root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2;
root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2;
root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break;

View file

@ -91,10 +91,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_MIDI] = LAYOUT( \
QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_C_2, MI_C_3, QWERTY, \
MI_A_3, MI_As_3, MI_B_3, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, \
MI_A_2, MI_As_2, MI_B_2, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, \
MI_A_1, MI_As_1, MI_B_1, MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, \
QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_C2, MI_C3, QWERTY, \
MI_A3, MI_As3, MI_B3, MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, \
MI_A2, MI_As2, MI_B2, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, \
MI_A1, MI_As1, MI_B1, MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, \
MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs \
),

View file

@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_mit(
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI,
_______, MI_ON, MI_OFF, MI_TOG, MU_ON, MU_OFF, MU_TOG, MU_MOD, AU_ON, AU_OFF, _______, _______,
_______, MI_ON, MI_OFF, MI_TOGG, MU_ON, MU_OFF, MU_TOG, MU_MOD, AU_ON, AU_OFF, _______, _______,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@ -123,8 +123,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MIDI] = LAYOUT_planck_mit(
MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs,
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C, MI_D, MI_E, MI_F, MI_G,
MI_BENDU,MI_OCTU, MI_TRNSU,MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHU, MI_TOG,
MI_BENDD,MI_OCTD, MI_TRNSD,MI_VELD, MYNAV, MI_SUS, MYNUM, _______, MI_OFF, MI_CHD, MI_ALLOFF
MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHNU, MI_TOG,
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MYNAV, MI_SUST, MYNUM, _______, MI_OFF, MI_CHND, MI_AOFF
)
};

View file

@ -114,9 +114,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------------------------------------------------------------------------------------|
*/
[6] = LAYOUT(
MI_C_1, MI_E_1, MI_G_1, MI_B_1, MI_D_2, MI_F_2, MI_A_2, MI_C_3, MI_E_3, MI_G_3, KC_NO,
MI_D_1, MI_F_1, MI_A_1, MI_C_2, MI_E_2, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_A_3, TG(6),
MI_OCTD, MI_OCTU, MI_TRNSD, MI_TRNSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
MI_C1, MI_E1, MI_G1, MI_B1, MI_D2, MI_F2, MI_A2, MI_C3, MI_E3, MI_G3, KC_NO,
MI_D1, MI_F1, MI_A1, MI_C2, MI_E2, MI_G2, MI_B2, MI_D3, MI_F3, MI_A3, TG(6),
MI_OCTD, MI_OCTU, MI_TRSD, MI_TRSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
)
};

View file

@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
MI_TOGG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_TOG, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
)

View file

@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
MI_TOGG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
)

View file

@ -86,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' '------''---------------------------'
*/
[_MIDI] = LAYOUT(
MI_ALLOFF, MI_OCT_0, MI_OCT_1, MI_OCT_2, MI_OCT_3, MI_OCT_4, MI_OCT_5, MI_OCT_6, MI_OCT_7, _______, _______, MI_TOG,
_______, MI_Gs, MI_As, _______, MI_Cs_1, MI_Ds_1, _______, MI_Fs_1, MI_Gs_1, MI_As_1, _______, _______,
_______, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_C_2, KC_WORKMAN,
_______, _______, _______, _______, MI_TRNSD, MI_TRNSU, _______, _______, MI_BENDD, MI_BENDU, _______, _______, _______, _______,
_______, _______, _______, MI_SUS, MI_OCTD, MI_OCTU, _______, _______, _______, _______
MI_AOFF, MI_OC0, MI_OC1, MI_OC2, MI_OC3, MI_OC4, MI_OC5, MI_OC6, MI_OC7, _______, _______, MI_TOGG,
_______, MI_Gs, MI_As, _______, MI_Cs1, MI_Ds1, _______, MI_Fs1, MI_Gs1, MI_As1, _______, _______,
_______, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, MI_A1, MI_B1, MI_C2, KC_WORKMAN,
_______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, MI_BNDD, MI_BNDU, _______, _______, _______, _______,
_______, _______, _______, MI_SUST, MI_OCTD, MI_OCTU, _______, _______, _______, _______
),
/* LOWER

View file

@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NATURAL] = LAYOUT(
MI_C, MI_BENDD, MI_BENDU, MI_G,
MI_C, MI_BNDD, MI_BNDU, MI_G,
MI_D, MIDI_CC80, MIDI_CC81, MI_A,
MI_E, MIDI_CC82, MIDI_CC83, MI_B,
MI_F, MI_OCTD, MI_OCTU, MI_C,
@ -137,12 +137,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_Cs, KC_TRNS, KC_TRNS, MI_Gs,
MI_Ds, KC_TRNS, KC_TRNS, MI_As,
MI_F , KC_TRNS, KC_TRNS, MI_C ,
MI_Fs, MI_TRNSD, MI_TRNSU, MI_Cs,
MI_Fs, MI_TRSD, MI_TRSU, MI_Cs,
KC_TRNS, KC_TRNS),
[_FLAT] = LAYOUT(
MI_B , KC_TRNS, KC_TRNS, MI_Gb,
MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
MI_Eb, KC_TRNS, KC_TRNS, MI_Bb,
MI_E , MI_TRNSD, MI_TRNSU, MI_B,
MI_E , MI_TRSD, MI_TRSU, MI_B,
KC_TRNS, KC_TRNS),
};

View file

@ -22,9 +22,9 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NATURAL] = LAYOUT(
MI_C, MI_BENDD, MI_BENDU, MI_G,
MI_C, MI_BNDD, MI_BNDU, MI_G,
MI_D, MI_VELD, MI_VELU, MI_A,
MI_E, MI_TRNSD, MI_TRNSU, MI_B,
MI_E, MI_TRSD, MI_TRSU, MI_B,
MI_F, MI_OCTD, MI_OCTU, MI_C,
MO(_SHARP), MO(_FLAT)),
[_SHARP] = LAYOUT(

View file

@ -346,150 +346,150 @@ enum qk_keycode_defines {
MAGIC_SWAP_ESCAPE_CAPSLOCK = 0x7020,
MAGIC_UNSWAP_ESCAPE_CAPSLOCK = 0x7021,
MAGIC_TOGGLE_ESCAPE_CAPSLOCK = 0x7022,
MI_ON = 0x7100,
MI_OFF = 0x7101,
MI_TOG = 0x7102,
MI_C = 0x7110,
MI_Cs = 0x7111,
MI_D = 0x7112,
MI_Ds = 0x7113,
MI_E = 0x7114,
MI_F = 0x7115,
MI_Fs = 0x7116,
MI_G = 0x7117,
MI_Gs = 0x7118,
MI_A = 0x7119,
MI_As = 0x711A,
MI_B = 0x711B,
MI_C_1 = 0x7120,
MI_Cs_1 = 0x7121,
MI_D_1 = 0x7122,
MI_Ds_1 = 0x7123,
MI_E_1 = 0x7124,
MI_F_1 = 0x7125,
MI_Fs_1 = 0x7126,
MI_G_1 = 0x7127,
MI_Gs_1 = 0x7128,
MI_A_1 = 0x7129,
MI_As_1 = 0x712A,
MI_B_1 = 0x712B,
MI_C_2 = 0x7130,
MI_Cs_2 = 0x7131,
MI_D_2 = 0x7132,
MI_Ds_2 = 0x7133,
MI_E_2 = 0x7134,
MI_F_2 = 0x7135,
MI_Fs_2 = 0x7136,
MI_G_2 = 0x7137,
MI_Gs_2 = 0x7138,
MI_A_2 = 0x7139,
MI_As_2 = 0x713A,
MI_B_2 = 0x713B,
MI_C_3 = 0x7140,
MI_Cs_3 = 0x7141,
MI_D_3 = 0x7142,
MI_Ds_3 = 0x7143,
MI_E_3 = 0x7144,
MI_F_3 = 0x7145,
MI_Fs_3 = 0x7146,
MI_G_3 = 0x7147,
MI_Gs_3 = 0x7148,
MI_A_3 = 0x7149,
MI_As_3 = 0x714A,
MI_B_3 = 0x714B,
MI_C_4 = 0x7150,
MI_Cs_4 = 0x7151,
MI_D_4 = 0x7152,
MI_Ds_4 = 0x7153,
MI_E_4 = 0x7154,
MI_F_4 = 0x7155,
MI_Fs_4 = 0x7156,
MI_G_4 = 0x7157,
MI_Gs_4 = 0x7158,
MI_A_4 = 0x7159,
MI_As_4 = 0x715A,
MI_B_4 = 0x715B,
MI_C_5 = 0x7160,
MI_Cs_5 = 0x7161,
MI_D_5 = 0x7162,
MI_Ds_5 = 0x7163,
MI_E_5 = 0x7164,
MI_F_5 = 0x7165,
MI_Fs_5 = 0x7166,
MI_G_5 = 0x7167,
MI_Gs_5 = 0x7168,
MI_A_5 = 0x7169,
MI_As_5 = 0x716A,
MI_B_5 = 0x716B,
MI_OCT_N2 = 0x7170,
MI_OCT_N1 = 0x7171,
MI_OCT_0 = 0x7172,
MI_OCT_1 = 0x7173,
MI_OCT_2 = 0x7174,
MI_OCT_3 = 0x7175,
MI_OCT_4 = 0x7176,
MI_OCT_5 = 0x7177,
MI_OCT_6 = 0x7178,
MI_OCT_7 = 0x7179,
MI_OCTD = 0x717A,
MI_OCTU = 0x717B,
MI_TRNS_N6 = 0x7180,
MI_TRNS_N5 = 0x7181,
MI_TRNS_N4 = 0x7182,
MI_TRNS_N3 = 0x7183,
MI_TRNS_N2 = 0x7184,
MI_TRNS_N1 = 0x7185,
MI_TRNS_0 = 0x7186,
MI_TRNS_1 = 0x7187,
MI_TRNS_2 = 0x7188,
MI_TRNS_3 = 0x7189,
MI_TRNS_4 = 0x718A,
MI_TRNS_5 = 0x718B,
MI_TRNS_6 = 0x718C,
MI_TRNSD = 0x718D,
MI_TRNSU = 0x718E,
MI_VEL_0 = 0x7190,
MI_VEL_1 = 0x7191,
MI_VEL_2 = 0x7192,
MI_VEL_3 = 0x7193,
MI_VEL_4 = 0x7194,
MI_VEL_5 = 0x7195,
MI_VEL_6 = 0x7196,
MI_VEL_7 = 0x7197,
MI_VEL_8 = 0x7198,
MI_VEL_9 = 0x7199,
MI_VEL_10 = 0x719A,
MI_VELD = 0x719B,
MI_VELU = 0x719C,
MI_CH1 = 0x71A0,
MI_CH2 = 0x71A1,
MI_CH3 = 0x71A2,
MI_CH4 = 0x71A3,
MI_CH5 = 0x71A4,
MI_CH6 = 0x71A5,
MI_CH7 = 0x71A6,
MI_CH8 = 0x71A7,
MI_CH9 = 0x71A8,
MI_CH10 = 0x71A9,
MI_CH11 = 0x71AA,
MI_CH12 = 0x71AB,
MI_CH13 = 0x71AC,
MI_CH14 = 0x71AD,
MI_CH15 = 0x71AE,
MI_CH16 = 0x71AF,
MI_CHD = 0x71B0,
MI_CHU = 0x71B1,
MI_ALLOFF = 0x71C0,
MI_SUS = 0x71C1,
MI_PORT = 0x71C2,
MI_SOST = 0x71C3,
MI_SOFT = 0x71C4,
MI_LEG = 0x71C5,
MI_MOD = 0x71C6,
MI_MODSD = 0x71C7,
MI_MODSU = 0x71C8,
MI_BENDD = 0x71C9,
MI_BENDU = 0x71CA,
QK_MIDI_ON = 0x7100,
QK_MIDI_OFF = 0x7101,
QK_MIDI_TOGGLE = 0x7102,
QK_MIDI_NOTE_C_0 = 0x7110,
QK_MIDI_NOTE_C_SHARP_0 = 0x7111,
QK_MIDI_NOTE_D_0 = 0x7112,
QK_MIDI_NOTE_D_SHARP_0 = 0x7113,
QK_MIDI_NOTE_E_0 = 0x7114,
QK_MIDI_NOTE_F_0 = 0x7115,
QK_MIDI_NOTE_F_SHARP_0 = 0x7116,
QK_MIDI_NOTE_G_0 = 0x7117,
QK_MIDI_NOTE_G_SHARP_0 = 0x7118,
QK_MIDI_NOTE_A_0 = 0x7119,
QK_MIDI_NOTE_A_SHARP_0 = 0x711A,
QK_MIDI_NOTE_B_0 = 0x711B,
QK_MIDI_NOTE_C_1 = 0x7120,
QK_MIDI_NOTE_C_SHARP_1 = 0x7121,
QK_MIDI_NOTE_D_1 = 0x7122,
QK_MIDI_NOTE_D_SHARP_1 = 0x7123,
QK_MIDI_NOTE_E_1 = 0x7124,
QK_MIDI_NOTE_F_1 = 0x7125,
QK_MIDI_NOTE_F_SHARP_1 = 0x7126,
QK_MIDI_NOTE_G_1 = 0x7127,
QK_MIDI_NOTE_G_SHARP_1 = 0x7128,
QK_MIDI_NOTE_A_1 = 0x7129,
QK_MIDI_NOTE_A_SHARP_1 = 0x712A,
QK_MIDI_NOTE_B_1 = 0x712B,
QK_MIDI_NOTE_C_2 = 0x7130,
QK_MIDI_NOTE_C_SHARP_2 = 0x7131,
QK_MIDI_NOTE_D_2 = 0x7132,
QK_MIDI_NOTE_D_SHARP_2 = 0x7133,
QK_MIDI_NOTE_E_2 = 0x7134,
QK_MIDI_NOTE_F_2 = 0x7135,
QK_MIDI_NOTE_F_SHARP_2 = 0x7136,
QK_MIDI_NOTE_G_2 = 0x7137,
QK_MIDI_NOTE_G_SHARP_2 = 0x7138,
QK_MIDI_NOTE_A_2 = 0x7139,
QK_MIDI_NOTE_A_SHARP_2 = 0x713A,
QK_MIDI_NOTE_B_2 = 0x713B,
QK_MIDI_NOTE_C_3 = 0x7140,
QK_MIDI_NOTE_C_SHARP_3 = 0x7141,
QK_MIDI_NOTE_D_3 = 0x7142,
QK_MIDI_NOTE_D_SHARP_3 = 0x7143,
QK_MIDI_NOTE_E_3 = 0x7144,
QK_MIDI_NOTE_F_3 = 0x7145,
QK_MIDI_NOTE_F_SHARP_3 = 0x7146,
QK_MIDI_NOTE_G_3 = 0x7147,
QK_MIDI_NOTE_G_SHARP_3 = 0x7148,
QK_MIDI_NOTE_A_3 = 0x7149,
QK_MIDI_NOTE_A_SHARP_3 = 0x714A,
QK_MIDI_NOTE_B_3 = 0x714B,
QK_MIDI_NOTE_C_4 = 0x7150,
QK_MIDI_NOTE_C_SHARP_4 = 0x7151,
QK_MIDI_NOTE_D_4 = 0x7152,
QK_MIDI_NOTE_D_SHARP_4 = 0x7153,
QK_MIDI_NOTE_E_4 = 0x7154,
QK_MIDI_NOTE_F_4 = 0x7155,
QK_MIDI_NOTE_F_SHARP_4 = 0x7156,
QK_MIDI_NOTE_G_4 = 0x7157,
QK_MIDI_NOTE_G_SHARP_4 = 0x7158,
QK_MIDI_NOTE_A_4 = 0x7159,
QK_MIDI_NOTE_A_SHARP_4 = 0x715A,
QK_MIDI_NOTE_B_4 = 0x715B,
QK_MIDI_NOTE_C_5 = 0x7160,
QK_MIDI_NOTE_C_SHARP_5 = 0x7161,
QK_MIDI_NOTE_D_5 = 0x7162,
QK_MIDI_NOTE_D_SHARP_5 = 0x7163,
QK_MIDI_NOTE_E_5 = 0x7164,
QK_MIDI_NOTE_F_5 = 0x7165,
QK_MIDI_NOTE_F_SHARP_5 = 0x7166,
QK_MIDI_NOTE_G_5 = 0x7167,
QK_MIDI_NOTE_G_SHARP_5 = 0x7168,
QK_MIDI_NOTE_A_5 = 0x7169,
QK_MIDI_NOTE_A_SHARP_5 = 0x716A,
QK_MIDI_NOTE_B_5 = 0x716B,
QK_MIDI_OCTAVE_N2 = 0x7170,
QK_MIDI_OCTAVE_N1 = 0x7171,
QK_MIDI_OCTAVE_0 = 0x7172,
QK_MIDI_OCTAVE_1 = 0x7173,
QK_MIDI_OCTAVE_2 = 0x7174,
QK_MIDI_OCTAVE_3 = 0x7175,
QK_MIDI_OCTAVE_4 = 0x7176,
QK_MIDI_OCTAVE_5 = 0x7177,
QK_MIDI_OCTAVE_6 = 0x7178,
QK_MIDI_OCTAVE_7 = 0x7179,
QK_MIDI_OCTAVE_DOWN = 0x717A,
QK_MIDI_OCTAVE_UP = 0x717B,
QK_MIDI_TRANSPOSE_N6 = 0x7180,
QK_MIDI_TRANSPOSE_N5 = 0x7181,
QK_MIDI_TRANSPOSE_N4 = 0x7182,
QK_MIDI_TRANSPOSE_N3 = 0x7183,
QK_MIDI_TRANSPOSE_N2 = 0x7184,
QK_MIDI_TRANSPOSE_N1 = 0x7185,
QK_MIDI_TRANSPOSE_0 = 0x7186,
QK_MIDI_TRANSPOSE_1 = 0x7187,
QK_MIDI_TRANSPOSE_2 = 0x7188,
QK_MIDI_TRANSPOSE_3 = 0x7189,
QK_MIDI_TRANSPOSE_4 = 0x718A,
QK_MIDI_TRANSPOSE_5 = 0x718B,
QK_MIDI_TRANSPOSE_6 = 0x718C,
QK_MIDI_TRANSPOSE_DOWN = 0x718D,
QK_MIDI_TRANSPOSE_UP = 0x718E,
QK_MIDI_VELOCITY_0 = 0x7190,
QK_MIDI_VELOCITY_1 = 0x7191,
QK_MIDI_VELOCITY_2 = 0x7192,
QK_MIDI_VELOCITY_3 = 0x7193,
QK_MIDI_VELOCITY_4 = 0x7194,
QK_MIDI_VELOCITY_5 = 0x7195,
QK_MIDI_VELOCITY_6 = 0x7196,
QK_MIDI_VELOCITY_7 = 0x7197,
QK_MIDI_VELOCITY_8 = 0x7198,
QK_MIDI_VELOCITY_9 = 0x7199,
QK_MIDI_VELOCITY_10 = 0x719A,
QK_MIDI_VELOCITY_DOWN = 0x719B,
QK_MIDI_VELOCITY_UP = 0x719C,
QK_MIDI_CHANNEL_1 = 0x71A0,
QK_MIDI_CHANNEL_2 = 0x71A1,
QK_MIDI_CHANNEL_3 = 0x71A2,
QK_MIDI_CHANNEL_4 = 0x71A3,
QK_MIDI_CHANNEL_5 = 0x71A4,
QK_MIDI_CHANNEL_6 = 0x71A5,
QK_MIDI_CHANNEL_7 = 0x71A6,
QK_MIDI_CHANNEL_8 = 0x71A7,
QK_MIDI_CHANNEL_9 = 0x71A8,
QK_MIDI_CHANNEL_10 = 0x71A9,
QK_MIDI_CHANNEL_11 = 0x71AA,
QK_MIDI_CHANNEL_12 = 0x71AB,
QK_MIDI_CHANNEL_13 = 0x71AC,
QK_MIDI_CHANNEL_14 = 0x71AD,
QK_MIDI_CHANNEL_15 = 0x71AE,
QK_MIDI_CHANNEL_16 = 0x71AF,
QK_MIDI_CHANNEL_DOWN = 0x71B0,
QK_MIDI_CHANNEL_UP = 0x71B1,
QK_MIDI_ALL_NOTES_OFF = 0x71C0,
QK_MIDI_SUSTAIN = 0x71C1,
QK_MIDI_PORTAMENTO = 0x71C2,
QK_MIDI_SOSTENUTO = 0x71C3,
QK_MIDI_SOFT = 0x71C4,
QK_MIDI_LEGATO = 0x71C5,
QK_MIDI_MODULATION = 0x71C6,
QK_MIDI_MODULATION_SPEED_DOWN = 0x71C7,
QK_MIDI_MODULATION_SPEED_UP = 0x71C8,
QK_MIDI_PITCH_BEND_DOWN = 0x71C9,
QK_MIDI_PITCH_BEND_UP = 0x71CA,
SQ_ON = 0x7200,
SQ_OFF = 0x7201,
SQ_TOG = 0x7202,
@ -898,36 +898,180 @@ enum qk_keycode_defines {
EC_SWAP = MAGIC_SWAP_ESCAPE_CAPSLOCK,
EC_NORM = MAGIC_UNSWAP_ESCAPE_CAPSLOCK,
EC_TOGG = MAGIC_TOGGLE_ESCAPE_CAPSLOCK,
MI_Db = MI_Cs,
MI_Eb = MI_Ds,
MI_Gb = MI_Fs,
MI_Ab = MI_Gs,
MI_Bb = MI_As,
MI_Db_1 = MI_Cs_1,
MI_Eb_1 = MI_Ds_1,
MI_Gb_1 = MI_Fs_1,
MI_Ab_1 = MI_Gs_1,
MI_Bb_1 = MI_As_1,
MI_Db_2 = MI_Cs_2,
MI_Eb_2 = MI_Ds_2,
MI_Gb_2 = MI_Fs_2,
MI_Ab_2 = MI_Gs_2,
MI_Bb_2 = MI_As_2,
MI_Db_3 = MI_Cs_3,
MI_Eb_3 = MI_Ds_3,
MI_Gb_3 = MI_Fs_3,
MI_Ab_3 = MI_Gs_3,
MI_Bb_3 = MI_As_3,
MI_Db_4 = MI_Cs_4,
MI_Eb_4 = MI_Ds_4,
MI_Gb_4 = MI_Fs_4,
MI_Ab_4 = MI_Gs_4,
MI_Bb_4 = MI_As_4,
MI_Db_5 = MI_Cs_5,
MI_Eb_5 = MI_Ds_5,
MI_Gb_5 = MI_Fs_5,
MI_Ab_5 = MI_Gs_5,
MI_Bb_5 = MI_As_5,
MI_ON = QK_MIDI_ON,
MI_OFF = QK_MIDI_OFF,
MI_TOGG = QK_MIDI_TOGGLE,
MI_C = QK_MIDI_NOTE_C_0,
MI_Cs = QK_MIDI_NOTE_C_SHARP_0,
MI_Db = QK_MIDI_NOTE_C_SHARP_0,
MI_D = QK_MIDI_NOTE_D_0,
MI_Ds = QK_MIDI_NOTE_D_SHARP_0,
MI_Eb = QK_MIDI_NOTE_D_SHARP_0,
MI_E = QK_MIDI_NOTE_E_0,
MI_F = QK_MIDI_NOTE_F_0,
MI_Fs = QK_MIDI_NOTE_F_SHARP_0,
MI_Gb = QK_MIDI_NOTE_F_SHARP_0,
MI_G = QK_MIDI_NOTE_G_0,
MI_Gs = QK_MIDI_NOTE_G_SHARP_0,
MI_Ab = QK_MIDI_NOTE_G_SHARP_0,
MI_A = QK_MIDI_NOTE_A_0,
MI_As = QK_MIDI_NOTE_A_SHARP_0,
MI_Bb = QK_MIDI_NOTE_A_SHARP_0,
MI_B = QK_MIDI_NOTE_B_0,
MI_C1 = QK_MIDI_NOTE_C_1,
MI_Cs1 = QK_MIDI_NOTE_C_SHARP_1,
MI_Db1 = QK_MIDI_NOTE_C_SHARP_1,
MI_D1 = QK_MIDI_NOTE_D_1,
MI_Ds1 = QK_MIDI_NOTE_D_SHARP_1,
MI_Eb1 = QK_MIDI_NOTE_D_SHARP_1,
MI_E1 = QK_MIDI_NOTE_E_1,
MI_F1 = QK_MIDI_NOTE_F_1,
MI_Fs1 = QK_MIDI_NOTE_F_SHARP_1,
MI_Gb1 = QK_MIDI_NOTE_F_SHARP_1,
MI_G1 = QK_MIDI_NOTE_G_1,
MI_Gs1 = QK_MIDI_NOTE_G_SHARP_1,
MI_Ab1 = QK_MIDI_NOTE_G_SHARP_1,
MI_A1 = QK_MIDI_NOTE_A_1,
MI_As1 = QK_MIDI_NOTE_A_SHARP_1,
MI_Bb1 = QK_MIDI_NOTE_A_SHARP_1,
MI_B1 = QK_MIDI_NOTE_B_1,
MI_C2 = QK_MIDI_NOTE_C_2,
MI_Cs2 = QK_MIDI_NOTE_C_SHARP_2,
MI_Db2 = QK_MIDI_NOTE_C_SHARP_2,
MI_D2 = QK_MIDI_NOTE_D_2,
MI_Ds2 = QK_MIDI_NOTE_D_SHARP_2,
MI_Eb2 = QK_MIDI_NOTE_D_SHARP_2,
MI_E2 = QK_MIDI_NOTE_E_2,
MI_F2 = QK_MIDI_NOTE_F_2,
MI_Fs2 = QK_MIDI_NOTE_F_SHARP_2,
MI_Gb2 = QK_MIDI_NOTE_F_SHARP_2,
MI_G2 = QK_MIDI_NOTE_G_2,
MI_Gs2 = QK_MIDI_NOTE_G_SHARP_2,
MI_Ab2 = QK_MIDI_NOTE_G_SHARP_2,
MI_A2 = QK_MIDI_NOTE_A_2,
MI_As2 = QK_MIDI_NOTE_A_SHARP_2,
MI_Bb2 = QK_MIDI_NOTE_A_SHARP_2,
MI_B2 = QK_MIDI_NOTE_B_2,
MI_C3 = QK_MIDI_NOTE_C_3,
MI_Cs3 = QK_MIDI_NOTE_C_SHARP_3,
MI_Db3 = QK_MIDI_NOTE_C_SHARP_3,
MI_D3 = QK_MIDI_NOTE_D_3,
MI_Ds3 = QK_MIDI_NOTE_D_SHARP_3,
MI_Eb3 = QK_MIDI_NOTE_D_SHARP_3,
MI_E3 = QK_MIDI_NOTE_E_3,
MI_F3 = QK_MIDI_NOTE_F_3,
MI_Fs3 = QK_MIDI_NOTE_F_SHARP_3,
MI_Gb3 = QK_MIDI_NOTE_F_SHARP_3,
MI_G3 = QK_MIDI_NOTE_G_3,
MI_Gs3 = QK_MIDI_NOTE_G_SHARP_3,
MI_Ab3 = QK_MIDI_NOTE_G_SHARP_3,
MI_A3 = QK_MIDI_NOTE_A_3,
MI_As3 = QK_MIDI_NOTE_A_SHARP_3,
MI_Bb3 = QK_MIDI_NOTE_A_SHARP_3,
MI_B3 = QK_MIDI_NOTE_B_3,
MI_C4 = QK_MIDI_NOTE_C_4,
MI_Cs4 = QK_MIDI_NOTE_C_SHARP_4,
MI_Db4 = QK_MIDI_NOTE_C_SHARP_4,
MI_D4 = QK_MIDI_NOTE_D_4,
MI_Ds4 = QK_MIDI_NOTE_D_SHARP_4,
MI_Eb4 = QK_MIDI_NOTE_D_SHARP_4,
MI_E4 = QK_MIDI_NOTE_E_4,
MI_F4 = QK_MIDI_NOTE_F_4,
MI_Fs4 = QK_MIDI_NOTE_F_SHARP_4,
MI_Gb4 = QK_MIDI_NOTE_F_SHARP_4,
MI_G4 = QK_MIDI_NOTE_G_4,
MI_Gs4 = QK_MIDI_NOTE_G_SHARP_4,
MI_Ab4 = QK_MIDI_NOTE_G_SHARP_4,
MI_A4 = QK_MIDI_NOTE_A_4,
MI_As4 = QK_MIDI_NOTE_A_SHARP_4,
MI_Bb4 = QK_MIDI_NOTE_A_SHARP_4,
MI_B4 = QK_MIDI_NOTE_B_4,
MI_C5 = QK_MIDI_NOTE_C_5,
MI_Cs5 = QK_MIDI_NOTE_C_SHARP_5,
MI_Db5 = QK_MIDI_NOTE_C_SHARP_5,
MI_D5 = QK_MIDI_NOTE_D_5,
MI_Ds5 = QK_MIDI_NOTE_D_SHARP_5,
MI_Eb5 = QK_MIDI_NOTE_D_SHARP_5,
MI_E5 = QK_MIDI_NOTE_E_5,
MI_F5 = QK_MIDI_NOTE_F_5,
MI_Fs5 = QK_MIDI_NOTE_F_SHARP_5,
MI_Gb5 = QK_MIDI_NOTE_F_SHARP_5,
MI_G5 = QK_MIDI_NOTE_G_5,
MI_Gs5 = QK_MIDI_NOTE_G_SHARP_5,
MI_Ab5 = QK_MIDI_NOTE_G_SHARP_5,
MI_A5 = QK_MIDI_NOTE_A_5,
MI_As5 = QK_MIDI_NOTE_A_SHARP_5,
MI_Bb5 = QK_MIDI_NOTE_A_SHARP_5,
MI_B5 = QK_MIDI_NOTE_B_5,
MI_OCN2 = QK_MIDI_OCTAVE_N2,
MI_OCN1 = QK_MIDI_OCTAVE_N1,
MI_OC0 = QK_MIDI_OCTAVE_0,
MI_OC1 = QK_MIDI_OCTAVE_1,
MI_OC2 = QK_MIDI_OCTAVE_2,
MI_OC3 = QK_MIDI_OCTAVE_3,
MI_OC4 = QK_MIDI_OCTAVE_4,
MI_OC5 = QK_MIDI_OCTAVE_5,
MI_OC6 = QK_MIDI_OCTAVE_6,
MI_OC7 = QK_MIDI_OCTAVE_7,
MI_OCTD = QK_MIDI_OCTAVE_DOWN,
MI_OCTU = QK_MIDI_OCTAVE_UP,
MI_TRN6 = QK_MIDI_TRANSPOSE_N6,
MI_TRN5 = QK_MIDI_TRANSPOSE_N5,
MI_TRN4 = QK_MIDI_TRANSPOSE_N4,
MI_TRN3 = QK_MIDI_TRANSPOSE_N3,
MI_TRN2 = QK_MIDI_TRANSPOSE_N2,
MI_TRN1 = QK_MIDI_TRANSPOSE_N1,
MI_TR0 = QK_MIDI_TRANSPOSE_0,
MI_TR1 = QK_MIDI_TRANSPOSE_1,
MI_TR2 = QK_MIDI_TRANSPOSE_2,
MI_TR3 = QK_MIDI_TRANSPOSE_3,
MI_TR4 = QK_MIDI_TRANSPOSE_4,
MI_TR5 = QK_MIDI_TRANSPOSE_5,
MI_TR6 = QK_MIDI_TRANSPOSE_6,
MI_TRSD = QK_MIDI_TRANSPOSE_DOWN,
MI_TRSU = QK_MIDI_TRANSPOSE_UP,
MI_VL0 = QK_MIDI_VELOCITY_0,
MI_VL1 = QK_MIDI_VELOCITY_1,
MI_VL2 = QK_MIDI_VELOCITY_2,
MI_VL3 = QK_MIDI_VELOCITY_3,
MI_VL4 = QK_MIDI_VELOCITY_4,
MI_VL5 = QK_MIDI_VELOCITY_5,
MI_VL6 = QK_MIDI_VELOCITY_6,
MI_VL7 = QK_MIDI_VELOCITY_7,
MI_VL8 = QK_MIDI_VELOCITY_8,
MI_VL9 = QK_MIDI_VELOCITY_9,
MI_VL10 = QK_MIDI_VELOCITY_10,
MI_VELD = QK_MIDI_VELOCITY_DOWN,
MI_VELU = QK_MIDI_VELOCITY_UP,
MI_CH1 = QK_MIDI_CHANNEL_1,
MI_CH2 = QK_MIDI_CHANNEL_2,
MI_CH3 = QK_MIDI_CHANNEL_3,
MI_CH4 = QK_MIDI_CHANNEL_4,
MI_CH5 = QK_MIDI_CHANNEL_5,
MI_CH6 = QK_MIDI_CHANNEL_6,
MI_CH7 = QK_MIDI_CHANNEL_7,
MI_CH8 = QK_MIDI_CHANNEL_8,
MI_CH9 = QK_MIDI_CHANNEL_9,
MI_CH10 = QK_MIDI_CHANNEL_10,
MI_CH11 = QK_MIDI_CHANNEL_11,
MI_CH12 = QK_MIDI_CHANNEL_12,
MI_CH13 = QK_MIDI_CHANNEL_13,
MI_CH14 = QK_MIDI_CHANNEL_14,
MI_CH15 = QK_MIDI_CHANNEL_15,
MI_CH16 = QK_MIDI_CHANNEL_16,
MI_CHND = QK_MIDI_CHANNEL_DOWN,
MI_CHNU = QK_MIDI_CHANNEL_UP,
MI_AOFF = QK_MIDI_ALL_NOTES_OFF,
MI_SUST = QK_MIDI_SUSTAIN,
MI_PORT = QK_MIDI_PORTAMENTO,
MI_SOST = QK_MIDI_SOSTENUTO,
MI_SOFT = QK_MIDI_SOFT,
MI_LEG = QK_MIDI_LEGATO,
MI_MOD = QK_MIDI_MODULATION,
MI_MODD = QK_MIDI_MODULATION_SPEED_DOWN,
MI_MODU = QK_MIDI_MODULATION_SPEED_UP,
MI_BNDD = QK_MIDI_PITCH_BEND_DOWN,
MI_BNDU = QK_MIDI_PITCH_BEND_UP,
JS_0 = QK_JOYSTICK_BUTTON_0,
JS_1 = QK_JOYSTICK_BUTTON_1,
JS_2 = QK_JOYSTICK_BUTTON_2,
@ -1151,7 +1295,7 @@ enum qk_keycode_defines {
#define IS_MODIFIERS_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI)
#define IS_SWAP_HANDS_KEYCODE(code) ((code) >= SH_TG && (code) <= SH_OS)
#define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK)
#define IS_MIDI_KEYCODE(code) ((code) >= MI_ON && (code) <= MI_BENDU)
#define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP)
#define IS_SEQUENCER_KEYCODE(code) ((code) >= SQ_ON && (code) <= SQ_SCLR)
#define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31)
#define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32)
@ -1161,4 +1305,3 @@ enum qk_keycode_defines {
#define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING)
#define IS_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE)
#define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_AUTOCORRECT_TOGGLE)

View file

@ -52,7 +52,7 @@ inline uint8_t compute_velocity(uint8_t setting) {
}
void midi_init(void) {
midi_config.octave = MI_OCT_2 - MIDI_OCTAVE_MIN;
midi_config.octave = QK_MIDI_OCTAVE_2 - MIDI_OCTAVE_MIN;
midi_config.transpose = 0;
midi_config.velocity = 127;
midi_config.channel = 0;
@ -103,13 +103,13 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi octave %d\n", midi_config.octave);
}
return false;
case MI_OCTD:
case QK_MIDI_OCTAVE_DOWN:
if (record->event.pressed && midi_config.octave > 0) {
midi_config.octave--;
dprintf("midi octave %d\n", midi_config.octave);
}
return false;
case MI_OCTU:
case QK_MIDI_OCTAVE_UP:
if (record->event.pressed && midi_config.octave < (MIDI_OCTAVE_MAX - MIDI_OCTAVE_MIN)) {
midi_config.octave++;
dprintf("midi octave %d\n", midi_config.octave);
@ -117,18 +117,18 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
return false;
case MIDI_TRANSPOSE_MIN ... MIDI_TRANSPOSE_MAX:
if (record->event.pressed) {
midi_config.transpose = keycode - MI_TRNS_0;
midi_config.transpose = keycode - QK_MIDI_TRANSPOSE_0;
dprintf("midi transpose %d\n", midi_config.transpose);
}
return false;
case MI_TRNSD:
if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - MI_TRNS_0)) {
case QK_MIDI_TRANSPOSE_DOWN:
if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - QK_MIDI_TRANSPOSE_0)) {
midi_config.transpose--;
dprintf("midi transpose %d\n", midi_config.transpose);
}
return false;
case MI_TRNSU:
if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - MI_TRNS_0)) {
case QK_MIDI_TRANSPOSE_UP:
if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - QK_MIDI_TRANSPOSE_0)) {
const bool positive = midi_config.transpose > 0;
midi_config.transpose++;
if (positive && midi_config.transpose < 0) midi_config.transpose--;
@ -141,7 +141,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi velocity %d\n", midi_config.velocity);
}
return false;
case MI_VELD:
case QK_MIDI_VELOCITY_DOWN:
if (record->event.pressed && midi_config.velocity > 0) {
if (midi_config.velocity == 127) {
midi_config.velocity -= 10;
@ -154,7 +154,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi velocity %d\n", midi_config.velocity);
}
return false;
case MI_VELU:
case QK_MIDI_VELOCITY_UP:
if (record->event.pressed && midi_config.velocity < 127) {
if (midi_config.velocity < 115) {
midi_config.velocity += 13;
@ -170,48 +170,48 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi channel %d\n", midi_config.channel);
}
return false;
case MI_CHD:
case QK_MIDI_CHANNEL_DOWN:
if (record->event.pressed) {
midi_config.channel--;
dprintf("midi channel %d\n", midi_config.channel);
}
return false;
case MI_CHU:
case QK_MIDI_CHANNEL_UP:
if (record->event.pressed) {
midi_config.channel++;
dprintf("midi channel %d\n", midi_config.channel);
}
return false;
case MI_ALLOFF:
case QK_MIDI_ALL_NOTES_OFF:
if (record->event.pressed) {
midi_send_cc(&midi_device, midi_config.channel, 0x7B, 0);
dprintf("midi all notes off\n");
}
return false;
case MI_SUS:
case QK_MIDI_SUSTAIN:
midi_send_cc(&midi_device, midi_config.channel, 0x40, record->event.pressed ? 127 : 0);
dprintf("midi sustain %d\n", record->event.pressed);
return false;
case MI_PORT:
case QK_MIDI_PORTAMENTO:
midi_send_cc(&midi_device, midi_config.channel, 0x41, record->event.pressed ? 127 : 0);
dprintf("midi portamento %d\n", record->event.pressed);
return false;
case MI_SOST:
case QK_MIDI_SOSTENUTO:
midi_send_cc(&midi_device, midi_config.channel, 0x42, record->event.pressed ? 127 : 0);
dprintf("midi sostenuto %d\n", record->event.pressed);
return false;
case MI_SOFT:
case QK_MIDI_SOFT:
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
dprintf("midi soft %d\n", record->event.pressed);
return false;
case MI_LEG:
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
case QK_MIDI_LEGATO:
midi_send_cc(&midi_device, midi_config.channel, 0x44, record->event.pressed ? 127 : 0);
dprintf("midi legato %d\n", record->event.pressed);
return false;
case MI_MOD:
case QK_MIDI_MODULATION:
midi_modulation_step = record->event.pressed ? 1 : -1;
return false;
case MI_MODSD:
case QK_MIDI_MODULATION_SPEED_DOWN:
if (record->event.pressed) {
midi_config.modulation_interval++;
// prevent overflow
@ -219,13 +219,13 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
}
return false;
case MI_MODSU:
case QK_MIDI_MODULATION_SPEED_UP:
if (record->event.pressed && midi_config.modulation_interval > 0) {
midi_config.modulation_interval--;
dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
}
return false;
case MI_BENDD:
case QK_MIDI_PITCH_BEND_DOWN:
if (record->event.pressed) {
midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000);
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, -0x2000);
@ -234,7 +234,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0);
}
return false;
case MI_BENDU:
case QK_MIDI_PITCH_BEND_UP:
if (record->event.pressed) {
midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff);
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff);

View file

@ -120,17 +120,17 @@ bool process_music(uint16_t keycode, keyrecord_t *record) {
return false;
}
if (keycode == MI_ON && record->event.pressed) {
if (keycode == QK_MIDI_ON && record->event.pressed) {
midi_on();
return false;
}
if (keycode == MI_OFF && record->event.pressed) {
if (keycode == QK_MIDI_OFF && record->event.pressed) {
midi_off();
return false;
}
if (keycode == MI_TOG && record->event.pressed) {
if (keycode == QK_MIDI_TOGGLE && record->event.pressed) {
if (midi_activated) {
midi_off();
} else {

View file

@ -193,16 +193,16 @@
#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF)
// MIDI aliases
#define MIDI_TONE_MIN MI_C
#define MIDI_TONE_MAX MI_B_5
#define MIDI_OCTAVE_MIN MI_OCT_N2
#define MIDI_OCTAVE_MAX MI_OCT_7
#define MIDI_TRANSPOSE_MIN MI_TRNS_N6
#define MIDI_TRANSPOSE_MAX MI_TRNS_6
#define MIDI_VELOCITY_MIN MI_VEL_0
#define MIDI_VELOCITY_MAX MI_VEL_10
#define MIDI_CHANNEL_MIN MI_CH1
#define MIDI_CHANNEL_MAX MI_CH16
#define MIDI_TONE_MIN QK_MIDI_NOTE_C_0
#define MIDI_TONE_MAX QK_MIDI_NOTE_B_5
#define MIDI_OCTAVE_MIN QK_MIDI_OCTAVE_N2
#define MIDI_OCTAVE_MAX QK_MIDI_OCTAVE_7
#define MIDI_TRANSPOSE_MIN QK_MIDI_TRANSPOSE_N6
#define MIDI_TRANSPOSE_MAX QK_MIDI_TRANSPOSE_6
#define MIDI_VELOCITY_MIN QK_MIDI_VELOCITY_0
#define MIDI_VELOCITY_MAX QK_MIDI_VELOCITY_10
#define MIDI_CHANNEL_MIN QK_MIDI_CHANNEL_1
#define MIDI_CHANNEL_MAX QK_MIDI_CHANNEL_16
// TODO: somehow migrate sequencer to DD?
#include "sequencer.h"

View file

@ -138,6 +138,136 @@
#define MUV_IN QK_AUDIO_VOICE_NEXT
#define MUV_DE QK_AUDIO_VOICE_PREVIOUS
#define MI_TOG QK_MIDI_TOGGLE
#define MI_C_1 QK_MIDI_NOTE_C_1
#define MI_Cs_1 QK_MIDI_NOTE_C_SHARP_1
#define MI_Db_1 QK_MIDI_NOTE_C_SHARP_1
#define MI_D_1 QK_MIDI_NOTE_D_1
#define MI_Ds_1 QK_MIDI_NOTE_D_SHARP_1
#define MI_Eb_1 QK_MIDI_NOTE_D_SHARP_1
#define MI_E_1 QK_MIDI_NOTE_E_1
#define MI_F_1 QK_MIDI_NOTE_F_1
#define MI_Fs_1 QK_MIDI_NOTE_F_SHARP_1
#define MI_Gb_1 QK_MIDI_NOTE_F_SHARP_1
#define MI_G_1 QK_MIDI_NOTE_G_1
#define MI_Gs_1 QK_MIDI_NOTE_G_SHARP_1
#define MI_Ab_1 QK_MIDI_NOTE_G_SHARP_1
#define MI_A_1 QK_MIDI_NOTE_A_1
#define MI_As_1 QK_MIDI_NOTE_A_SHARP_1
#define MI_Bb_1 QK_MIDI_NOTE_A_SHARP_1
#define MI_B_1 QK_MIDI_NOTE_B_1
#define MI_C_2 QK_MIDI_NOTE_C_2
#define MI_Cs_2 QK_MIDI_NOTE_C_SHARP_2
#define MI_Db_2 QK_MIDI_NOTE_C_SHARP_2
#define MI_D_2 QK_MIDI_NOTE_D_2
#define MI_Ds_2 QK_MIDI_NOTE_D_SHARP_2
#define MI_Eb_2 QK_MIDI_NOTE_D_SHARP_2
#define MI_E_2 QK_MIDI_NOTE_E_2
#define MI_F_2 QK_MIDI_NOTE_F_2
#define MI_Fs_2 QK_MIDI_NOTE_F_SHARP_2
#define MI_Gb_2 QK_MIDI_NOTE_F_SHARP_2
#define MI_G_2 QK_MIDI_NOTE_G_2
#define MI_Gs_2 QK_MIDI_NOTE_G_SHARP_2
#define MI_Ab_2 QK_MIDI_NOTE_G_SHARP_2
#define MI_A_2 QK_MIDI_NOTE_A_2
#define MI_As_2 QK_MIDI_NOTE_A_SHARP_2
#define MI_Bb_2 QK_MIDI_NOTE_A_SHARP_2
#define MI_B_2 QK_MIDI_NOTE_B_2
#define MI_C_3 QK_MIDI_NOTE_C_3
#define MI_Cs_3 QK_MIDI_NOTE_C_SHARP_3
#define MI_Db_3 QK_MIDI_NOTE_C_SHARP_3
#define MI_D_3 QK_MIDI_NOTE_D_3
#define MI_Ds_3 QK_MIDI_NOTE_D_SHARP_3
#define MI_Eb_3 QK_MIDI_NOTE_D_SHARP_3
#define MI_E_3 QK_MIDI_NOTE_E_3
#define MI_F_3 QK_MIDI_NOTE_F_3
#define MI_Fs_3 QK_MIDI_NOTE_F_SHARP_3
#define MI_Gb_3 QK_MIDI_NOTE_F_SHARP_3
#define MI_G_3 QK_MIDI_NOTE_G_3
#define MI_Gs_3 QK_MIDI_NOTE_G_SHARP_3
#define MI_Ab_3 QK_MIDI_NOTE_G_SHARP_3
#define MI_A_3 QK_MIDI_NOTE_A_3
#define MI_As_3 QK_MIDI_NOTE_A_SHARP_3
#define MI_Bb_3 QK_MIDI_NOTE_A_SHARP_3
#define MI_B_3 QK_MIDI_NOTE_B_3
#define MI_C_4 QK_MIDI_NOTE_C_4
#define MI_Cs_4 QK_MIDI_NOTE_C_SHARP_4
#define MI_Db_4 QK_MIDI_NOTE_C_SHARP_4
#define MI_D_4 QK_MIDI_NOTE_D_4
#define MI_Ds_4 QK_MIDI_NOTE_D_SHARP_4
#define MI_Eb_4 QK_MIDI_NOTE_D_SHARP_4
#define MI_E_4 QK_MIDI_NOTE_E_4
#define MI_F_4 QK_MIDI_NOTE_F_4
#define MI_Fs_4 QK_MIDI_NOTE_F_SHARP_4
#define MI_Gb_4 QK_MIDI_NOTE_F_SHARP_4
#define MI_G_4 QK_MIDI_NOTE_G_4
#define MI_Gs_4 QK_MIDI_NOTE_G_SHARP_4
#define MI_Ab_4 QK_MIDI_NOTE_G_SHARP_4
#define MI_A_4 QK_MIDI_NOTE_A_4
#define MI_As_4 QK_MIDI_NOTE_A_SHARP_4
#define MI_Bb_4 QK_MIDI_NOTE_A_SHARP_4
#define MI_B_4 QK_MIDI_NOTE_B_4
#define MI_C_5 QK_MIDI_NOTE_C_5
#define MI_Cs_5 QK_MIDI_NOTE_C_SHARP_5
#define MI_Db_5 QK_MIDI_NOTE_C_SHARP_5
#define MI_D_5 QK_MIDI_NOTE_D_5
#define MI_Ds_5 QK_MIDI_NOTE_D_SHARP_5
#define MI_Eb_5 QK_MIDI_NOTE_D_SHARP_5
#define MI_E_5 QK_MIDI_NOTE_E_5
#define MI_F_5 QK_MIDI_NOTE_F_5
#define MI_Fs_5 QK_MIDI_NOTE_F_SHARP_5
#define MI_Gb_5 QK_MIDI_NOTE_F_SHARP_5
#define MI_G_5 QK_MIDI_NOTE_G_5
#define MI_Gs_5 QK_MIDI_NOTE_G_SHARP_5
#define MI_Ab_5 QK_MIDI_NOTE_G_SHARP_5
#define MI_A_5 QK_MIDI_NOTE_A_5
#define MI_As_5 QK_MIDI_NOTE_A_SHARP_5
#define MI_Bb_5 QK_MIDI_NOTE_A_SHARP_5
#define MI_B_5 QK_MIDI_NOTE_B_5
#define MI_OCT_N2 QK_MIDI_OCTAVE_N2
#define MI_OCT_N1 QK_MIDI_OCTAVE_N1
#define MI_OCT_0 QK_MIDI_OCTAVE_0
#define MI_OCT_1 QK_MIDI_OCTAVE_1
#define MI_OCT_2 QK_MIDI_OCTAVE_2
#define MI_OCT_3 QK_MIDI_OCTAVE_3
#define MI_OCT_4 QK_MIDI_OCTAVE_4
#define MI_OCT_5 QK_MIDI_OCTAVE_5
#define MI_OCT_6 QK_MIDI_OCTAVE_6
#define MI_OCT_7 QK_MIDI_OCTAVE_7
#define MI_TRNS_N6 QK_MIDI_TRANSPOSE_N6
#define MI_TRNS_N5 QK_MIDI_TRANSPOSE_N5
#define MI_TRNS_N4 QK_MIDI_TRANSPOSE_N4
#define MI_TRNS_N3 QK_MIDI_TRANSPOSE_N3
#define MI_TRNS_N2 QK_MIDI_TRANSPOSE_N2
#define MI_TRNS_N1 QK_MIDI_TRANSPOSE_N1
#define MI_TRNS_0 QK_MIDI_TRANSPOSE_0
#define MI_TRNS_1 QK_MIDI_TRANSPOSE_1
#define MI_TRNS_2 QK_MIDI_TRANSPOSE_2
#define MI_TRNS_3 QK_MIDI_TRANSPOSE_3
#define MI_TRNS_4 QK_MIDI_TRANSPOSE_4
#define MI_TRNS_5 QK_MIDI_TRANSPOSE_5
#define MI_TRNS_6 QK_MIDI_TRANSPOSE_6
#define MI_TRNSD QK_MIDI_TRANSPOSE_DOWN
#define MI_TRNSU QK_MIDI_TRANSPOSE_UP
#define MI_VEL_0 QK_MIDI_VELOCITY_0
#define MI_VEL_1 QK_MIDI_VELOCITY_1
#define MI_VEL_2 QK_MIDI_VELOCITY_2
#define MI_VEL_3 QK_MIDI_VELOCITY_3
#define MI_VEL_4 QK_MIDI_VELOCITY_4
#define MI_VEL_5 QK_MIDI_VELOCITY_5
#define MI_VEL_6 QK_MIDI_VELOCITY_6
#define MI_VEL_7 QK_MIDI_VELOCITY_7
#define MI_VEL_8 QK_MIDI_VELOCITY_8
#define MI_VEL_9 QK_MIDI_VELOCITY_9
#define MI_VEL_10 QK_MIDI_VELOCITY_10
#define MI_CHD QK_MIDI_CHANNEL_DOWN
#define MI_CHU QK_MIDI_CHANNEL_UP
#define MI_ALLOFF QK_MIDI_ALL_NOTES_OFF
#define MI_MODSD QK_MIDI_MODULATION_SPEED_DOWN
#define MI_MODSU QK_MIDI_MODULATION_SPEED_UP
#define MI_BENDD QK_MIDI_PITCH_BEND_DOWN
#define MI_BENDU QK_MIDI_PITCH_BEND_UP
#define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.")
#define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.")
// #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.")

View file

@ -371,14 +371,14 @@ void setUpMatrixScanSequencerTest(void) {
sequencer_config.resolution = SQ_RES_16;
// Configure the notes for each track
sequencer_config.track_notes[0] = MI_C;
sequencer_config.track_notes[1] = MI_D;
sequencer_config.track_notes[2] = MI_E;
sequencer_config.track_notes[3] = MI_F;
sequencer_config.track_notes[4] = MI_G;
sequencer_config.track_notes[5] = MI_A;
sequencer_config.track_notes[6] = MI_B;
sequencer_config.track_notes[7] = MI_C;
sequencer_config.track_notes[0] = QK_MIDI_NOTE_C_0;
sequencer_config.track_notes[1] = QK_MIDI_NOTE_D_0;
sequencer_config.track_notes[2] = QK_MIDI_NOTE_E_0;
sequencer_config.track_notes[3] = QK_MIDI_NOTE_F_0;
sequencer_config.track_notes[4] = QK_MIDI_NOTE_G_0;
sequencer_config.track_notes[5] = QK_MIDI_NOTE_A_0;
sequencer_config.track_notes[6] = QK_MIDI_NOTE_B_0;
sequencer_config.track_notes[7] = QK_MIDI_NOTE_C_0;
// Turn on some steps
sequencer_config.steps[0] = (1 << 0);
@ -389,7 +389,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldAttackFirstTrackOfFirstStep)
setUpMatrixScanSequencerTest();
sequencer_task();
EXPECT_EQ(last_noteon, MI_C);
EXPECT_EQ(last_noteon, QK_MIDI_NOTE_C_0);
EXPECT_EQ(last_noteoff, 0);
}
@ -499,7 +499,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldReleaseFirstTrackFirstStep) {
sequencer_task();
EXPECT_EQ(last_noteon, 0);
EXPECT_EQ(last_noteoff, MI_C);
EXPECT_EQ(last_noteoff, QK_MIDI_NOTE_C_0);
}
TEST_F(SequencerTest, TestMatrixScanSequencerShouldEnterPausePhaseAfterRelease) {
@ -565,7 +565,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldProcessSecondTrackOnTime) {
advance_time(SEQUENCER_TRACK_THROTTLE);
sequencer_task();
EXPECT_EQ(last_noteon, MI_D);
EXPECT_EQ(last_noteon, QK_MIDI_NOTE_D_0);
EXPECT_EQ(last_noteoff, 0);
}

View file

@ -140,19 +140,19 @@
*/
// Not sure why, but this does not work (possibly due to the lowercase 's'?)
// #ifdef MIDI_ADVANCED
// #define __GUITAR_1E_L______________________________ MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1
// #define __GUITAR_2A_L______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2
// #define __GUITAR_3D_L______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2
// #define __GUITAR_4G_L______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2
// #define __GUITAR_5B_L______________________________ MI_B_2, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3
// #define __GUITAR_6E_L______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3
// #define __GUITAR_1E_L______________________________ MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1
// #define __GUITAR_2A_L______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
// #define __GUITAR_3D_L______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
// #define __GUITAR_4G_L______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
// #define __GUITAR_5B_L______________________________ MI_B2, MI_C3, MI_Cs3, MI_D3, MI_Ds3
// #define __GUITAR_6E_L______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3
//
// #define __GUITAR_1E_R______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2
// #define __GUITAR_2A_R______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2
// #define __GUITAR_3D_R______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2
// #define __GUITAR_4G_R______________________________ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3
// #define __GUITAR_5B_R______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3
// #define __GUITAR_6E_R______________________________ MI_A_3, MI_As_3, MI_B_3, MI_C_4, MI_Cs_4
// #define __GUITAR_1E_R______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
// #define __GUITAR_2A_R______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
// #define __GUITAR_3D_R______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
// #define __GUITAR_4G_R______________________________ MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3
// #define __GUITAR_5B_R______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3
// #define __GUITAR_6E_R______________________________ MI_A3, MI_As3, MI_B3, MI_C4, MI_Cs4
// #endif