Hi,
I would like to add a response screen in before my fixation point appears on my trial that allows participants to press space 'when ready to inhale'.
Essentially before each trial participants would need to inhale. I have created a separate trial called Inhale:
<trial Inhale>
/ stimulustimes = [1= inhale]
/ validresponse = (anyresponse)
/ correctresponse = (57)
/ recorddata = false
</trial>
Below is an example of the main experimental trials (its very long sorry :/ ) I would want to add the screen in before fixation on stimulus times. I just don't know an easy way to do this e.g. can you branch to the Inhale trial at the beginning of the Target_present trial? or is there a way to add this screen in as a stimulus in the trial (it would need to appear for unlimited time/ until participant presses space)
I don't know if I am making any sense so sorry if I am unclear but hopefully you can understand?
thank you in advance!
<trial set6KTARGET_PRESENT>
/ ontrialbegin = [
values.thoughtprobe="";
values.spacebarpresscount = 0;
values.latencies="";
values.valid = 0;
values.correct_high = 0;
values.correct_low = 0;
values.validcorrect = 0;
values.trialcount += 1;
values.present = "present";
values.load ="high";]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6filler1K.nextvalue,1000);]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6filler2K.nextvalue,1000);]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6filler3K.nextvalue,1000);]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6filler4K.nextvalue,1000);]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6filler5K.nextvalue,1000);]
/ ontrialbegin = [
trial.set6KTARGET_PRESENT.insertstimulustime(list.s6targetK.nextvalue,1000);]
/ ontrialbegin = [values.fillerhpos1 = list.s6filler1_hK.nextvalue]
/ ontrialbegin = [values.fillervpos1 = list.s6filler1_vK.nextvalue]
/ ontrialbegin = [values.fillerhpos2 = list.s6filler2_hK.nextvalue]
/ ontrialbegin = [values.fillervpos2 = list.s6filler2_vK.nextvalue]
/ ontrialbegin = [values.fillerhpos3 = list.s6filler3_hK.nextvalue]
/ ontrialbegin = [values.fillervpos3 = list.s6filler3_vK.nextvalue]
/ ontrialbegin = [values.fillerhpos4 = list.s6filler4_hK.nextvalue]
/ ontrialbegin = [values.fillervpos4 = list.s6filler4_vK.nextvalue]
/ ontrialbegin = [values.fillerhpos5 = list.s6filler5_hK.nextvalue]
/ ontrialbegin = [values.fillervpos5 = list.s6filler5_vK.nextvalue]
/ ontrialbegin = [values.Ktargetpos_h = list.s6target_hK.nextvalue]
/ ontrialbegin = [values.Ktargetpos_v = list.s6target_vK.nextvalue]
/ ontrialend = [
trial.set6KTARGET_PRESENT.resetstimulusframes();]
/ stimulustimes = [1=fixation; 1000= fixationcover, text.mmm_coffee; 1100=sequence (eraser1, eraser2, eraser3, eraser4, eraser5, eraser6, eraserleft, eraserright),text.mmm_coffee_off;
2100=text.xornscreen; 2200=textcover]
/ validresponse = (200, 203)
/ correctresponse = (200)
/ response = timeout(4000)
/ beginresponsetime = 2100
/ ontrialend = [
if (trial.set6KTARGET_PRESENT.latency <= parameters.max_latency)
values.valid = 1;
if (values.valid == 1) {
if (trial.set6KTARGET_PRESENT.response == 200) {
values.validcorrect = 1;
values.correct_high = 1;
values.sumcorrect += 1;
values.sumrt += trial.set6KTARGET_PRESENT.latency
if (values.load == "high") {
values.sumcorrect_highload += 1;
values.sumrt_highload += trial.set6KTARGET_PRESENT.latency;
list.latencies_highload.insertitem(trial.set6KTARGET_PRESENT.latency, 1);
list.latencies.insertitem(trial.set6KTARGET_PRESENT.latency, 1);
}
}
} ;
list.accuracy.insertitem(values.validcorrect, 1);
values.testeracc = list.accuracy.currentindex
if (values.load == "high") {
list.accuracy_highload.insertitem(values.validcorrect, 1);
} else if (values.load == "low") {
list.accuracy_lowload.insertitem(values.validcorrect, 1);
};]
/ ontrialend = [values.TrialNum = values.TrialNum + 1]
/ branch = [trial.present]
</trial>