Millisecond Forums

Customizing Likert element

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

By anabela_c - 5/18/2021

Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela
By Dave - 5/19/2021

anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

By anabela_c - 5/21/2021

Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Thank you, Dave, for this alternative! I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse? 
By Dave - 5/21/2021

anabela_c - 5/21/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Thank you, Dave, for this alternative! I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse? 

> I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse?

No. For what you want, the options are either <likert> or a <trial>-based solution along the lines of the example in my previous response.
By anabela_c - 8/4/2021

Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela
By Dave - 8/4/2021

anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please
By anabela_c - 8/4/2021

Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!
By anabela_c - 8/5/2021

anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>
By Dave - 8/5/2021

anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.
By anabela_c - 8/5/2021

Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>
By anabela_c - 8/5/2021

anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added
By Dave - 8/5/2021

anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added

No. Because this does not make any sense without knowing what this is actually supposed to refer to:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue

]
/ recorddata = false
</trial>
By Dave - 8/5/2021

Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added

No. Because this does not make any sense without knowing what this is actually supposed to refer to:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue

]
/ recorddata = false
</trial>

So, please give me something I can actually work with -- otherwise I cannot help you. Thank you.
By anabela_c - 8/5/2021

Dave - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added

No. Because this does not make any sense without knowing what this is actually supposed to refer to:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue

]
/ recorddata = false
</trial>

So, please give me something I can actually work with -- otherwise I cannot help you. Thank you.

okay, I will exclude what I was trying to do and just keep the plain original code. What I want to do is instead of having a long format output data for the Q1 and Q2, I want to have them in two separate columns. 

The current data output is:
text.question.currentitem            expressions.ratingvalue
Q1                                                         3
Q2                                                         2

I would like it to be:

ratingQ1                                           ratingQ2
3                                                         2

The original code is:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>
By Dave - 8/5/2021

anabela_c - 8/5/2021
Dave - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added

No. Because this does not make any sense without knowing what this is actually supposed to refer to:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue

]
/ recorddata = false
</trial>

So, please give me something I can actually work with -- otherwise I cannot help you. Thank you.

okay, I will exclude what I was trying to do and just keep the plain original code. What I want to do is instead of having a long format output data for the Q1 and Q2, I want to have them in two separate columns. 

The current data output is:
text.question.currentitem            expressions.ratingvalue
Q1                                                         3
Q2                                                         2

I would like it to be:

ratingQ1                                           ratingQ2
3                                                         2

The original code is:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, values.ratingQ1, values.ratingQ2]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ ratingQ1 = ""
/ ratingQ2 = ""
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion; 3=dumpdata]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ ontrialend = [
    if (trial.Rating.response == 28){
        if (values.questionnumber == 1) {
            values.ratingQ1 = expressions.ratingvalue;
        } else if (values.questionnumber == 2){
            values.ratingQ2 = expressions.ratingvalue;
        };
    };
]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>
By anabela_c - 8/5/2021

Dave - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/5/2021
anabela_c - 8/5/2021
anabela_c - 8/5/2021
Dave - 8/4/2021
anabela_c - 8/4/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Hi Dave, I was trying to get each of the questions as a separate column on the data output, that means to see the values of "Q1" and "Q2" in two columns (wide format) and not within "text.question.currentitem" and "expressions.ratingvalue" (long format). I am trying as follows, which I guess needs to specify the question number:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
  text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
  text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
    values.likeallo = expressions.ratingvalue;
    values.similarallo = expressions.ratingvalue;
    values.likeego = expressions.ratingvalue;
    values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

Thanks in advance for your help as always (let me know if I can post this question here or I should create a new post)
Anabela

The code snippet is not useful with respect to answering the question. Provide sufficiently complete code, please

sorry, it's the code you posted:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r7.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,r6,r7,indicator, RatingPic,not_at_all, very_much, continue_rating]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
  values.likeallo = expressions.ratingvalue;
  values.similarallo = expressions.ratingvalue;
  values.likeego = expressions.ratingvalue;
  values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


thanks!

Sorry, the values should be like this:
<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>


Sorry, what you posted here https://www.millisecond.com/forums/FindPost32038.aspx is not the code . What you posted is incomplete. Please provide complete code and also provide any files that code requires to run.

Sorry, you're right!  This should work

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ likeallo = 0
/ similarallo = 0
/ likeego = 0
/ similarego = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue
]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

* in my case I have 4 questions instead of 2, so you could just show me with two values instead the 4 I added

No. Because this does not make any sense without knowing what this is actually supposed to refer to:

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ ontrialend = [
values.likeallo = expressions.ratingvalue;
values.similarallo = expressions.ratingvalue;
values.likeego = expressions.ratingvalue;
values.similarego = expressions.ratingvalue

]
/ recorddata = false
</trial>

So, please give me something I can actually work with -- otherwise I cannot help you. Thank you.

okay, I will exclude what I was trying to do and just keep the plain original code. What I want to do is instead of having a long format output data for the Q1 and Q2, I want to have them in two separate columns. 

The current data output is:
text.question.currentitem            expressions.ratingvalue
Q1                                                         3
Q2                                                         2

I would like it to be:

ratingQ1                                           ratingQ2
3                                                         2

The original code is:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, values.ratingQ1, values.ratingQ2]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
/ ratingQ1 = ""
/ ratingQ2 = ""
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion; 3=dumpdata]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial Rating>
/ ontrialend = [if(trial.Rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.Rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ ontrialend = [
    if (trial.Rating.response == 28){
        if (values.questionnumber == 1) {
            values.ratingQ1 = expressions.ratingvalue;
        } else if (values.questionnumber == 2){
            values.ratingQ2 = expressions.ratingvalue;
        };
    };
]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.Rating.response != 28) trial.Rating]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>

thanks a lot!!!!