diff options
Diffstat (limited to 'quantum/process_keycode')
| -rw-r--r-- | quantum/process_keycode/process_midi.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/quantum/process_keycode/process_midi.c b/quantum/process_keycode/process_midi.c index 9728076df..a67f73628 100644 --- a/quantum/process_keycode/process_midi.c +++ b/quantum/process_keycode/process_midi.c | |||
| @@ -222,6 +222,26 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) | |||
| 222 | dprintf("midi modulation interval %d\n", midi_config.modulation_interval); | 222 | dprintf("midi modulation interval %d\n", midi_config.modulation_interval); |
| 223 | } | 223 | } |
| 224 | return false; | 224 | return false; |
| 225 | case MI_BENDD: | ||
| 226 | if (record->event.pressed) { | ||
| 227 | midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000); | ||
| 228 | dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, -0x2000); | ||
| 229 | } | ||
| 230 | else { | ||
| 231 | midi_send_pitchbend(&midi_device, midi_config.channel, 0); | ||
| 232 | dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0); | ||
| 233 | } | ||
| 234 | return false; | ||
| 235 | case MI_BENDU: | ||
| 236 | if (record->event.pressed) { | ||
| 237 | midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff); | ||
| 238 | dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff); | ||
| 239 | } | ||
| 240 | else { | ||
| 241 | midi_send_pitchbend(&midi_device, midi_config.channel, 0); | ||
| 242 | dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0); | ||
| 243 | } | ||
| 244 | return false; | ||
| 225 | }; | 245 | }; |
| 226 | 246 | ||
| 227 | return true; | 247 | return true; |
