| Reference | Downloads | Github

Mouse only rating scale without accept button?

Hi, there

What are you trying to achieve?:
I have a bunch of rating scales in my experiment (ca. 30), therefore I want to avoid that the participants have to accept every single rating. I think this could be somehow frustrating for the participants to accept each rating. The rating will be mouse only.
After participants have made each rating they are allowed to end the routine with the space bar.
Single click is not an option as participants should be allowed to change their rating until they press the space bar.

What did you try to make it work?:
I am using the rating component and the customizied option as follows:


Addtionally, Store rating, Store history and Store rating time is selected. My .csv output looks as follows:


Thus, the last rating before ending the routine was 5. I want to store this rating as r1.response without using the accept box.

Thanks Fabian

@Fabian, what you could do is manually get the rating, and add it to the conditions file. In the “End Routine” tab:

last.rating, last.rt = r1.getHistory()[-1]
thisExp.addData("last.rating", last.rating)
thisExp.addData("last.rt", last.rt)
1 Like

Perfect, that worked :slight_smile:
Just had to change “last” to “r1”. Otherwise routine will stop because “last” is not defined.

r1.rating, r1.rt = r1.getHistory()[-1]
thisExp.addData("r1.rating", r1.rating)
thisExp.addData("r1.rt", r1.rt)

Yes, apologies for the confusion, I was just demonstrating a point more generally :slight_smile:

No worries, you delivered a perfect thought-provoking impulse!:grinning:

1 Like


I had almost the very same issue with the storing of the responses of the scales without wanting to have the “accept button”. However, did you manage to indicate in the code that participants are allowed to continue (by pressing the “spacebar”) only when all responses are made?

I created a “Continue” Button underneath the scales to end the routine. But I want it only to be clickable when all rating responses are made.

The code in the code component (begin of routine) is:

continueButton = visual.ButtonStim(win, labelText="Weiter", pos=(0, -.4))

Begin of each frame:

continueButton.buttonEnabled = True
if continueButton.buttonSelected:
    continueRoutine = False

Thank you very much in advance for your answer!