心理GetKeys麻烦

时间:2015-01-14 21:07:12

标签: python psychopy

我一直在与这个问题作斗争几个小时,我在网上寻找解决方案的尝试空白了。希望这里有人有一些见解。

在实验过程中,参与者会看到一系列刺激,然后是没有用户输入的面具。然而,在一些试验中,我们想要进行“捕获”试验,以确保参与者仍然参与。

理想情况下,流程看起来像:

刺激 - >掩码 - &gt;刺激&gt;掩码...-&gt;捕捉试验 - &gt;掩码(注册按键 - “我看到它”) - &gt;刺激&gt;掩码...... < / p>

我遇到的问题是,当我调用event.getKeys('space')时,它总是返回一个空列表。

以下是相关代码片段:

            if stimCount >= min(catchTrials)+mod[modCount] and stimCount <= max(catchTrials)+mod[modCount] and beenDisplayed == 0:
                print 1
                test = random.randint(0,1)
                if test == 1 or stimCount % 20 == 0:
                    print 2
                    actualStim.setSF(0)
                    actualStim.setOri(0)
                    doCatch(catchTimeout) # this displays the "catch" stim
                    doMask(MaskTimeout,maskNum) # this is the mask
                    print stimCount+1, 'catch', catchResponse # debug line
                    beenDisplayed = 1
                    modCount += 1
                    inCatch = 1
                    keys = event.getKeys(["space"]) # should return *something* that was pressed?
                    print 'keys = ',keys
                    if len(keys) > 0: # logic given a keypress
                        print 'pressed'
                        catchResponse[0] = 1
                    else:
                        print 'not pressed'
                        catchResponse[0] = 0

                else:
                    maskNum = str(1) 
                    doFixate(FixateTimeout)
                    actualStim.setSF(Circle1[stimCount][1])
                    actualStim.setOri(Circle1[stimCount][2])
                    #doMask(MaskTimeout,maskNum)
                    print stimCount+1, inCatch
                    if inCatch == 1:
                        print str(keyMap[response["firstKey"]])
                    doStimulus(None, StimTimeout, None)
                    doMask(MaskTimeout,maskNum)

  Output: 
    5 0
    1
    6 0
    1
    2
    7 catch [0, 1]
    keys =  []
    not pressed
    8 0

据我了解,event.getKeys()返回自上次调用getKeys以来所按下的所有键的列表,或者调用clearEvent。

在这种情况下,我不明白为什么键总是空的。我已经尝试在整个循环中移动getKeys事件并且无济于事。

我非常感谢任何帮助, 本

0 个答案:

没有答案