Control Q advancing modules instead of quit


Control Q advancing modules instead of quit

Author
Message
YCANLab
YCANLab
New Member
New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)New Member (49 reputation)

Group: Forum Members
Posts: 5, Visits: 17
Hello,

We notice that when we test our script, we can advance through the modules without completing them if we press Control Q. Interestingly, pressing control Q does not quit out of the experiment, as we would expect (unless it's the last module), but instead as I said advances to the next module. 

Would participants also be able to advance this way? If so it throws the integrity of our experiment off. Is there a way to make sure Control Q quits out of the whole experiment, instead of advancing? I should mention that the modules are built up of multiple scripts that are called from a parent script. 

Any guidance would be much appreciated. Thank you!
Dave
Dave
Supreme Being
Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)Supreme Being (512K reputation)

Group: Administrators
Posts: 9.2K, Visits: 39K
YCANLab - Wednesday, October 24, 2018
Hello,

We notice that when we test our script, we can advance through the modules without completing them if we press Control Q. Interestingly, pressing control Q does not quit out of the experiment, as we would expect (unless it's the last module), but instead as I said advances to the next module. 

Would participants also be able to advance this way? If so it throws the integrity of our experiment off. Is there a way to make sure Control Q quits out of the whole experiment, instead of advancing? I should mention that the modules are built up of multiple scripts that are called from a parent script. 

Any guidance would be much appreciated. Thank you!

CTRL+Q terminates the currently running *script*, if your experiment is made up of multiple scripts run via <batch>, then pressing CTRL+Q will end the current script N and the batch will then move on to the next script N+1. If you want to have the entire <batch> terminate, you need to add some additional logic to call the script.abort() function, which can terminate an entire batch optionally. Suppose you have two scripts A and B, then you would do something like this:

a.iqx:
<expt a>
/ ontrialend = [
if (expt.a.response == "Ctrl+'Q'") script.abort(true);
]
/ blocks = [1=myblock]
</expt>

<block myblock>
/ trials = [1-10=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ posttrialpause = 500
</trial>

<text mytext>
/ items = ("Press SPACE")
</text>

b.iqx:
<expt b>
/ ontrialend = [
if (expt.b.response == "Ctrl+'Q'") script.abort(true);
]
/ blocks = [1=myblock]
</expt>

<block myblock>
/ trials = [1-10=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (28)
/ posttrialpause = 500
</trial>

<text mytext>
/ items = ("Press ENTER")
</text>

batch.iqx
<batch>
/ file = "a.iqx"
/ file = "b.iqx"
</batch>

GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search