2015-10-16 45 views

回答

4

這是因爲event.getKeys()回到撇號作爲字符串'apostrophe'。一看就知道做

from psychopy import visual, event 
win = visual.Window() 
while True: 
    response = event.getKeys() 
    if response: 
     print response # check what the key was 
     if 'apostrophe' in response: 
      break 

你沒有看到打印的原因是每次調用event.getKeys()清除事件緩衝區。當然對於event.clearEvents()也是如此。由於您的腳本會花費99.9%的時間掛在win.flip()上,所以按鍵發生的可能性不大可能在print event.getKeys()之前發生,因此它絕不會顯示事件模塊如何表示您按下的鍵。

所以這是要注意的事情。事件模塊並不總是通過它們生成的字符來表示鍵。但是,psychopy.iohub模塊就是這麼做的。所以例如像SHIFT + r就變成了「R」。不過,它確實需要多行代碼才能運行。請參閱documentation以及編碼器 - >演示 - > iohub - >鍵盤下的演示。

+0

這工作!謝謝。我們的EPI掃描發送了撇號,並觸發了實驗。謝謝。 – broinjc