Trilobot remote control example behaving weirdly

I’m trying to use the 8bitdo SN30 Pro+ gamepad with my Trilobot. It took quite a lot of effort to get it to pair with the Pi but this is now working. When I run the remote_control.py example program, and select controller 2, it is successfully found. However I can’t drive the robot around. Most buttons on the controller seem to have no effect, except for one that causes the robot’s right wheel to spin at top speed.

I’m pretty sure that the robot is built correctly - other examples such as distance_lights, follow_straight and movement work well.

What can I do to troubleshoot this?