我正在使用 PsychoPy 进行实验。我有一个简单的实验,每次按下某个键时屏幕都会改变。这很简单,为此我使用了 event.waitKeys()。但是,我希望运行一个“背景”过程(不确定术语是否正确),其中记录了每次按键,包括不触发刺激的按键或屏幕转换期间发生的按键。
有没有办法做到这一点?
假设您已经使用代码构建了实验,策略将是event.waitKeys()
像现在一样使用,但只有在按下某个键并将其他键添加到列表时才具有视觉操作。因此,如果您的目标键是空格:
from psychopy import visual, event
win = visual.Window()
for trial in range(5): # loop over trials. Usually a list of dicts.
# Prepare and present your stimuli here.
# Then enter a response-listening phase:
allResponses = [] # we will fill this in with responses
while True:
response = event.waitKeys() # you probably have event.waitKeys(keyList=['space']) or something like that right now
allResponses += response # add keynames. Adds nothing on empty response
if 'space' in response:
break # break out of the while-loop
# Save trial here along with the contents of allResponses
如果您正在积极地转换屏幕上的内容,您可以在 for 循环中执行此操作,并在每次迭代时调用 towin.flip()
而不是上面的 while 循环。这将通过帧速率(通常每秒 60 次)离散化您可以记录响应的时间。如果您需要更精细的分辨率,例如反应时间,请使用 iohob 背景,其中键被记录为单独的过程,独立于刺激的呈现。