0

我正在使用 PsychoPy 进行实验。我有一个简单的实验,每次按下某个键时屏幕都会改变。这很简单,为此我使用了 event.waitKeys()。但是,我希望运行一个“背景”过程(不确定术语是否正确),其中记录了每次按键,包括不触发刺激的按键或屏幕转换期间发生的按键。

有没有办法做到这一点?

4

1 回答 1

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 循环中执行此操作,并在每次迭代时调用 towin.flip()而不是上面的 while 循环。这将通过帧速率(通常每秒 60 次)离散化您可以记录响应的时间。如果您需要更精细的分辨率,例如反应时间,请使用 iohob 背景,其中键被记录为单独的过程,独立于刺激的呈现。

于 2014-12-10T19:48:05.223 回答