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:
parent
442e7653cc
commit
8b658dcc9a
File diff suppressed because it is too large
Load Diff
@ -81,159 +81,159 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
### Keycodes
|
### Keycodes
|
||||||
|
|
||||||
|Keycode |Aliases |Description |
|
|Keycode |Aliases |Description |
|
||||||
|------------|---------|---------------------------------|
|
|-------------------------------|------------------|---------------------------------|
|
||||||
|`MI_ON` | |Turn MIDI on |
|
|`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|
||||||
|`MI_OFF` | |Turn MIDI off |
|
|`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|
||||||
|`MI_TOG` | |Toggle MIDI enabled |
|
|`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|
||||||
|`MI_C` | |C octave 0 |
|
|`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|
||||||
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|
|`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|
||||||
|`MI_D` | |D octave 0 |
|
|`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|
||||||
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|
|`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|
||||||
|`MI_E` | |E octave 0 |
|
|`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|
||||||
|`MI_F` | |F octave 0 |
|
|`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|
||||||
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|
|`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|
||||||
|`MI_G` | |G octave 0 |
|
|`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|
||||||
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|
|`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|
||||||
|`MI_A` | |A octave 0 |
|
|`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|
||||||
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|
|`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|
||||||
|`MI_B` | |B octave 0 |
|
|`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|
||||||
|`MI_C_1` | |C octave 1 |
|
|`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|
||||||
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|
|`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|
||||||
|`MI_D_1` | |D octave 1 |
|
|`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|
||||||
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|
|`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|
||||||
|`MI_E_1` | |E octave 1 |
|
|`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|
||||||
|`MI_F_1` | |F octave 1 |
|
|`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|
||||||
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|
|`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|
||||||
|`MI_G_1` | |G octave 1 |
|
|`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|
||||||
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|
|`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|
||||||
|`MI_A_1` | |A octave 1 |
|
|`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|
||||||
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|
|`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|
||||||
|`MI_B_1` | |B octave 1 |
|
|`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|
||||||
|`MI_C_2` | |C octave 2 |
|
|`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|
||||||
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|
|`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|
||||||
|`MI_D_2` | |D octave 2 |
|
|`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|
||||||
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|
|`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|
||||||
|`MI_E_2` | |E octave 2 |
|
|`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|
||||||
|`MI_F_2` | |F octave 2 |
|
|`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|
||||||
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|
|`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|
||||||
|`MI_G_2` | |G octave 2 |
|
|`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|
||||||
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|
|`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|
||||||
|`MI_A_2` | |A octave 2 |
|
|`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|
||||||
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|
|`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|
||||||
|`MI_B_2` | |B octave 2 |
|
|`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|
||||||
|`MI_C_3` | |C octave 3 |
|
|`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|
||||||
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|
|`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|
||||||
|`MI_D_3` | |D octave 3 |
|
|`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|
||||||
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|
|`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|
||||||
|`MI_E_3` | |E octave 3 |
|
|`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|
||||||
|`MI_F_3` | |F octave 3 |
|
|`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|
||||||
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|
|`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|
||||||
|`MI_G_3` | |G octave 3 |
|
|`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|
||||||
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|
|`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|
||||||
|`MI_A_3` | |A octave 3 |
|
|`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|
||||||
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|
|`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|
||||||
|`MI_B_3` | |B octave 3 |
|
|`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|
||||||
|`MI_C_4` | |C octave 4 |
|
|`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|
||||||
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|
|`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|
||||||
|`MI_D_4` | |D octave 4 |
|
|`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|
||||||
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|
|`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|
||||||
|`MI_E_4` | |E octave 4 |
|
|`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|
||||||
|`MI_F_4` | |F octave 4 |
|
|`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|
||||||
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|
|`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|
||||||
|`MI_G_4` | |G octave 4 |
|
|`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|
||||||
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|
|`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|
||||||
|`MI_A_4` | |A octave 4 |
|
|`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|
||||||
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|
|`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|
||||||
|`MI_B_4` | |B octave 4 |
|
|`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|
||||||
|`MI_C_5` | |C octave 5 |
|
|`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|
||||||
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|
|`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|
||||||
|`MI_D_5` | |D octave 5 |
|
|`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|
||||||
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|
|`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|
||||||
|`MI_E_5` | |E octave 5 |
|
|`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|
||||||
|`MI_F_5` | |F octave 5 |
|
|`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|
||||||
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|
|`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|
||||||
|`MI_G_5` | |G octave 5 |
|
|`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|
||||||
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|
|`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|
||||||
|`MI_A_5` | |A octave 5 |
|
|`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|
||||||
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|
|`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|
||||||
|`MI_B_5` | |B octave 5 |
|
|`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|
||||||
|`MI_OCT_N2` | |Set octave to -2 |
|
|`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|
||||||
|`MI_OCT_N1` | |Set octave to -1 |
|
|`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|
||||||
|`MI_OCT_0` | |Set octave to 0 |
|
|`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|
||||||
|`MI_OCT_1` | |Set octave to 1 |
|
|`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|
||||||
|`MI_OCT_2` | |Set octave to 2 |
|
|`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|
||||||
|`MI_OCT_3` | |Set octave to 3 |
|
|`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|
||||||
|`MI_OCT_4` | |Set octave to 4 |
|
|`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|
||||||
|`MI_OCT_5` | |Set octave to 5 |
|
|`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|
||||||
|`MI_OCT_6` | |Set octave to 6 |
|
|`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|
||||||
|`MI_OCT_7` | |Set octave to 7 |
|
|`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|
||||||
|`MI_OCTD` | |Move down an octave |
|
|`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|
||||||
|`MI_OCTU` | |Move up an octave |
|
|`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|
||||||
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|
|`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|
||||||
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|
|`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|
||||||
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|
|`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|
||||||
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|
|`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|
||||||
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|
|`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|
||||||
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|
|`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|
||||||
|`MI_TRNS_0` | |No transposition |
|
|`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|
||||||
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|
|`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|
||||||
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|
|`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|
||||||
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|
|`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|
||||||
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|
|`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|
||||||
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|
|`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|
||||||
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|
|`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|
||||||
|`MI_TRNSD` | |Decrease transposition |
|
|`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|
||||||
|`MI_TRNSU` | |Increase transposition |
|
|`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|
||||||
|`MI_VEL_0` | |Set velocity to 0 |
|
|`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|
||||||
|`MI_VEL_1` | |Set velocity to 12 |
|
|`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|
||||||
|`MI_VEL_2` | |Set velocity to 25 |
|
|`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|
||||||
|`MI_VEL_3` | |Set velocity to 38 |
|
|`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|
||||||
|`MI_VEL_4` | |Set velocity to 51 |
|
|`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|
||||||
|`MI_VEL_5` | |Set velocity to 64 |
|
|`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|
||||||
|`MI_VEL_6` | |Set velocity to 76 |
|
|`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|
||||||
|`MI_VEL_7` | |Set velocity to 89 |
|
|`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|
||||||
|`MI_VEL_8` | |Set velocity to 102 |
|
|`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|
||||||
|`MI_VEL_9` | |Set velocity to 114 |
|
|`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|
||||||
|`MI_VEL_10` | |Set velocity to 127 |
|
|`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|
||||||
|`MI_VELD` | |Decrease velocity |
|
|`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|
||||||
|`MI_VELU` | |Increase velocity |
|
|`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|
||||||
|`MI_CH1` | |Set channel to 1 |
|
|`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|
||||||
|`MI_CH2` | |Set channel to 2 |
|
|`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|
||||||
|`MI_CH3` | |Set channel to 3 |
|
|`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|
||||||
|`MI_CH4` | |Set channel to 4 |
|
|`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|
||||||
|`MI_CH5` | |Set channel to 5 |
|
|`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|
||||||
|`MI_CH6` | |Set channel to 6 |
|
|`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|
||||||
|`MI_CH7` | |Set channel to 7 |
|
|`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|
||||||
|`MI_CH8` | |Set channel to 8 |
|
|`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|
||||||
|`MI_CH9` | |Set channel to 9 |
|
|`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|
||||||
|`MI_CH10` | |Set channel to 10 |
|
|`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|
||||||
|`MI_CH11` | |Set channel to 11 |
|
|`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|
||||||
|`MI_CH12` | |Set channel to 12 |
|
|`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|
||||||
|`MI_CH13` | |Set channel to 13 |
|
|`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|
||||||
|`MI_CH14` | |Set channel to 14 |
|
|`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|
||||||
|`MI_CH15` | |Set channel to 15 |
|
|`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|
||||||
|`MI_CH16` | |Set channel to 16 |
|
|`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|
||||||
|`MI_CHD` | |Decrease channel |
|
|`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|
||||||
|`MI_CHU` | |Increase channel |
|
|`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|
||||||
|`MI_ALLOFF` | |Stop all notes |
|
|`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|
||||||
|`MI_SUS` | |Sustain |
|
|`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|
||||||
|`MI_PORT` | |Portmento |
|
|`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|
||||||
|`MI_SOST` | |Sostenuto |
|
|`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|
||||||
|`MI_SOFT` | |Soft Pedal |
|
|`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|
||||||
|`MI_LEG` | |Legato |
|
|`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|
||||||
|`MI_MOD` | |Modulation |
|
|`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|
||||||
|`MI_MODSD` | |Decrease modulation speed |
|
|`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|
||||||
|`MI_MODSU` | |Increase modulation speed |
|
|`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|
||||||
|`MI_BENDD` | |Bend pitch down |
|
|`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|
||||||
|`MI_BENDU` | |Bend pitch up |
|
|`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are:
|
Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are:
|
||||||
|
|
||||||
|Configuration |Value|Comments |
|
|Configuration |Value|Comments |
|
||||||
|-------------------|-----|-------------------------|
|
|-------------------|-----|-----------------------|
|
||||||
|Octave |`4` |Corresponds to `MI_OCT_2`|
|
|Octave |`4` |Corresponds to `MI_OC2`|
|
||||||
|Transposition |`0` | |
|
|Transposition |`0` | |
|
||||||
|Velocity |`127`| |
|
|Velocity |`127`| |
|
||||||
|Channel |`0` | |
|
|Channel |`0` | |
|
||||||
|
290
docs/keycodes.md
290
docs/keycodes.md
@ -443,151 +443,151 @@ See also: [Magic Keycodes](keycodes_magic.md)
|
|||||||
See also: [MIDI](feature_midi.md)
|
See also: [MIDI](feature_midi.md)
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|------------|---------|---------------------------------|
|
|-------------------------------|------------------|---------------------------------|
|
||||||
|`MI_ON` | |Turn MIDI on |
|
|`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|
||||||
|`MI_OFF` | |Turn MIDI off |
|
|`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|
||||||
|`MI_TOG` | |Toggle MIDI enabled |
|
|`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|
||||||
|`MI_C` | |C octave 0 |
|
|`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|
||||||
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 |
|
|`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|
||||||
|`MI_D` | |D octave 0 |
|
|`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|
||||||
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 |
|
|`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|
||||||
|`MI_E` | |E octave 0 |
|
|`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|
||||||
|`MI_F` | |F octave 0 |
|
|`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|
||||||
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 |
|
|`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|
||||||
|`MI_G` | |G octave 0 |
|
|`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|
||||||
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 |
|
|`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|
||||||
|`MI_A` | |A octave 0 |
|
|`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|
||||||
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 |
|
|`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|
||||||
|`MI_B` | |B octave 0 |
|
|`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|
||||||
|`MI_C_1` | |C octave 1 |
|
|`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|
||||||
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 |
|
|`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|
||||||
|`MI_D_1` | |D octave 1 |
|
|`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|
||||||
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 |
|
|`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|
||||||
|`MI_E_1` | |E octave 1 |
|
|`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|
||||||
|`MI_F_1` | |F octave 1 |
|
|`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|
||||||
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 |
|
|`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|
||||||
|`MI_G_1` | |G octave 1 |
|
|`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|
||||||
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 |
|
|`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|
||||||
|`MI_A_1` | |A octave 1 |
|
|`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|
||||||
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 |
|
|`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|
||||||
|`MI_B_1` | |B octave 1 |
|
|`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|
||||||
|`MI_C_2` | |C octave 2 |
|
|`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|
||||||
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 |
|
|`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|
||||||
|`MI_D_2` | |D octave 2 |
|
|`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|
||||||
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 |
|
|`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|
||||||
|`MI_E_2` | |E octave 2 |
|
|`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|
||||||
|`MI_F_2` | |F octave 2 |
|
|`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|
||||||
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 |
|
|`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|
||||||
|`MI_G_2` | |G octave 2 |
|
|`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|
||||||
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 |
|
|`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|
||||||
|`MI_A_2` | |A octave 2 |
|
|`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|
||||||
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 |
|
|`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|
||||||
|`MI_B_2` | |B octave 2 |
|
|`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|
||||||
|`MI_C_3` | |C octave 3 |
|
|`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|
||||||
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 |
|
|`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|
||||||
|`MI_D_3` | |D octave 3 |
|
|`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|
||||||
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 |
|
|`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|
||||||
|`MI_E_3` | |E octave 3 |
|
|`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|
||||||
|`MI_F_3` | |F octave 3 |
|
|`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|
||||||
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 |
|
|`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|
||||||
|`MI_G_3` | |G octave 3 |
|
|`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|
||||||
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 |
|
|`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|
||||||
|`MI_A_3` | |A octave 3 |
|
|`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|
||||||
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 |
|
|`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|
||||||
|`MI_B_3` | |B octave 3 |
|
|`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|
||||||
|`MI_C_4` | |C octave 4 |
|
|`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|
||||||
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 |
|
|`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|
||||||
|`MI_D_4` | |D octave 4 |
|
|`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|
||||||
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 |
|
|`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|
||||||
|`MI_E_4` | |E octave 4 |
|
|`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|
||||||
|`MI_F_4` | |F octave 4 |
|
|`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|
||||||
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 |
|
|`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|
||||||
|`MI_G_4` | |G octave 4 |
|
|`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|
||||||
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 |
|
|`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|
||||||
|`MI_A_4` | |A octave 4 |
|
|`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|
||||||
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 |
|
|`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|
||||||
|`MI_B_4` | |B octave 4 |
|
|`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|
||||||
|`MI_C_5` | |C octave 5 |
|
|`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|
||||||
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 |
|
|`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|
||||||
|`MI_D_5` | |D octave 5 |
|
|`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|
||||||
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 |
|
|`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|
||||||
|`MI_E_5` | |E octave 5 |
|
|`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|
||||||
|`MI_F_5` | |F octave 5 |
|
|`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|
||||||
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 |
|
|`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|
||||||
|`MI_G_5` | |G octave 5 |
|
|`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|
||||||
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 |
|
|`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|
||||||
|`MI_A_5` | |A octave 5 |
|
|`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|
||||||
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 |
|
|`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|
||||||
|`MI_B_5` | |B octave 5 |
|
|`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|
||||||
|`MI_OCT_N2` | |Set octave to -2 |
|
|`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|
||||||
|`MI_OCT_N1` | |Set octave to -1 |
|
|`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|
||||||
|`MI_OCT_0` | |Set octave to 0 |
|
|`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|
||||||
|`MI_OCT_1` | |Set octave to 1 |
|
|`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|
||||||
|`MI_OCT_2` | |Set octave to 2 |
|
|`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|
||||||
|`MI_OCT_3` | |Set octave to 3 |
|
|`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|
||||||
|`MI_OCT_4` | |Set octave to 4 |
|
|`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|
||||||
|`MI_OCT_5` | |Set octave to 5 |
|
|`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|
||||||
|`MI_OCT_6` | |Set octave to 6 |
|
|`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|
||||||
|`MI_OCT_7` | |Set octave to 7 |
|
|`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|
||||||
|`MI_OCTD` | |Move down an octave |
|
|`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|
||||||
|`MI_OCTU` | |Move up an octave |
|
|`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|
||||||
|`MI_TRNS_N6`| |Set transposition to -6 semitones|
|
|`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|
||||||
|`MI_TRNS_N5`| |Set transposition to -5 semitones|
|
|`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|
||||||
|`MI_TRNS_N4`| |Set transposition to -4 semitones|
|
|`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|
||||||
|`MI_TRNS_N3`| |Set transposition to -3 semitones|
|
|`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|
||||||
|`MI_TRNS_N2`| |Set transposition to -2 semitones|
|
|`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|
||||||
|`MI_TRNS_N1`| |Set transposition to -1 semitone |
|
|`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|
||||||
|`MI_TRNS_0` | |No transposition |
|
|`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|
||||||
|`MI_TRNS_1` | |Set transposition to +1 semitone |
|
|`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|
||||||
|`MI_TRNS_2` | |Set transposition to +2 semitones|
|
|`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|
||||||
|`MI_TRNS_3` | |Set transposition to +3 semitones|
|
|`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|
||||||
|`MI_TRNS_4` | |Set transposition to +4 semitones|
|
|`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|
||||||
|`MI_TRNS_5` | |Set transposition to +5 semitones|
|
|`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|
||||||
|`MI_TRNS_6` | |Set transposition to +6 semitones|
|
|`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|
||||||
|`MI_TRNSD` | |Decrease transposition |
|
|`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|
||||||
|`MI_TRNSU` | |Increase transposition |
|
|`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|
||||||
|`MI_VEL_0` | |Set velocity to 0 |
|
|`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|
||||||
|`MI_VEL_1` | |Set velocity to 12 |
|
|`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|
||||||
|`MI_VEL_2` | |Set velocity to 25 |
|
|`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|
||||||
|`MI_VEL_3` | |Set velocity to 38 |
|
|`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|
||||||
|`MI_VEL_4` | |Set velocity to 51 |
|
|`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|
||||||
|`MI_VEL_5` | |Set velocity to 64 |
|
|`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|
||||||
|`MI_VEL_6` | |Set velocity to 76 |
|
|`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|
||||||
|`MI_VEL_7` | |Set velocity to 89 |
|
|`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|
||||||
|`MI_VEL_8` | |Set velocity to 102 |
|
|`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|
||||||
|`MI_VEL_9` | |Set velocity to 114 |
|
|`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|
||||||
|`MI_VEL_10` | |Set velocity to 127 |
|
|`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|
||||||
|`MI_VELD` | |Decrease velocity |
|
|`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|
||||||
|`MI_VELU` | |Increase velocity |
|
|`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|
||||||
|`MI_CH1` | |Set channel to 1 |
|
|`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|
||||||
|`MI_CH2` | |Set channel to 2 |
|
|`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|
||||||
|`MI_CH3` | |Set channel to 3 |
|
|`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|
||||||
|`MI_CH4` | |Set channel to 4 |
|
|`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|
||||||
|`MI_CH5` | |Set channel to 5 |
|
|`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|
||||||
|`MI_CH6` | |Set channel to 6 |
|
|`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|
||||||
|`MI_CH7` | |Set channel to 7 |
|
|`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|
||||||
|`MI_CH8` | |Set channel to 8 |
|
|`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|
||||||
|`MI_CH9` | |Set channel to 9 |
|
|`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|
||||||
|`MI_CH10` | |Set channel to 10 |
|
|`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|
||||||
|`MI_CH11` | |Set channel to 11 |
|
|`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|
||||||
|`MI_CH12` | |Set channel to 12 |
|
|`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|
||||||
|`MI_CH13` | |Set channel to 13 |
|
|`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|
||||||
|`MI_CH14` | |Set channel to 14 |
|
|`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|
||||||
|`MI_CH15` | |Set channel to 15 |
|
|`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|
||||||
|`MI_CH16` | |Set channel to 16 |
|
|`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|
||||||
|`MI_CHD` | |Decrease channel |
|
|`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|
||||||
|`MI_CHU` | |Increase channel |
|
|`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|
||||||
|`MI_ALLOFF` | |Stop all notes |
|
|`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|
||||||
|`MI_SUS` | |Sustain |
|
|`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|
||||||
|`MI_PORT` | |Portmento |
|
|`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|
||||||
|`MI_SOST` | |Sostenuto |
|
|`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|
||||||
|`MI_SOFT` | |Soft Pedal |
|
|`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|
||||||
|`MI_LEG` | |Legato |
|
|`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|
||||||
|`MI_MOD` | |Modulation |
|
|`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|
||||||
|`MI_MODSD` | |Decrease modulation speed |
|
|`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|
||||||
|`MI_MODSU` | |Increase modulation speed |
|
|`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|
||||||
|`MI_BENDD` | |Bend pitch down |
|
|`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|
||||||
|`MI_BENDU` | |Bend pitch up |
|
|`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
|
||||||
|
|
||||||
## Mouse Keys :id=mouse-keys
|
## Mouse Keys :id=mouse-keys
|
||||||
|
|
||||||
|
@ -25,45 +25,45 @@ enum custom_keycodes {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_IONIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, 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_D1, MI_G1, MI_C2, MI_F2, MI_B2, MI_E3, MI_A3, MI_D4, MI_TRSD, MI_TRSU,
|
||||||
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_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_B3, MI_E4, MI_SUST, MENU
|
||||||
),
|
),
|
||||||
|
|
||||||
[_DORIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_As1, MI_Ds2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
|
||||||
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_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_A3, MI_D4, _______, _______,
|
||||||
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_Ds1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_PHRYGIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_G3, MI_C4, _______, _______,
|
||||||
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_Cs1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
|
||||||
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_Ds1, MI_Gs1, MI_Cs2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_LYDIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_Fs1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
|
||||||
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_D1, MI_G1, MI_C2, MI_Fs2, MI_B2, MI_E3, MI_A3, MI_D4, _______, _______,
|
||||||
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_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_Fs3, MI_B3, MI_E4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_MIXOLYDIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_As1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
|
||||||
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_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_E3, MI_A3, MI_D4, _______, _______,
|
||||||
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_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_E4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_AEOLIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_D3, MI_G3, MI_C4, _______, _______,
|
||||||
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_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_D4, _______, _______,
|
||||||
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_Ds1, MI_Gs1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_LOCRIAN] = LAYOUT_ortho_3x10(
|
[_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_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_Fs3, MI_C4, _______, _______,
|
||||||
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_Cs1, MI_Fs1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
|
||||||
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_Ds1, MI_Gs1, MI_Cs2, MI_Fs2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
[_MENU] = LAYOUT_ortho_3x10(
|
[_MENU] = LAYOUT_ortho_3x10(
|
||||||
|
@ -34,33 +34,33 @@ enum custom_keycodes {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_OPEN] = LAYOUT(
|
[_OPEN] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
|
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||||
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
|
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||||
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
|
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
|
||||||
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
|
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||||
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_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,
|
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||||
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
|
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||||
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
|
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
|
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||||
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_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CLOSE] = LAYOUT(
|
[_CLOSE] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
|
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||||
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
|
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||||
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
|
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
|
||||||
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
|
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||||
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_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,
|
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||||
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
|
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||||
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
|
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
|
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||||
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_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FN] = LAYOUT(
|
[_FN] = LAYOUT(
|
||||||
@ -88,8 +88,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
|
@ -64,33 +64,33 @@ enum custom_keycodes {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_OPEN] = LAYOUT(
|
[_OPEN] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
|
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||||
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
|
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||||
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
|
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
|
||||||
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
|
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||||
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_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,
|
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||||
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
|
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||||
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
|
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
|
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||||
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_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CLOSE] = LAYOUT(
|
[_CLOSE] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
|
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||||
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
|
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||||
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
|
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
|
||||||
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
|
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||||
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_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,
|
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||||
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
|
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||||
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
|
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
|
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||||
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_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_QWERTY] = LAYOUT_wrapper(
|
[_QWERTY] = LAYOUT_wrapper(
|
||||||
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
|
@ -64,33 +64,33 @@ enum custom_keycodes {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_OPEN] = LAYOUT(
|
[_OPEN] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
|
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||||
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
|
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||||
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, MI_B,
|
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, MI_B,
|
||||||
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
|
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||||
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_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,
|
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||||
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
|
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||||
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
|
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||||
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_G2, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||||
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_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CLOSE] = LAYOUT(
|
[_CLOSE] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
|
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||||
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
|
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||||
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, MI_B,
|
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, MI_B,
|
||||||
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
|
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||||
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_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,
|
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||||
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
|
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||||
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
|
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||||
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_G2, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||||
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_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_QWERTY] = LAYOUT_wrapper(
|
[_QWERTY] = LAYOUT_wrapper(
|
||||||
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
|
@ -35,33 +35,33 @@ enum custom_keycodes {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_OPEN] = LAYOUT(
|
[_OPEN] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3,
|
MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
|
||||||
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1,
|
MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
|
||||||
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP,
|
MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
|
||||||
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1,
|
MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
|
||||||
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_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,
|
MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
|
||||||
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5,
|
MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
|
||||||
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5,
|
MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4,
|
TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
|
||||||
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_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CLOSE] = LAYOUT(
|
[_CLOSE] = LAYOUT(
|
||||||
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3,
|
MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
|
||||||
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1,
|
MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
|
||||||
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP,
|
MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
|
||||||
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1,
|
MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
|
||||||
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_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,
|
MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
|
||||||
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5,
|
MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
|
||||||
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5,
|
MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
|
||||||
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4,
|
TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
|
||||||
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_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
|
||||||
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
|
MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
|
||||||
),
|
),
|
||||||
|
|
||||||
[_MISC] = LAYOUT(
|
[_MISC] = LAYOUT(
|
||||||
@ -105,8 +105,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
|
@ -33,16 +33,16 @@ enum custom_keycodes {
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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_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_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
|
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 */
|
/* 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().
|
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_1
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
default_layer_set(1UL << _BASE);
|
default_layer_set(1UL << _BASE);
|
||||||
|
@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
static bool is_trans_mode = false; // By default, shift mode is chosen.
|
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] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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,
|
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_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
|
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) */
|
/* 1 octave on the left side is ch2, others are ch1 (normal) */
|
||||||
[_SEPALEFTOCT] = LAYOUT(
|
[_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,
|
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_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
|
_______, 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) */
|
/* Half ch2, half ch1 (normal) */
|
||||||
[_SEPAHALF] = LAYOUT(
|
[_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,
|
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_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
|
_______, 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) */
|
/* 2 octave on the left side is ch2, others are ch1 (normal) */
|
||||||
[_SEPARIGHTOCT] = LAYOUT(
|
[_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,
|
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_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
|
_______, 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 This layer must locate 1 layer below _FN layer. */
|
||||||
[_TRANS] = LAYOUT(
|
[_TRANS] = LAYOUT(
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
|
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
|
||||||
[_FLIPBASE] = LAYOUT(
|
[_FLIPBASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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,
|
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_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
|
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(
|
[_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().
|
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_1
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
default_layer_set(_LS_BASE);
|
default_layer_set(_LS_BASE);
|
||||||
|
@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
static bool is_trans_mode = false; // By default, shift mode is chosen.
|
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] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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,
|
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_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
|
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) */
|
/* 1 octave on the left side is ch2, others are ch1 (normal) */
|
||||||
[_SEPALEFTOCT] = LAYOUT(
|
[_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,
|
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_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
|
_______, 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) */
|
/* Half ch2, half ch1 (normal) */
|
||||||
[_SEPAHALF] = LAYOUT(
|
[_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,
|
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_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
|
_______, 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) */
|
/* 2 octave on the left side is ch2, others are ch1 (normal) */
|
||||||
[_SEPARIGHTOCT] = LAYOUT(
|
[_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,
|
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_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4
|
_______, 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 This layer must locate 1 layer below _FN layer. */
|
||||||
[_TRANS] = LAYOUT(
|
[_TRANS] = LAYOUT(
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
|
/* Flip Base SFIFTUP and SHIFT_L are swapped. */
|
||||||
[_FLIPBASE] = LAYOUT(
|
[_FLIPBASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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,
|
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_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
|
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(
|
[_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().
|
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_1
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
default_layer_set(_LS_BASE);
|
default_layer_set(_LS_BASE);
|
||||||
|
@ -54,24 +54,24 @@ enum custom_keycodes {
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
static bool is_trans_mode = false; // By default, shift mode is chosen.
|
static bool is_trans_mode = false; // By default, shift mode is chosen.
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
FN_MUTE, MI_SUS,
|
FN_MUTE, MI_SUST,
|
||||||
MI_BENDU,
|
MI_BNDU,
|
||||||
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,
|
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_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
|
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 This layer must locate 1 layer below _FN layer. */
|
||||||
[_TRANS] = LAYOUT(
|
[_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().
|
// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_1
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
default_layer_set(_LS_BASE);
|
default_layer_set(_LS_BASE);
|
||||||
|
@ -97,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
|
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
|
||||||
|
|
||||||
[_MIDI] = LAYOUT(
|
[_MIDI] = LAYOUT(
|
||||||
MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3,
|
MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3,
|
||||||
MI_As_2, MI_B_2, MI_C_3, MI_Cs_3, MI_D_3,
|
MI_As2, MI_B2, MI_C3, MI_Cs3, MI_D3,
|
||||||
MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI),
|
MI_F2, MI_Fs2, MI_G2, MI_Gs2, TG(_MIDI),
|
||||||
_______, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2
|
_______, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2
|
||||||
),
|
),
|
||||||
|
|
||||||
// MOUSE LAYER
|
// MOUSE LAYER
|
||||||
|
@ -88,11 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
|
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
|
||||||
/* Keymap _MI: MIDI layer (Advanced)*/
|
/* Keymap _MI: MIDI layer (Advanced)*/
|
||||||
[_MI] = LAYOUT(
|
[_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,
|
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_Cs_1, MI_Ds_1, XXXXXXX, MI_Fs_1, 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_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, 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_SUS, XXXXXXX, MI_OCTD, MI_OCTU,MI_MODSD,MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD,MI_TRNSU,MI_TRNS_0, MI_SUS, 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_ALLOFF, MI_ALLOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_AOFF, MI_AOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
|
||||||
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
||||||
/* Keymap _MI: MIDI layer (Basic)*/
|
/* Keymap _MI: MIDI layer (Basic)*/
|
||||||
[_MI] = LAYOUT(
|
[_MI] = LAYOUT(
|
||||||
|
@ -19,10 +19,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-----------------------------------------------------------------------------------'
|
* `-----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_ortho_4x12(
|
[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_C4, MI_Cs4, MI_D4, MI_Ds4, MI_E4, MI_F4, MI_Fs4, MI_G4, MI_Gs4, MI_A4, MI_As4, MI_B4,
|
||||||
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_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, MI_A3, MI_As3, MI_B3,
|
||||||
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_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2,
|
||||||
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_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1
|
||||||
)
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `------------------------------------------------------------------------'
|
* `------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ML] = LAYOUT_60_ansi(
|
[_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,
|
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_Cs_1, MI_Ds_1, 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_C_1, MI_D_1, MI_E_1, MI_F_1, _______,
|
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_SUS, MI_OCTD, MI_OCTU, MI_MODSD, MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD, MI_TRNSU, MI_TRNS_0, MI_SUS,
|
MI_SUST, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST,
|
||||||
_______, _______, _______, MI_ALLOFF, _______, _______, _______, _______
|
_______, _______, _______, MI_AOFF, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
||||||
/* Keymap _ML: MIDI Layer (Advanced)
|
/* Keymap _ML: MIDI Layer (Advanced)
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
||||||
#define MIS_KAN LT(_MISC,KC_LNG1)
|
#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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
/* fake B-system */
|
||||||
@ -219,10 +219,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|
||||||
MI_Ab_2,
|
MI_Ab2,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||||
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_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_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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||||
),
|
),
|
||||||
|
|
||||||
/* BASS2row */
|
/* 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_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_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_Fs2,
|
||||||
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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
|
||||||
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_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_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_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 */
|
||||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
[_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_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||||
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,
|
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_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
|
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_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
|
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_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
|
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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
||||||
[_CHROMATONE] = LAYOUT(
|
[_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_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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
|
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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
|
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_C2,
|
||||||
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_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_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_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_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_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(
|
[_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_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_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_G5,
|
||||||
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_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_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_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_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_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* 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, 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,
|
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
|
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
|
#endif // RGBLIGHT_ENABLE
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
}
|
}
|
||||||
@ -438,7 +438,7 @@ void eeconfig_init_user(void) {
|
|||||||
midi_init();
|
midi_init();
|
||||||
my_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.
|
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
||||||
|
|
||||||
// UNISON flags
|
// UNISON flags
|
||||||
@ -646,7 +646,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
// MIDI Chord Keycodes, on the left side.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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());
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
switch_keylight_color4bass(record, keylocation);
|
switch_keylight_color4bass(record, keylocation);
|
||||||
@ -654,7 +654,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -663,7 +663,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -672,7 +672,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -681,7 +681,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
||||||
#define MIS_KAN LT(_MISC,KC_LNG1)
|
#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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
/* fake B-system */
|
||||||
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|
||||||
MI_Ab_2,
|
MI_Ab2,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||||
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_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_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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||||
),
|
),
|
||||||
|
|
||||||
/* BASS2row */
|
/* 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_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_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_Fs2,
|
||||||
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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
|
||||||
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_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_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_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 */
|
||||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
[_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_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||||
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,
|
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_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
|
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_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
|
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_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
|
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_Fs2,
|
||||||
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_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_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_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_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_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 free bass */
|
||||||
[_C_SYSTEM_FREEBASS] = LAYOUT(
|
[_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_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, 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_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, 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_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, 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_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, 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_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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
||||||
[_CHROMATONE] = LAYOUT(
|
[_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_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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
|
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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
|
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_C2,
|
||||||
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_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_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_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_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_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(
|
[_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_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_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_G5,
|
||||||
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_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_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_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_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_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* 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, 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,
|
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
|
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
|
#endif // RGBLIGHT_ENABLE
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
}
|
}
|
||||||
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
|
|||||||
midi_init();
|
midi_init();
|
||||||
my_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.
|
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
||||||
|
|
||||||
// UNISON flags
|
// UNISON flags
|
||||||
@ -661,7 +661,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
// MIDI Chord Keycodes, on the left side.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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());
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
switch_keylight_color4bass(record, keylocation);
|
switch_keylight_color4bass(record, keylocation);
|
||||||
@ -669,7 +669,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -678,7 +678,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -687,7 +687,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -696,7 +696,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Fs2,
|
||||||
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_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_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_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_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_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* QWERTY */
|
||||||
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set otave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
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.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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);
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
break;
|
break;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
|
||||||
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_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
|
||||||
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_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
|
||||||
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_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* QWERTY */
|
||||||
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set otave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
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.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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);
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
break;
|
break;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
|
||||||
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_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
|
||||||
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_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
|
||||||
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_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* BASS2row */
|
/* 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_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_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
|
||||||
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_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
|
||||||
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_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
|
||||||
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_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
|
||||||
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_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 */
|
||||||
[_C_SYSTEM_ENTIRELY] = LAYOUT_giabarinaix2(
|
[_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, 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_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2,
|
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_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
|
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_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
|
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_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
|
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_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5,
|
||||||
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_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5,
|
||||||
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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5,
|
||||||
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_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
|
||||||
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_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 */
|
||||||
[_CHROMATONE] = LAYOUT_giabarinaix2(
|
[_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, 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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1,
|
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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1,
|
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_A1, MI_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3,
|
||||||
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_Bb1, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3,
|
||||||
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_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3,
|
||||||
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_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3,
|
||||||
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_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, FN_MUTE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* QWERTY */
|
||||||
@ -291,8 +291,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
|||||||
|
|
||||||
#endif // RGBLIGHT_ENABLE
|
#endif // RGBLIGHT_ENABLE
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set otave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
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.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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);
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
switch_keylight_color4bass(record, keylocation);
|
switch_keylight_color4bass(record, keylocation);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -419,7 +419,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -427,7 +427,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -435,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
#define ADJ_EIS LT(_ADJUST,KC_LNG2)
|
||||||
#define MIS_KAN LT(_MISC,KC_LNG1)
|
#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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
/* fake B-system */
|
||||||
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|
||||||
MI_Ab_2,
|
MI_Ab2,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||||
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_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_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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||||
),
|
),
|
||||||
|
|
||||||
/* BASS2row */
|
/* 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_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_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_Fs2,
|
||||||
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_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
|
||||||
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_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_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_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 */
|
||||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
[_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_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||||
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,
|
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_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2,
|
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_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2,
|
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_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2,
|
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_Fs2,
|
||||||
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_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_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_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_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_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 free bass */
|
||||||
[_C_SYSTEM_FREEBASS] = LAYOUT(
|
[_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_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, 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_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, 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_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, 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_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, 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_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_Fs2,
|
||||||
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_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_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_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_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_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 */
|
||||||
[_CHROMATONE] = LAYOUT(
|
[_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_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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2,
|
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_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2,
|
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_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2,
|
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_C2,
|
||||||
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_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_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_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_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_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(
|
[_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_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_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_G5,
|
||||||
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_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_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_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_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_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* 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, 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,
|
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
|
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
|
#endif // RGBLIGHT_ENABLE
|
||||||
|
|
||||||
void my_init(void){
|
void my_init(void){
|
||||||
// Set octave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
||||||
}
|
}
|
||||||
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
|
|||||||
midi_init();
|
midi_init();
|
||||||
my_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.
|
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
||||||
|
|
||||||
// UNISON flags
|
// UNISON flags
|
||||||
@ -710,7 +710,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
// MIDI Chord Keycodes, on the left side.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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());
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
keylight_manager(record, HSV_GOLDENROD, keylocation);
|
keylight_manager(record, HSV_GOLDENROD, keylocation);
|
||||||
@ -718,7 +718,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -727,7 +727,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -736,7 +736,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@ -745,7 +745,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Fs2,
|
||||||
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_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_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_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_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_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* QWERTY */
|
||||||
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set otave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
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.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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);
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
break;
|
break;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
// Long press: go to _FN layer, tap: MUTE
|
// Long press: go to _FN layer, tap: MUTE
|
||||||
#define FN_MUTE LT(_FN, KC_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;
|
extern midi_config_t midi_config;
|
||||||
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
|
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_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_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_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
|
||||||
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_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
|
||||||
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_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
|
||||||
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_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
|
||||||
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_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* QWERTY */
|
/* QWERTY */
|
||||||
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
// Set otave to MI_OCT_0
|
// Set octave to 0
|
||||||
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN;
|
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.
|
// avoid using 127 since it is used as a special number in some sound sources.
|
||||||
midi_config.velocity = MIDI_INITIAL_VELOCITY;
|
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.
|
// MIDI Chord Keycodes, on the left side.
|
||||||
case MI_CH_Cr ... MI_CH_Br: // Root Notes
|
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);
|
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_C ... MI_CH_B: // Major Chords
|
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
|
// Root, Major Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
|
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
|
// Root, Minor Third, and Fifth Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
|
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
|
// Major Third, Major Fifth, and Minor Seventh Notes
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
|
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
|
// Root, Minor Third, and Diminished 5th Note
|
||||||
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
|
||||||
break;
|
break;
|
||||||
|
@ -91,10 +91,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
[_MIDI] = LAYOUT( \
|
[_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, \
|
QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_C2, MI_C3, 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_A3, MI_As3, MI_B3, MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, \
|
||||||
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_A2, MI_As2, MI_B2, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, \
|
||||||
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, \
|
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 \
|
MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs \
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
[_ADJUST] = LAYOUT_planck_mit(
|
[_ADJUST] = LAYOUT_planck_mit(
|
||||||
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
|
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,
|
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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -123,8 +123,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
[_MIDI] = LAYOUT_planck_mit(
|
[_MIDI] = LAYOUT_planck_mit(
|
||||||
MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs,
|
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_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_BNDU, MI_OCTU, MI_TRSU, MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHNU, MI_TOG,
|
||||||
MI_BENDD,MI_OCTD, MI_TRNSD,MI_VELD, MYNAV, MI_SUS, MYNUM, _______, MI_OFF, MI_CHD, MI_ALLOFF
|
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MYNAV, MI_SUST, MYNUM, _______, MI_OFF, MI_CHND, MI_AOFF
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,9 +114,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------------------------------------------------------------------------------------|
|
* |---------------------------------------------------------------------------------------|
|
||||||
*/
|
*/
|
||||||
[6] = LAYOUT(
|
[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_C1, MI_E1, MI_G1, MI_B1, MI_D2, MI_F2, MI_A2, MI_C3, MI_E3, MI_G3, 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_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_TRNSD, MI_TRNSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
MI_OCTD, MI_OCTU, MI_TRSD, MI_TRSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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,
|
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,
|
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,
|
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
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_TOG, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -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,
|
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,
|
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,
|
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
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -86,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `----------------------------------' '------''---------------------------'
|
* `----------------------------------' '------''---------------------------'
|
||||||
*/
|
*/
|
||||||
[_MIDI] = LAYOUT(
|
[_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_AOFF, MI_OC0, MI_OC1, MI_OC2, MI_OC3, MI_OC4, MI_OC5, MI_OC6, MI_OC7, _______, _______, MI_TOGG,
|
||||||
_______, MI_Gs, MI_As, _______, MI_Cs_1, MI_Ds_1, _______, MI_Fs_1, MI_Gs_1, MI_As_1, _______, _______,
|
_______, MI_Gs, MI_As, _______, MI_Cs1, MI_Ds1, _______, MI_Fs1, MI_Gs1, MI_As1, _______, _______,
|
||||||
_______, 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_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, MI_A1, MI_B1, MI_C2, KC_WORKMAN,
|
||||||
_______, _______, _______, _______, MI_TRNSD, MI_TRNSU, _______, _______, MI_BENDD, MI_BENDU, _______, _______, _______, _______,
|
_______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, MI_BNDD, MI_BNDU, _______, _______, _______, _______,
|
||||||
_______, _______, _______, MI_SUS, MI_OCTD, MI_OCTU, _______, _______, _______, _______
|
_______, _______, _______, MI_SUST, MI_OCTD, MI_OCTU, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
/* LOWER
|
/* LOWER
|
||||||
|
@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_NATURAL] = LAYOUT(
|
[_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_D, MIDI_CC80, MIDI_CC81, MI_A,
|
||||||
MI_E, MIDI_CC82, MIDI_CC83, MI_B,
|
MI_E, MIDI_CC82, MIDI_CC83, MI_B,
|
||||||
MI_F, MI_OCTD, MI_OCTU, MI_C,
|
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_Cs, KC_TRNS, KC_TRNS, MI_Gs,
|
||||||
MI_Ds, KC_TRNS, KC_TRNS, MI_As,
|
MI_Ds, KC_TRNS, KC_TRNS, MI_As,
|
||||||
MI_F , KC_TRNS, KC_TRNS, MI_C ,
|
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),
|
KC_TRNS, KC_TRNS),
|
||||||
[_FLAT] = LAYOUT(
|
[_FLAT] = LAYOUT(
|
||||||
MI_B , KC_TRNS, KC_TRNS, MI_Gb,
|
MI_B , KC_TRNS, KC_TRNS, MI_Gb,
|
||||||
MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
|
MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
|
||||||
MI_Eb, KC_TRNS, KC_TRNS, MI_Bb,
|
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),
|
KC_TRNS, KC_TRNS),
|
||||||
};
|
};
|
||||||
|
@ -22,9 +22,9 @@ enum layers {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_NATURAL] = LAYOUT(
|
[_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_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,
|
MI_F, MI_OCTD, MI_OCTU, MI_C,
|
||||||
MO(_SHARP), MO(_FLAT)),
|
MO(_SHARP), MO(_FLAT)),
|
||||||
[_SHARP] = LAYOUT(
|
[_SHARP] = LAYOUT(
|
||||||
|
@ -346,150 +346,150 @@ enum qk_keycode_defines {
|
|||||||
MAGIC_SWAP_ESCAPE_CAPSLOCK = 0x7020,
|
MAGIC_SWAP_ESCAPE_CAPSLOCK = 0x7020,
|
||||||
MAGIC_UNSWAP_ESCAPE_CAPSLOCK = 0x7021,
|
MAGIC_UNSWAP_ESCAPE_CAPSLOCK = 0x7021,
|
||||||
MAGIC_TOGGLE_ESCAPE_CAPSLOCK = 0x7022,
|
MAGIC_TOGGLE_ESCAPE_CAPSLOCK = 0x7022,
|
||||||
MI_ON = 0x7100,
|
QK_MIDI_ON = 0x7100,
|
||||||
MI_OFF = 0x7101,
|
QK_MIDI_OFF = 0x7101,
|
||||||
MI_TOG = 0x7102,
|
QK_MIDI_TOGGLE = 0x7102,
|
||||||
MI_C = 0x7110,
|
QK_MIDI_NOTE_C_0 = 0x7110,
|
||||||
MI_Cs = 0x7111,
|
QK_MIDI_NOTE_C_SHARP_0 = 0x7111,
|
||||||
MI_D = 0x7112,
|
QK_MIDI_NOTE_D_0 = 0x7112,
|
||||||
MI_Ds = 0x7113,
|
QK_MIDI_NOTE_D_SHARP_0 = 0x7113,
|
||||||
MI_E = 0x7114,
|
QK_MIDI_NOTE_E_0 = 0x7114,
|
||||||
MI_F = 0x7115,
|
QK_MIDI_NOTE_F_0 = 0x7115,
|
||||||
MI_Fs = 0x7116,
|
QK_MIDI_NOTE_F_SHARP_0 = 0x7116,
|
||||||
MI_G = 0x7117,
|
QK_MIDI_NOTE_G_0 = 0x7117,
|
||||||
MI_Gs = 0x7118,
|
QK_MIDI_NOTE_G_SHARP_0 = 0x7118,
|
||||||
MI_A = 0x7119,
|
QK_MIDI_NOTE_A_0 = 0x7119,
|
||||||
MI_As = 0x711A,
|
QK_MIDI_NOTE_A_SHARP_0 = 0x711A,
|
||||||
MI_B = 0x711B,
|
QK_MIDI_NOTE_B_0 = 0x711B,
|
||||||
MI_C_1 = 0x7120,
|
QK_MIDI_NOTE_C_1 = 0x7120,
|
||||||
MI_Cs_1 = 0x7121,
|
QK_MIDI_NOTE_C_SHARP_1 = 0x7121,
|
||||||
MI_D_1 = 0x7122,
|
QK_MIDI_NOTE_D_1 = 0x7122,
|
||||||
MI_Ds_1 = 0x7123,
|
QK_MIDI_NOTE_D_SHARP_1 = 0x7123,
|
||||||
MI_E_1 = 0x7124,
|
QK_MIDI_NOTE_E_1 = 0x7124,
|
||||||
MI_F_1 = 0x7125,
|
QK_MIDI_NOTE_F_1 = 0x7125,
|
||||||
MI_Fs_1 = 0x7126,
|
QK_MIDI_NOTE_F_SHARP_1 = 0x7126,
|
||||||
MI_G_1 = 0x7127,
|
QK_MIDI_NOTE_G_1 = 0x7127,
|
||||||
MI_Gs_1 = 0x7128,
|
QK_MIDI_NOTE_G_SHARP_1 = 0x7128,
|
||||||
MI_A_1 = 0x7129,
|
QK_MIDI_NOTE_A_1 = 0x7129,
|
||||||
MI_As_1 = 0x712A,
|
QK_MIDI_NOTE_A_SHARP_1 = 0x712A,
|
||||||
MI_B_1 = 0x712B,
|
QK_MIDI_NOTE_B_1 = 0x712B,
|
||||||
MI_C_2 = 0x7130,
|
QK_MIDI_NOTE_C_2 = 0x7130,
|
||||||
MI_Cs_2 = 0x7131,
|
QK_MIDI_NOTE_C_SHARP_2 = 0x7131,
|
||||||
MI_D_2 = 0x7132,
|
QK_MIDI_NOTE_D_2 = 0x7132,
|
||||||
MI_Ds_2 = 0x7133,
|
QK_MIDI_NOTE_D_SHARP_2 = 0x7133,
|
||||||
MI_E_2 = 0x7134,
|
QK_MIDI_NOTE_E_2 = 0x7134,
|
||||||
MI_F_2 = 0x7135,
|
QK_MIDI_NOTE_F_2 = 0x7135,
|
||||||
MI_Fs_2 = 0x7136,
|
QK_MIDI_NOTE_F_SHARP_2 = 0x7136,
|
||||||
MI_G_2 = 0x7137,
|
QK_MIDI_NOTE_G_2 = 0x7137,
|
||||||
MI_Gs_2 = 0x7138,
|
QK_MIDI_NOTE_G_SHARP_2 = 0x7138,
|
||||||
MI_A_2 = 0x7139,
|
QK_MIDI_NOTE_A_2 = 0x7139,
|
||||||
MI_As_2 = 0x713A,
|
QK_MIDI_NOTE_A_SHARP_2 = 0x713A,
|
||||||
MI_B_2 = 0x713B,
|
QK_MIDI_NOTE_B_2 = 0x713B,
|
||||||
MI_C_3 = 0x7140,
|
QK_MIDI_NOTE_C_3 = 0x7140,
|
||||||
MI_Cs_3 = 0x7141,
|
QK_MIDI_NOTE_C_SHARP_3 = 0x7141,
|
||||||
MI_D_3 = 0x7142,
|
QK_MIDI_NOTE_D_3 = 0x7142,
|
||||||
MI_Ds_3 = 0x7143,
|
QK_MIDI_NOTE_D_SHARP_3 = 0x7143,
|
||||||
MI_E_3 = 0x7144,
|
QK_MIDI_NOTE_E_3 = 0x7144,
|
||||||
MI_F_3 = 0x7145,
|
QK_MIDI_NOTE_F_3 = 0x7145,
|
||||||
MI_Fs_3 = 0x7146,
|
QK_MIDI_NOTE_F_SHARP_3 = 0x7146,
|
||||||
MI_G_3 = 0x7147,
|
QK_MIDI_NOTE_G_3 = 0x7147,
|
||||||
MI_Gs_3 = 0x7148,
|
QK_MIDI_NOTE_G_SHARP_3 = 0x7148,
|
||||||
MI_A_3 = 0x7149,
|
QK_MIDI_NOTE_A_3 = 0x7149,
|
||||||
MI_As_3 = 0x714A,
|
QK_MIDI_NOTE_A_SHARP_3 = 0x714A,
|
||||||
MI_B_3 = 0x714B,
|
QK_MIDI_NOTE_B_3 = 0x714B,
|
||||||
MI_C_4 = 0x7150,
|
QK_MIDI_NOTE_C_4 = 0x7150,
|
||||||
MI_Cs_4 = 0x7151,
|
QK_MIDI_NOTE_C_SHARP_4 = 0x7151,
|
||||||
MI_D_4 = 0x7152,
|
QK_MIDI_NOTE_D_4 = 0x7152,
|
||||||
MI_Ds_4 = 0x7153,
|
QK_MIDI_NOTE_D_SHARP_4 = 0x7153,
|
||||||
MI_E_4 = 0x7154,
|
QK_MIDI_NOTE_E_4 = 0x7154,
|
||||||
MI_F_4 = 0x7155,
|
QK_MIDI_NOTE_F_4 = 0x7155,
|
||||||
MI_Fs_4 = 0x7156,
|
QK_MIDI_NOTE_F_SHARP_4 = 0x7156,
|
||||||
MI_G_4 = 0x7157,
|
QK_MIDI_NOTE_G_4 = 0x7157,
|
||||||
MI_Gs_4 = 0x7158,
|
QK_MIDI_NOTE_G_SHARP_4 = 0x7158,
|
||||||
MI_A_4 = 0x7159,
|
QK_MIDI_NOTE_A_4 = 0x7159,
|
||||||
MI_As_4 = 0x715A,
|
QK_MIDI_NOTE_A_SHARP_4 = 0x715A,
|
||||||
MI_B_4 = 0x715B,
|
QK_MIDI_NOTE_B_4 = 0x715B,
|
||||||
MI_C_5 = 0x7160,
|
QK_MIDI_NOTE_C_5 = 0x7160,
|
||||||
MI_Cs_5 = 0x7161,
|
QK_MIDI_NOTE_C_SHARP_5 = 0x7161,
|
||||||
MI_D_5 = 0x7162,
|
QK_MIDI_NOTE_D_5 = 0x7162,
|
||||||
MI_Ds_5 = 0x7163,
|
QK_MIDI_NOTE_D_SHARP_5 = 0x7163,
|
||||||
MI_E_5 = 0x7164,
|
QK_MIDI_NOTE_E_5 = 0x7164,
|
||||||
MI_F_5 = 0x7165,
|
QK_MIDI_NOTE_F_5 = 0x7165,
|
||||||
MI_Fs_5 = 0x7166,
|
QK_MIDI_NOTE_F_SHARP_5 = 0x7166,
|
||||||
MI_G_5 = 0x7167,
|
QK_MIDI_NOTE_G_5 = 0x7167,
|
||||||
MI_Gs_5 = 0x7168,
|
QK_MIDI_NOTE_G_SHARP_5 = 0x7168,
|
||||||
MI_A_5 = 0x7169,
|
QK_MIDI_NOTE_A_5 = 0x7169,
|
||||||
MI_As_5 = 0x716A,
|
QK_MIDI_NOTE_A_SHARP_5 = 0x716A,
|
||||||
MI_B_5 = 0x716B,
|
QK_MIDI_NOTE_B_5 = 0x716B,
|
||||||
MI_OCT_N2 = 0x7170,
|
QK_MIDI_OCTAVE_N2 = 0x7170,
|
||||||
MI_OCT_N1 = 0x7171,
|
QK_MIDI_OCTAVE_N1 = 0x7171,
|
||||||
MI_OCT_0 = 0x7172,
|
QK_MIDI_OCTAVE_0 = 0x7172,
|
||||||
MI_OCT_1 = 0x7173,
|
QK_MIDI_OCTAVE_1 = 0x7173,
|
||||||
MI_OCT_2 = 0x7174,
|
QK_MIDI_OCTAVE_2 = 0x7174,
|
||||||
MI_OCT_3 = 0x7175,
|
QK_MIDI_OCTAVE_3 = 0x7175,
|
||||||
MI_OCT_4 = 0x7176,
|
QK_MIDI_OCTAVE_4 = 0x7176,
|
||||||
MI_OCT_5 = 0x7177,
|
QK_MIDI_OCTAVE_5 = 0x7177,
|
||||||
MI_OCT_6 = 0x7178,
|
QK_MIDI_OCTAVE_6 = 0x7178,
|
||||||
MI_OCT_7 = 0x7179,
|
QK_MIDI_OCTAVE_7 = 0x7179,
|
||||||
MI_OCTD = 0x717A,
|
QK_MIDI_OCTAVE_DOWN = 0x717A,
|
||||||
MI_OCTU = 0x717B,
|
QK_MIDI_OCTAVE_UP = 0x717B,
|
||||||
MI_TRNS_N6 = 0x7180,
|
QK_MIDI_TRANSPOSE_N6 = 0x7180,
|
||||||
MI_TRNS_N5 = 0x7181,
|
QK_MIDI_TRANSPOSE_N5 = 0x7181,
|
||||||
MI_TRNS_N4 = 0x7182,
|
QK_MIDI_TRANSPOSE_N4 = 0x7182,
|
||||||
MI_TRNS_N3 = 0x7183,
|
QK_MIDI_TRANSPOSE_N3 = 0x7183,
|
||||||
MI_TRNS_N2 = 0x7184,
|
QK_MIDI_TRANSPOSE_N2 = 0x7184,
|
||||||
MI_TRNS_N1 = 0x7185,
|
QK_MIDI_TRANSPOSE_N1 = 0x7185,
|
||||||
MI_TRNS_0 = 0x7186,
|
QK_MIDI_TRANSPOSE_0 = 0x7186,
|
||||||
MI_TRNS_1 = 0x7187,
|
QK_MIDI_TRANSPOSE_1 = 0x7187,
|
||||||
MI_TRNS_2 = 0x7188,
|
QK_MIDI_TRANSPOSE_2 = 0x7188,
|
||||||
MI_TRNS_3 = 0x7189,
|
QK_MIDI_TRANSPOSE_3 = 0x7189,
|
||||||
MI_TRNS_4 = 0x718A,
|
QK_MIDI_TRANSPOSE_4 = 0x718A,
|
||||||
MI_TRNS_5 = 0x718B,
|
QK_MIDI_TRANSPOSE_5 = 0x718B,
|
||||||
MI_TRNS_6 = 0x718C,
|
QK_MIDI_TRANSPOSE_6 = 0x718C,
|
||||||
MI_TRNSD = 0x718D,
|
QK_MIDI_TRANSPOSE_DOWN = 0x718D,
|
||||||
MI_TRNSU = 0x718E,
|
QK_MIDI_TRANSPOSE_UP = 0x718E,
|
||||||
MI_VEL_0 = 0x7190,
|
QK_MIDI_VELOCITY_0 = 0x7190,
|
||||||
MI_VEL_1 = 0x7191,
|
QK_MIDI_VELOCITY_1 = 0x7191,
|
||||||
MI_VEL_2 = 0x7192,
|
QK_MIDI_VELOCITY_2 = 0x7192,
|
||||||
MI_VEL_3 = 0x7193,
|
QK_MIDI_VELOCITY_3 = 0x7193,
|
||||||
MI_VEL_4 = 0x7194,
|
QK_MIDI_VELOCITY_4 = 0x7194,
|
||||||
MI_VEL_5 = 0x7195,
|
QK_MIDI_VELOCITY_5 = 0x7195,
|
||||||
MI_VEL_6 = 0x7196,
|
QK_MIDI_VELOCITY_6 = 0x7196,
|
||||||
MI_VEL_7 = 0x7197,
|
QK_MIDI_VELOCITY_7 = 0x7197,
|
||||||
MI_VEL_8 = 0x7198,
|
QK_MIDI_VELOCITY_8 = 0x7198,
|
||||||
MI_VEL_9 = 0x7199,
|
QK_MIDI_VELOCITY_9 = 0x7199,
|
||||||
MI_VEL_10 = 0x719A,
|
QK_MIDI_VELOCITY_10 = 0x719A,
|
||||||
MI_VELD = 0x719B,
|
QK_MIDI_VELOCITY_DOWN = 0x719B,
|
||||||
MI_VELU = 0x719C,
|
QK_MIDI_VELOCITY_UP = 0x719C,
|
||||||
MI_CH1 = 0x71A0,
|
QK_MIDI_CHANNEL_1 = 0x71A0,
|
||||||
MI_CH2 = 0x71A1,
|
QK_MIDI_CHANNEL_2 = 0x71A1,
|
||||||
MI_CH3 = 0x71A2,
|
QK_MIDI_CHANNEL_3 = 0x71A2,
|
||||||
MI_CH4 = 0x71A3,
|
QK_MIDI_CHANNEL_4 = 0x71A3,
|
||||||
MI_CH5 = 0x71A4,
|
QK_MIDI_CHANNEL_5 = 0x71A4,
|
||||||
MI_CH6 = 0x71A5,
|
QK_MIDI_CHANNEL_6 = 0x71A5,
|
||||||
MI_CH7 = 0x71A6,
|
QK_MIDI_CHANNEL_7 = 0x71A6,
|
||||||
MI_CH8 = 0x71A7,
|
QK_MIDI_CHANNEL_8 = 0x71A7,
|
||||||
MI_CH9 = 0x71A8,
|
QK_MIDI_CHANNEL_9 = 0x71A8,
|
||||||
MI_CH10 = 0x71A9,
|
QK_MIDI_CHANNEL_10 = 0x71A9,
|
||||||
MI_CH11 = 0x71AA,
|
QK_MIDI_CHANNEL_11 = 0x71AA,
|
||||||
MI_CH12 = 0x71AB,
|
QK_MIDI_CHANNEL_12 = 0x71AB,
|
||||||
MI_CH13 = 0x71AC,
|
QK_MIDI_CHANNEL_13 = 0x71AC,
|
||||||
MI_CH14 = 0x71AD,
|
QK_MIDI_CHANNEL_14 = 0x71AD,
|
||||||
MI_CH15 = 0x71AE,
|
QK_MIDI_CHANNEL_15 = 0x71AE,
|
||||||
MI_CH16 = 0x71AF,
|
QK_MIDI_CHANNEL_16 = 0x71AF,
|
||||||
MI_CHD = 0x71B0,
|
QK_MIDI_CHANNEL_DOWN = 0x71B0,
|
||||||
MI_CHU = 0x71B1,
|
QK_MIDI_CHANNEL_UP = 0x71B1,
|
||||||
MI_ALLOFF = 0x71C0,
|
QK_MIDI_ALL_NOTES_OFF = 0x71C0,
|
||||||
MI_SUS = 0x71C1,
|
QK_MIDI_SUSTAIN = 0x71C1,
|
||||||
MI_PORT = 0x71C2,
|
QK_MIDI_PORTAMENTO = 0x71C2,
|
||||||
MI_SOST = 0x71C3,
|
QK_MIDI_SOSTENUTO = 0x71C3,
|
||||||
MI_SOFT = 0x71C4,
|
QK_MIDI_SOFT = 0x71C4,
|
||||||
MI_LEG = 0x71C5,
|
QK_MIDI_LEGATO = 0x71C5,
|
||||||
MI_MOD = 0x71C6,
|
QK_MIDI_MODULATION = 0x71C6,
|
||||||
MI_MODSD = 0x71C7,
|
QK_MIDI_MODULATION_SPEED_DOWN = 0x71C7,
|
||||||
MI_MODSU = 0x71C8,
|
QK_MIDI_MODULATION_SPEED_UP = 0x71C8,
|
||||||
MI_BENDD = 0x71C9,
|
QK_MIDI_PITCH_BEND_DOWN = 0x71C9,
|
||||||
MI_BENDU = 0x71CA,
|
QK_MIDI_PITCH_BEND_UP = 0x71CA,
|
||||||
SQ_ON = 0x7200,
|
SQ_ON = 0x7200,
|
||||||
SQ_OFF = 0x7201,
|
SQ_OFF = 0x7201,
|
||||||
SQ_TOG = 0x7202,
|
SQ_TOG = 0x7202,
|
||||||
@ -898,36 +898,180 @@ enum qk_keycode_defines {
|
|||||||
EC_SWAP = MAGIC_SWAP_ESCAPE_CAPSLOCK,
|
EC_SWAP = MAGIC_SWAP_ESCAPE_CAPSLOCK,
|
||||||
EC_NORM = MAGIC_UNSWAP_ESCAPE_CAPSLOCK,
|
EC_NORM = MAGIC_UNSWAP_ESCAPE_CAPSLOCK,
|
||||||
EC_TOGG = MAGIC_TOGGLE_ESCAPE_CAPSLOCK,
|
EC_TOGG = MAGIC_TOGGLE_ESCAPE_CAPSLOCK,
|
||||||
MI_Db = MI_Cs,
|
MI_ON = QK_MIDI_ON,
|
||||||
MI_Eb = MI_Ds,
|
MI_OFF = QK_MIDI_OFF,
|
||||||
MI_Gb = MI_Fs,
|
MI_TOGG = QK_MIDI_TOGGLE,
|
||||||
MI_Ab = MI_Gs,
|
MI_C = QK_MIDI_NOTE_C_0,
|
||||||
MI_Bb = MI_As,
|
MI_Cs = QK_MIDI_NOTE_C_SHARP_0,
|
||||||
MI_Db_1 = MI_Cs_1,
|
MI_Db = QK_MIDI_NOTE_C_SHARP_0,
|
||||||
MI_Eb_1 = MI_Ds_1,
|
MI_D = QK_MIDI_NOTE_D_0,
|
||||||
MI_Gb_1 = MI_Fs_1,
|
MI_Ds = QK_MIDI_NOTE_D_SHARP_0,
|
||||||
MI_Ab_1 = MI_Gs_1,
|
MI_Eb = QK_MIDI_NOTE_D_SHARP_0,
|
||||||
MI_Bb_1 = MI_As_1,
|
MI_E = QK_MIDI_NOTE_E_0,
|
||||||
MI_Db_2 = MI_Cs_2,
|
MI_F = QK_MIDI_NOTE_F_0,
|
||||||
MI_Eb_2 = MI_Ds_2,
|
MI_Fs = QK_MIDI_NOTE_F_SHARP_0,
|
||||||
MI_Gb_2 = MI_Fs_2,
|
MI_Gb = QK_MIDI_NOTE_F_SHARP_0,
|
||||||
MI_Ab_2 = MI_Gs_2,
|
MI_G = QK_MIDI_NOTE_G_0,
|
||||||
MI_Bb_2 = MI_As_2,
|
MI_Gs = QK_MIDI_NOTE_G_SHARP_0,
|
||||||
MI_Db_3 = MI_Cs_3,
|
MI_Ab = QK_MIDI_NOTE_G_SHARP_0,
|
||||||
MI_Eb_3 = MI_Ds_3,
|
MI_A = QK_MIDI_NOTE_A_0,
|
||||||
MI_Gb_3 = MI_Fs_3,
|
MI_As = QK_MIDI_NOTE_A_SHARP_0,
|
||||||
MI_Ab_3 = MI_Gs_3,
|
MI_Bb = QK_MIDI_NOTE_A_SHARP_0,
|
||||||
MI_Bb_3 = MI_As_3,
|
MI_B = QK_MIDI_NOTE_B_0,
|
||||||
MI_Db_4 = MI_Cs_4,
|
MI_C1 = QK_MIDI_NOTE_C_1,
|
||||||
MI_Eb_4 = MI_Ds_4,
|
MI_Cs1 = QK_MIDI_NOTE_C_SHARP_1,
|
||||||
MI_Gb_4 = MI_Fs_4,
|
MI_Db1 = QK_MIDI_NOTE_C_SHARP_1,
|
||||||
MI_Ab_4 = MI_Gs_4,
|
MI_D1 = QK_MIDI_NOTE_D_1,
|
||||||
MI_Bb_4 = MI_As_4,
|
MI_Ds1 = QK_MIDI_NOTE_D_SHARP_1,
|
||||||
MI_Db_5 = MI_Cs_5,
|
MI_Eb1 = QK_MIDI_NOTE_D_SHARP_1,
|
||||||
MI_Eb_5 = MI_Ds_5,
|
MI_E1 = QK_MIDI_NOTE_E_1,
|
||||||
MI_Gb_5 = MI_Fs_5,
|
MI_F1 = QK_MIDI_NOTE_F_1,
|
||||||
MI_Ab_5 = MI_Gs_5,
|
MI_Fs1 = QK_MIDI_NOTE_F_SHARP_1,
|
||||||
MI_Bb_5 = MI_As_5,
|
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_0 = QK_JOYSTICK_BUTTON_0,
|
||||||
JS_1 = QK_JOYSTICK_BUTTON_1,
|
JS_1 = QK_JOYSTICK_BUTTON_1,
|
||||||
JS_2 = QK_JOYSTICK_BUTTON_2,
|
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_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_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_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_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_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)
|
#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_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_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE)
|
||||||
#define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_AUTOCORRECT_TOGGLE)
|
#define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_AUTOCORRECT_TOGGLE)
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ inline uint8_t compute_velocity(uint8_t setting) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void midi_init(void) {
|
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.transpose = 0;
|
||||||
midi_config.velocity = 127;
|
midi_config.velocity = 127;
|
||||||
midi_config.channel = 0;
|
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);
|
dprintf("midi octave %d\n", midi_config.octave);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_OCTD:
|
case QK_MIDI_OCTAVE_DOWN:
|
||||||
if (record->event.pressed && midi_config.octave > 0) {
|
if (record->event.pressed && midi_config.octave > 0) {
|
||||||
midi_config.octave--;
|
midi_config.octave--;
|
||||||
dprintf("midi octave %d\n", midi_config.octave);
|
dprintf("midi octave %d\n", midi_config.octave);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_OCTU:
|
case QK_MIDI_OCTAVE_UP:
|
||||||
if (record->event.pressed && midi_config.octave < (MIDI_OCTAVE_MAX - MIDI_OCTAVE_MIN)) {
|
if (record->event.pressed && midi_config.octave < (MIDI_OCTAVE_MAX - MIDI_OCTAVE_MIN)) {
|
||||||
midi_config.octave++;
|
midi_config.octave++;
|
||||||
dprintf("midi octave %d\n", 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;
|
return false;
|
||||||
case MIDI_TRANSPOSE_MIN ... MIDI_TRANSPOSE_MAX:
|
case MIDI_TRANSPOSE_MIN ... MIDI_TRANSPOSE_MAX:
|
||||||
if (record->event.pressed) {
|
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);
|
dprintf("midi transpose %d\n", midi_config.transpose);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_TRNSD:
|
case QK_MIDI_TRANSPOSE_DOWN:
|
||||||
if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - MI_TRNS_0)) {
|
if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - QK_MIDI_TRANSPOSE_0)) {
|
||||||
midi_config.transpose--;
|
midi_config.transpose--;
|
||||||
dprintf("midi transpose %d\n", midi_config.transpose);
|
dprintf("midi transpose %d\n", midi_config.transpose);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_TRNSU:
|
case QK_MIDI_TRANSPOSE_UP:
|
||||||
if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - MI_TRNS_0)) {
|
if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - QK_MIDI_TRANSPOSE_0)) {
|
||||||
const bool positive = midi_config.transpose > 0;
|
const bool positive = midi_config.transpose > 0;
|
||||||
midi_config.transpose++;
|
midi_config.transpose++;
|
||||||
if (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);
|
dprintf("midi velocity %d\n", midi_config.velocity);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_VELD:
|
case QK_MIDI_VELOCITY_DOWN:
|
||||||
if (record->event.pressed && midi_config.velocity > 0) {
|
if (record->event.pressed && midi_config.velocity > 0) {
|
||||||
if (midi_config.velocity == 127) {
|
if (midi_config.velocity == 127) {
|
||||||
midi_config.velocity -= 10;
|
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);
|
dprintf("midi velocity %d\n", midi_config.velocity);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_VELU:
|
case QK_MIDI_VELOCITY_UP:
|
||||||
if (record->event.pressed && midi_config.velocity < 127) {
|
if (record->event.pressed && midi_config.velocity < 127) {
|
||||||
if (midi_config.velocity < 115) {
|
if (midi_config.velocity < 115) {
|
||||||
midi_config.velocity += 13;
|
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);
|
dprintf("midi channel %d\n", midi_config.channel);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_CHD:
|
case QK_MIDI_CHANNEL_DOWN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_config.channel--;
|
midi_config.channel--;
|
||||||
dprintf("midi channel %d\n", midi_config.channel);
|
dprintf("midi channel %d\n", midi_config.channel);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_CHU:
|
case QK_MIDI_CHANNEL_UP:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_config.channel++;
|
midi_config.channel++;
|
||||||
dprintf("midi channel %d\n", midi_config.channel);
|
dprintf("midi channel %d\n", midi_config.channel);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_ALLOFF:
|
case QK_MIDI_ALL_NOTES_OFF:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x7B, 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x7B, 0);
|
||||||
dprintf("midi all notes off\n");
|
dprintf("midi all notes off\n");
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_SUS:
|
case QK_MIDI_SUSTAIN:
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x40, record->event.pressed ? 127 : 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x40, record->event.pressed ? 127 : 0);
|
||||||
dprintf("midi sustain %d\n", record->event.pressed);
|
dprintf("midi sustain %d\n", record->event.pressed);
|
||||||
return false;
|
return false;
|
||||||
case MI_PORT:
|
case QK_MIDI_PORTAMENTO:
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x41, record->event.pressed ? 127 : 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x41, record->event.pressed ? 127 : 0);
|
||||||
dprintf("midi portamento %d\n", record->event.pressed);
|
dprintf("midi portamento %d\n", record->event.pressed);
|
||||||
return false;
|
return false;
|
||||||
case MI_SOST:
|
case QK_MIDI_SOSTENUTO:
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x42, record->event.pressed ? 127 : 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x42, record->event.pressed ? 127 : 0);
|
||||||
dprintf("midi sostenuto %d\n", record->event.pressed);
|
dprintf("midi sostenuto %d\n", record->event.pressed);
|
||||||
return false;
|
return false;
|
||||||
case MI_SOFT:
|
case QK_MIDI_SOFT:
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
|
||||||
dprintf("midi soft %d\n", record->event.pressed);
|
dprintf("midi soft %d\n", record->event.pressed);
|
||||||
return false;
|
return false;
|
||||||
case MI_LEG:
|
case QK_MIDI_LEGATO:
|
||||||
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
|
midi_send_cc(&midi_device, midi_config.channel, 0x44, record->event.pressed ? 127 : 0);
|
||||||
dprintf("midi legato %d\n", record->event.pressed);
|
dprintf("midi legato %d\n", record->event.pressed);
|
||||||
return false;
|
return false;
|
||||||
case MI_MOD:
|
case QK_MIDI_MODULATION:
|
||||||
midi_modulation_step = record->event.pressed ? 1 : -1;
|
midi_modulation_step = record->event.pressed ? 1 : -1;
|
||||||
return false;
|
return false;
|
||||||
case MI_MODSD:
|
case QK_MIDI_MODULATION_SPEED_DOWN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_config.modulation_interval++;
|
midi_config.modulation_interval++;
|
||||||
// prevent overflow
|
// 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);
|
dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_MODSU:
|
case QK_MIDI_MODULATION_SPEED_UP:
|
||||||
if (record->event.pressed && midi_config.modulation_interval > 0) {
|
if (record->event.pressed && midi_config.modulation_interval > 0) {
|
||||||
midi_config.modulation_interval--;
|
midi_config.modulation_interval--;
|
||||||
dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
|
dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_BENDD:
|
case QK_MIDI_PITCH_BEND_DOWN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000);
|
midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000);
|
||||||
dprintf("midi pitchbend channel:%d amount:%d\n", 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);
|
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case MI_BENDU:
|
case QK_MIDI_PITCH_BEND_UP:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff);
|
midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff);
|
||||||
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff);
|
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff);
|
||||||
|
@ -120,17 +120,17 @@ bool process_music(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keycode == MI_ON && record->event.pressed) {
|
if (keycode == QK_MIDI_ON && record->event.pressed) {
|
||||||
midi_on();
|
midi_on();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keycode == MI_OFF && record->event.pressed) {
|
if (keycode == QK_MIDI_OFF && record->event.pressed) {
|
||||||
midi_off();
|
midi_off();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keycode == MI_TOG && record->event.pressed) {
|
if (keycode == QK_MIDI_TOGGLE && record->event.pressed) {
|
||||||
if (midi_activated) {
|
if (midi_activated) {
|
||||||
midi_off();
|
midi_off();
|
||||||
} else {
|
} else {
|
||||||
|
@ -193,16 +193,16 @@
|
|||||||
#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF)
|
#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF)
|
||||||
|
|
||||||
// MIDI aliases
|
// MIDI aliases
|
||||||
#define MIDI_TONE_MIN MI_C
|
#define MIDI_TONE_MIN QK_MIDI_NOTE_C_0
|
||||||
#define MIDI_TONE_MAX MI_B_5
|
#define MIDI_TONE_MAX QK_MIDI_NOTE_B_5
|
||||||
#define MIDI_OCTAVE_MIN MI_OCT_N2
|
#define MIDI_OCTAVE_MIN QK_MIDI_OCTAVE_N2
|
||||||
#define MIDI_OCTAVE_MAX MI_OCT_7
|
#define MIDI_OCTAVE_MAX QK_MIDI_OCTAVE_7
|
||||||
#define MIDI_TRANSPOSE_MIN MI_TRNS_N6
|
#define MIDI_TRANSPOSE_MIN QK_MIDI_TRANSPOSE_N6
|
||||||
#define MIDI_TRANSPOSE_MAX MI_TRNS_6
|
#define MIDI_TRANSPOSE_MAX QK_MIDI_TRANSPOSE_6
|
||||||
#define MIDI_VELOCITY_MIN MI_VEL_0
|
#define MIDI_VELOCITY_MIN QK_MIDI_VELOCITY_0
|
||||||
#define MIDI_VELOCITY_MAX MI_VEL_10
|
#define MIDI_VELOCITY_MAX QK_MIDI_VELOCITY_10
|
||||||
#define MIDI_CHANNEL_MIN MI_CH1
|
#define MIDI_CHANNEL_MIN QK_MIDI_CHANNEL_1
|
||||||
#define MIDI_CHANNEL_MAX MI_CH16
|
#define MIDI_CHANNEL_MAX QK_MIDI_CHANNEL_16
|
||||||
|
|
||||||
// TODO: somehow migrate sequencer to DD?
|
// TODO: somehow migrate sequencer to DD?
|
||||||
#include "sequencer.h"
|
#include "sequencer.h"
|
||||||
|
@ -138,6 +138,136 @@
|
|||||||
#define MUV_IN QK_AUDIO_VOICE_NEXT
|
#define MUV_IN QK_AUDIO_VOICE_NEXT
|
||||||
#define MUV_DE QK_AUDIO_VOICE_PREVIOUS
|
#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_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 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.")
|
// #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.")
|
||||||
|
@ -371,14 +371,14 @@ void setUpMatrixScanSequencerTest(void) {
|
|||||||
sequencer_config.resolution = SQ_RES_16;
|
sequencer_config.resolution = SQ_RES_16;
|
||||||
|
|
||||||
// Configure the notes for each track
|
// Configure the notes for each track
|
||||||
sequencer_config.track_notes[0] = MI_C;
|
sequencer_config.track_notes[0] = QK_MIDI_NOTE_C_0;
|
||||||
sequencer_config.track_notes[1] = MI_D;
|
sequencer_config.track_notes[1] = QK_MIDI_NOTE_D_0;
|
||||||
sequencer_config.track_notes[2] = MI_E;
|
sequencer_config.track_notes[2] = QK_MIDI_NOTE_E_0;
|
||||||
sequencer_config.track_notes[3] = MI_F;
|
sequencer_config.track_notes[3] = QK_MIDI_NOTE_F_0;
|
||||||
sequencer_config.track_notes[4] = MI_G;
|
sequencer_config.track_notes[4] = QK_MIDI_NOTE_G_0;
|
||||||
sequencer_config.track_notes[5] = MI_A;
|
sequencer_config.track_notes[5] = QK_MIDI_NOTE_A_0;
|
||||||
sequencer_config.track_notes[6] = MI_B;
|
sequencer_config.track_notes[6] = QK_MIDI_NOTE_B_0;
|
||||||
sequencer_config.track_notes[7] = MI_C;
|
sequencer_config.track_notes[7] = QK_MIDI_NOTE_C_0;
|
||||||
|
|
||||||
// Turn on some steps
|
// Turn on some steps
|
||||||
sequencer_config.steps[0] = (1 << 0);
|
sequencer_config.steps[0] = (1 << 0);
|
||||||
@ -389,7 +389,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldAttackFirstTrackOfFirstStep)
|
|||||||
setUpMatrixScanSequencerTest();
|
setUpMatrixScanSequencerTest();
|
||||||
|
|
||||||
sequencer_task();
|
sequencer_task();
|
||||||
EXPECT_EQ(last_noteon, MI_C);
|
EXPECT_EQ(last_noteon, QK_MIDI_NOTE_C_0);
|
||||||
EXPECT_EQ(last_noteoff, 0);
|
EXPECT_EQ(last_noteoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,7 +499,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldReleaseFirstTrackFirstStep) {
|
|||||||
|
|
||||||
sequencer_task();
|
sequencer_task();
|
||||||
EXPECT_EQ(last_noteon, 0);
|
EXPECT_EQ(last_noteon, 0);
|
||||||
EXPECT_EQ(last_noteoff, MI_C);
|
EXPECT_EQ(last_noteoff, QK_MIDI_NOTE_C_0);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(SequencerTest, TestMatrixScanSequencerShouldEnterPausePhaseAfterRelease) {
|
TEST_F(SequencerTest, TestMatrixScanSequencerShouldEnterPausePhaseAfterRelease) {
|
||||||
@ -565,7 +565,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldProcessSecondTrackOnTime) {
|
|||||||
advance_time(SEQUENCER_TRACK_THROTTLE);
|
advance_time(SEQUENCER_TRACK_THROTTLE);
|
||||||
|
|
||||||
sequencer_task();
|
sequencer_task();
|
||||||
EXPECT_EQ(last_noteon, MI_D);
|
EXPECT_EQ(last_noteon, QK_MIDI_NOTE_D_0);
|
||||||
EXPECT_EQ(last_noteoff, 0);
|
EXPECT_EQ(last_noteoff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,19 +140,19 @@
|
|||||||
*/
|
*/
|
||||||
// Not sure why, but this does not work (possibly due to the lowercase 's'?)
|
// Not sure why, but this does not work (possibly due to the lowercase 's'?)
|
||||||
// #ifdef MIDI_ADVANCED
|
// #ifdef MIDI_ADVANCED
|
||||||
// #define __GUITAR_1E_L______________________________ MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1
|
// #define __GUITAR_1E_L______________________________ MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1
|
||||||
// #define __GUITAR_2A_L______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2
|
// #define __GUITAR_2A_L______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
|
||||||
// #define __GUITAR_3D_L______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2
|
// #define __GUITAR_3D_L______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
|
||||||
// #define __GUITAR_4G_L______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2
|
// #define __GUITAR_4G_L______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
|
||||||
// #define __GUITAR_5B_L______________________________ MI_B_2, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3
|
// #define __GUITAR_5B_L______________________________ MI_B2, MI_C3, MI_Cs3, MI_D3, MI_Ds3
|
||||||
// #define __GUITAR_6E_L______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3
|
// #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_1E_R______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
|
||||||
// #define __GUITAR_2A_R______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2
|
// #define __GUITAR_2A_R______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
|
||||||
// #define __GUITAR_3D_R______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2
|
// #define __GUITAR_3D_R______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
|
||||||
// #define __GUITAR_4G_R______________________________ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3
|
// #define __GUITAR_4G_R______________________________ MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3
|
||||||
// #define __GUITAR_5B_R______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3
|
// #define __GUITAR_5B_R______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3
|
||||||
// #define __GUITAR_6E_R______________________________ MI_A_3, MI_As_3, MI_B_3, MI_C_4, MI_Cs_4
|
// #define __GUITAR_6E_R______________________________ MI_A3, MI_As3, MI_B3, MI_C4, MI_Cs4
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user