> Can you think of any other way apart from the above of going straight from the error feedback to the next trial without having to move the
> joystick again?
I can see two avenues that may be worth considering / exploring:
(1) Make the error trial itself perform the functions of the joystickrest trial and then /branch from the errortrial to trial.InterTrialInterval (instead of trial.joystickrest).
(2) If keeping things parallel with respect to correctness of the final response is the primary concern, then you could also introduce and run a "correct" trial (<trial correct>) in the same way you invoke <trial error> in case of a wrong final response. <trial correct> could either display a correct message on-screen or just a blank screen before moving on to the joystickrest trial. Script behavior would be identical then regardless of response correctness.