К сожалению, в pygame.midi
(или в большинстве других широко используемых библиотек Python-MIDI) не реализована педаль сустейна, поэтому вопрос о ее использовании непосредственно из модуля Pygame исключен.
Однако вы можете обойти это, немного реструктурировав код. Если вы можете использовать определенную клавишу (или событие) вместо физической педали сустейна (в конце концов, большинство MIDI-педалей сустейна простые переключатели ), вы можете выполнить что-то похожее на сустейн. Например:
import pygame
from pygame.locals import *
# Midi init and setup, other code, etc...
# device_input = pygame.midi.Input(device_id)
sustain = False
# We will use the spacebar in place of a pedal in this case.
while 1:
for event in pygame.event.get():
# You can also use other events in place of KEYDOWN/KEYUP events.
if event.type == KEYDOWN and event.key == K_SPACE:
sustain = True
elif event.type == KEYUP and event.key == K_SPACE:
sustain = False
# ...
for i in device_input:
if sustain:
# Remove all MIDI key-up events here
# Then play sounds or process midi input accordingly afterwards