def METHOD_NAME(self) -> Generator[PlayerInput, None, None]:
    """
    Update the input state (holding time, etc.) and return player inputs.
    Yields:
        Player inputs (before updating their state).
    """
    for inp in self.buttons.values():
        if inp.held:
            yield inp
            inp.hold_time += 1
        elif inp.triggered:
            yield inp
            inp.triggered = False