如何填充 psychopy.event.getKeys()?
How to populate psychopy.event.getKeys()?
点击撇号没有任何作用。 start_scan 只是一个 textStim。
while True:
print event.getKeys()
start_scan.draw()
win.flip()
if "'" in event.getKeys():
break
event.clearEvents()
那是因为 event.getKeys()
returns 撇号作为字符串 '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"。不过,它确实需要多几行代码才能获得 运行。请参阅编码器 --> 演示 --> iohub --> 键盘下的 documentation 和演示。
点击撇号没有任何作用。 start_scan 只是一个 textStim。
while True:
print event.getKeys()
start_scan.draw()
win.flip()
if "'" in event.getKeys():
break
event.clearEvents()
那是因为 event.getKeys()
returns 撇号作为字符串 '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"。不过,它确实需要多几行代码才能获得 运行。请参阅编码器 --> 演示 --> iohub --> 键盘下的 documentation 和演示。