Hi Everyone,
I am having some trouble resetting the keypresses after each trial.
Here is my code:
def showstim(stimtype): # get a key record function in here
selstim = eval(stimtype).pop(0)
drawstim = visual.ImageStim(win, image = selstim, pos = [0,0])
rt_clock.reset()
#trialnum = trialnum + 1
frames=0
kb.clock.reset()
keypress = []
while frames < my_dur:
drawstim.draw()
win.flip()
stimonset = exp_clock.getTime()
frames = frames + 1
keypress = kb.getKeys(['right', 'left', 'q'], waitRelease=True, clear= True)
if frames >= my_dur:
stimoffset = exp_clock.getTime()
recresp(keypress)
def recresp(keypress):
for key in keypress:
taskd['encrespkey'], taskd['encrt'], taskd['enckeydur'] = key.name, key.rt, key.duration
if ('left' in keypress) and (stimtype == 'stanpics'): # left is abstract
taskd['enckeyaccuracy'] = 1
if ('right' in keypress) and (stimtype == 'stanpics'):
taskd['enckeyaccuracy'] = 0
if ('left' in keypress) and (stimtype != 'stanpics'):
taskd['enckeyaccuracy'] = 0
if ('right' in keypress) and (stimtype != 'stanpics'):
taskd['enckeyaccuracy'] = 1
I set the ‘clear=True’ within the kb.getKeys component. However, every time there are no responses, this code just prints out the key presses from the previous trial.
I was wondering if anyone knows how to ‘wipe’ the kb.keypress buffer from old (i.e., previous trial) clicks.
Much appreciated,
Arkadiy