Hey everyone. I’ve only started coding in psychopy since a couple of days ago. I want to display a text stim and wait for the user to push a button and then go to the next stim. I’ve tried many things but when i run the code, the window appears for a second and then disappears, without waiting to recieve a key from the user
If you are using coder view you can use
from psychopy import event
then after presenting your window you use:
You can also see an implementation if this in the pre-coded demo at “demo>input>what_key” from coder view
Best of luck,
Thanks for your answer. In my code i have used this method but still wont get the desired result:
win = visual.Window([800, 800], pos=(0, 0)) instruction1 = visual.TextStim(win, text='First Instruction') instruction1.draw() win.flip() k1 = keyboard.Keyboard() k1.waitKeys(keyList=None) if not k1.getKeys(): instruction1.text = 'Hello'
Could you maybe tell me what’s wrong with this code?
The keyboard class doesn’t yet contain a “waitKeys method” (see this post Equivalent of event.waitKeys() using keyboard.KeyBoard). So you still need to use
event.waitKeys() to wait for a keyboard response.
This should achieve what you want:
from psychopy import visual, event, core from psychopy.hardware import keyboard win = visual.Window([800, 800], pos=(0, 0), monitor='testMonitor') instruction1 = visual.TextStim(win, text='First Instruction') instruction1.draw() win.flip() k1 = keyboard.Keyboard() event.waitKeys(keyList=None) keyPressed = k1.getKeys() print(keyPressed.name)
For more details see the demo mentioned above
Thanks for your reply