命中撇号没有做任何事情。 start_scan只是一个textStim。
while True:
print event.getKeys()
start_scan.draw()
win.flip()
if "'" in event.getKeys():
break
event.clearEvents()
答案 0 :(得分: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和Coder下的演示 - >演示 - > iohub - >键盘。