Collision passes through object

The code is written to reflect the ball back from the wall according to the velocity stored in self.ballV. But in your modified controls, you are no longer using self.ballV, so the vector by which it is bounced off is always multiplied by 0.

Instead, I’d suggest rewriting the handler logic to match your new controls. Or you could consider using a pusher handler.