By nanu1002 - 11/10/2014
Hello again, I have a likert with anchors 1-4 and I would like to design it such that as soon as a keyboard input (number) is entered, it takes that as a response and moves on. In the current scenario I have to hit "enter" in order to "select" the entry as a response. Thanks for the help.
<likert rateimage> / anchors = [1 ="Weak"; 2="Light"; 3="Moderate"; 4="Strong"] / stimulustimes = [0 = ratequestion; 2000 = warning ] / beginresponsetime = 0 / mouse=true / numpoints=4 / position= (50%, 40%) / timeout = values.maxsurveytime / inputdevice = keyboard / ontrialend = [ values.response1= likert.rateimage.selectedcount ] //would like to get the currently highlighted number here. </likert>
|
By Dave - 11/10/2014
That's not possible with <likert> elements. You'd have to use a standard <trial> element instead.
|
By nanu1002 - 11/11/2014
Thanks greatly for the clarification. I have experimented with a trial but I was hoping to record last received response. Currently once it receives a valid response it escapes onto the response message . Is there anyway I could allow a user to correct his response in the allowed time slot (4 seconds allowed for response) . So say if a user accidentally hits 3 instead of 2, mytrial records the last response.
<trial mytrial> / pretrialpause = 250 / stimulustimes = [0=rate , ratescale] / ontrialbegin = [values.trialcurrenttime = script.currenttime] / beginresponsetime = 0 / responsemode = free / responsemessage = ("1",answer1,0) / responsemessage = ("2",answer2,0) / responsemessage = ("3",answer3,0) / responsemessage = ("4",answer4,0) / responsemessage = ("5",answer5,0) / inputdevice= keyboard / validresponse = ("1","2","3","4","5") / trialduration = 4000 / ontrialend = [values.trialelapsedtime = trial.mytrial.elapsedtime] / posttrialpause = 250 </trial>
|
By Dave - 11/11/2014
You'd essentially have to do something like this:
https://www.millisecond.com/forums/FindPost6989.aspx
|
|