Builder: Keep each image in a loop on the screen for set time even after a response is collected

Hi, I’m fairly new to PsychoPy, and don’t have much coding experience, so for the last few weeks I’ve been creating a memory experiment in Builder. I’m using a MacBook Air 2020 (M1 chip), macOS Ventura 13.2.1.

I’ve been using PsychoPy version 2022.2.4, although eventually I would like it to run on the newest update as well. I believe I downloaded the standalone package.

During the exposure phase of the experiment I have an excel file with 208 images to present to participants that I currently have in a loop. I want each image to always be shown for 2.5s, then have an ISI of 0.5s before going to the next (randomized) image. I also want participants to be able to make and indoor/outdoor judgement by pressing one of two allowed keys to indicate their choice during the 2.5s each image is there. However, I cannot seem to make it so that the keyboard response ends the routine only after the full 2.5s has elapsed.

I’ve tried many things, so I can’t remember them all, but I tried unclicking the ‘force end of routine’ box on my keyboard response, but then after the first image it doesn’t load the next one after the response.

If I have the force end of routine box checked and make the response and the image happen at the same time (both from 0.5-3s) then it goes to the next image before the 2.5s is up once a key is pressed.

I even tried having two key responses, one that is just recorded anything pressed during the trials and another that forces the end of the routine after 2.5s, but then they would need to click the key twice unless they waited until the end of the 2.5s.

I also tried checking ‘constant’ or ‘set every repeat’ on the keyboard response but neither fixed the problem. So, right now I just have the response start after the images disappears, but I would really like to make it so participants can respond during the stimulus presentation!

Screenshots are attached, please let me know if you have any ideas or need more information.
Thank you!

To have a duration of 2.5 seconds from the start of the response you need to untick force end of routine and also add a duration of 2.5. The routine graphic should show you whether you have any components without a duration.


Thanks for the suggestion. I tried this–unticking force end of routine and setting the duration to 2.5-- but then it does not move on to the next image in the loop after the very first one. No image appears after the 2.5s, the first one just disappears.

I’m attaching pictures of the overall routine, and the settings I have for the images, keyboard response, and trials loop in case there’ anything in those settings that seem off to you.


Sorry, it only lets me upload 2 images at a time.

Can you see in your image that your have 6 components which don’t have durations?

fkey, jkey, etc

Ohh sorry I didn’t realize they needed durations as well since I wanted them to be on the screen the whole time. But that worked, thank you very much!