The following code is for a rating scale:
scale = visual.RatingScale(win, low=1, high=9, pos=(0,0), size=1.5, marker=visual.TextStim(win, text="", units="norm"), noMouse=True, tickMarks = label, textSize = 0.7, respKeys = ['num_1','num_2','num_3','num_4','num_5','num_6','num_7','num_8','num_9'], minTime=0.0, scale = scales, showAccept = False,labels = label, textColor="White", stretch=1.5) text.pos = (0.0, 0.7) text.height = 0.07 text.setAutoDraw(True) rate_start = timer.getTime() while timer.getTime() < 10.0 + rate_start - extra_time: if 'escape' in event.getKeys(keyList=['escape']): core.quit() scale.draw() win.flip() if scale.getRating(): break text.setAutoDraw(False)
Since I’m using a PC, the valid response keys I want are 1-9 on the number pad. I want to scale to remain on the screen until one of the response keys is pressed (or 10 seconds is up). My issue though is that if I press the Enter key on the num pad, it is accepted as a response and I break out of my while loop. I don’t understand why this is, but is there a way to prevent this from happening and only allowing keys 1-9 be accepted?
Thanks for the help.