Collecting responses with PsychToolbox

15 次查看(过去 30 天)
Hello, I am trying to collect keyboard responses with PsychToolbox using KbCheck, but when I run the code the screen freezes and refuses to close. This script is intended to close all screens ONLY after keyboard input 'y' or 'n' (yes/no). I also want to collect which key response was made and the response time. Here is the code I am using to collect responses:
Screen('DrawText', window, 'XXXXX') %stimulus is drawn
[VBL stimulusOnset] = Screen('Flip', window)
acceptedKeys = [KbName('y'), KbName('n')];
responded = 0;
while responded == 0
[tmp,KeyTime,KeyCode] = KbCheck;
if KeyCode(acceptedKeys)
RT = KeyTime - stimulusOnset
strResponse = KeyCode
responded = 1;
end
% time between iterations of KbCheck loop
WaitSecs(0.001);
end
Screen('CloseAll');
Do you have any idea why it is not responding to the correct keyboard inputs? Thank you!

回答(1 个)

Matteo Lisi
Matteo Lisi 2018-1-23
编辑:Matteo Lisi 2018-1-23
Since you have two accepted keys the command
KeyCode(acceptedKeys)
produces a vector which corresponds to a logical "true" only if all its elements are equal to 1. Try changing it to
any(KeyCode(acceptedKeys))

类别

Help CenterFile Exchange 中查找有关 Psychtoolbox-3: Vision and neuroscience research 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by