我正在使用PsychoPy进行实验。我有一个简单的实验,每次按下某个键时屏幕都会改变。这很简单,我已经使用了event.waitKeys()。但是,我想要一个背景'正在运行的过程(不确定正确的术语),其中每个键按下,包括不触发刺激的按键,或者在屏幕转换期间发生的按键被记录。
有办法做到这一点吗?
答案 0 :(得分:1)
假设您已经使用代码构建了实验,那么策略就是像现在一样使用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循环中执行此操作,并在每次迭代时调用win.flip()
而不是上面的while循环。这将离散您可以按帧速率记录响应的时间(通常为每秒60次)。如果您需要更精细的分辨率,例如反应时间,使用iohob背景,其中键被记录为一个单独的过程,独立于刺激的呈现。