我正在尝试收集键盘数据,但无法让 KbWait 工作。在下面的代码中,我试图等待参与者响应,检查他们的响应是否是两个可接受的答案之一,然后继续。只有当参与者按下“j”或“f”时,它才应该继续。
response = []; while isempty(response)&&(GetSecs - FlipTimestamp) < 10 [keyIsDown, RTsecs, RTkeyCode, deltaSecs] = KbWait; if keyIsDown r=find(RTkeyCode);%this should be the code for the key pressed response=KbName(r);%Figure out what key was pressed rt=num2str(RTsecs-time); %subtract off timestamp from when window was flipped if response == 'f' match_response= false; end if response == 'j' match_response= true; end end end
但是,KbWait 永远不会返回。当我尝试从命令行运行它时,它也不起作用。它只是挂断并拒绝返回,我不得不中断程序。