Psychopy reading every other line of conditions file, why?

Hi there,
I’m building a visual dot-probe task in Psychopy builder, i.e. reaction time task where this comes up each 0.5sec each:
fixation point-> 2 words (a threatening and neutral one)-> 2nd fixation point-> then a prompt (p or q)

The user is supposed to click p or q and I measure their response time.

But somehow although my conditions file has 10 conditions, my task will only show 5 of them. In the results file, I see that all 10 conditions are listed, but only every other one has a user input. Why is the builder only reading seemingly every other row of my conditions file?

This issue is consistent across Psychopy, and after I load into Pavlovia. So I reckon it’s something wrong with how I’ve set things up in Psychopy.

Thanks a ton!

I suspect that you are using getKeys in code in addition to a keyboard component. When you respond to trial 1 the keyboard response gets picked up by geyKeys in trial 2, ending it immediately.

Thanks @wakecarter I do have one custom line of code which is intended to end the current routine if the participant presses the correct keyboard prompt (p or q).
Is it incorrectly put in/positioned which could be causing this?

Try key_resp.clearEvents() in Begin Routine so that .corr doesn’t carry over.

Thanks I’ve added per below but still same issue. Did I add it correctly?

I also notice the following error message and wonder if it has to do with it:

7.7996 WARNING t of last frame was 20.76ms (=1/48)
7.9559 WARNING t of last frame was 21.59ms (=1/46)
7.9789 WARNING t of last frame was 23.03ms (=1/43)
8.0017 WARNING t of last frame was 22.78ms (=1/43)
8.0635 WARNING Multiple dropped frames have occurred - I’ll stop bothering you about them!

To be honest I’m not entirely sure. I would probably use event.getKeys() in code and remove the keyboard component altogether if I was coding this.

I don’t think the dropped frames are an issue. They may affect timing but not whether it works.

thanks anyway! I guess worst case I can duplicate the rows in my conditions file, and sequentially go through them so the skipped ones are only duplicates and I still capture all my intended conditions

It might be that adding an extra routine with 0.5s of blank text will do it.

Thanks @wakecarter , where should I add the 0.5s blank text?
I tried adding it at the start of each routine, but it didn’t work.
I can’t add it at the end since the prompt + keyboard input is open indefinitely until the user presses the correct key.

In a separate routine after your trial routine.