Millisecond Forums

Mapping Key Responses to Likert Task

https://forums.millisecond.com/Topic14569.aspx

By TDeramus - 10/9/2014

Hello all.

I'm attempting to make a 4 point likert scale in response to pictures presented in an MRI scanner.

The participant won't have access to a mouse or keyboard, and our joystick only reads keyboard responses of 6, 7, 8, and 9.

I'd like to map the likert to the keyboard so that 1 = 6, 2 = 7, 3 = 8, and 4 = 9, but I don't see exactly how to do that from the element page.

Does anyone know how to map button presses to the likert command or would I be better off making response images?

-Thomas
By Dave - 10/9/2014

You would not use the <likert> element in this particular use case, but set this up using standard <trial> etc. elements instead.

Something along the lines of

<values>
/ scalevalue = 0
</values>

<data>
/ columns = [date,time,subject,blocknum,blockcode,trialnum,trialcode,latency,response,values.scalevalue, ...]
</data>

<block myblock>
/ trials = [1=customlikert]
</block>

<trial customlikert>
/ ontrialend = [if (trial.customlikert.response == 7 || trial.customlikert.response == 77) values.scalevalue = 1]
/ ontrialend = [if (trial.customlikert.response == 8 || trial.customlikert.response == 71) values.scalevalue = 2]
/ ontrialend = [if (trial.customlikert.response == 9 || trial.customlikert.response == 72) values.scalevalue = 3]
/ ontrialend = [if (trial.customlikert.response == 10 || trial.customlikert.response == 73) values.scalevalue = 4]
/ stimulusframes = [1=one, two, three, four]
/ validresponse = ("6", "7", "8", "9")
/ responsemessage = ("6", onehl, 500)
/ responsemessage = ("7", twohl, 500)
/ responsemessage = ("8", threehl, 500)
/ responsemessage = ("9", fourhl, 500)
</trial>

<text one>
/ items = ("1")
/ size = (100px, 100px)
/ position = (35%, 60%)
/ txcolor = (white)
/ txbgcolor = (black)
</text>

<text two>
/ items = ("2")
/ size = (100px, 100px)
/ position = (45%, 60%)
/ txcolor = (white)
/ txbgcolor = (black)
</text>

<text three>
/ items = ("3")
/ size = (100px, 100px)
/ position = (55%, 60%)
/ txcolor = (white)
/ txbgcolor = (black)
</text>

<text four>
/ items = ("4")
/ size = (100px, 100px)
/ position = (65%, 60%)
/ txcolor = (white)
/ txbgcolor = (black)
</text>

<text onehl>
/ items = ("1")
/ size = (100px, 100px)
/ position = (35%, 60%)
/ txcolor = (black)
/ txbgcolor = (grey)
</text>

<text twohl>
/ items = ("2")
/ size = (100px, 100px)
/ position = (45%, 60%)
/ txcolor = (black)
/ txbgcolor = (grey)
</text>

<text threehl>
/ items = ("3")
/ size = (100px, 100px)
/ position = (55%, 60%)
/ txcolor = (black)
/ txbgcolor = (grey)
</text>

<text fourhl>
/ items = ("4")
/ size = (100px, 100px)
/ position = (65%, 60%)
/ txcolor = (black)
/ txbgcolor = (grey)
</text>