我在为两项心理任务收集键盘输入时遇到了麻烦,一个是巴甫洛夫式的和乐器学习脚本。我将展示乐器脚本,希望解决乐器脚本中的问题将转移到巴甫洛夫脚本中。我使用的是带有Touch Bar,High Sierra的2018 MacBook Pro。
我想要的是,如果我按 esc 键,窗口就会关闭,并且在试验循环期间,计算左、上和右箭头按键的次数,以便在按下九次键时显示结果图像。但是蓝色窗口只是停留在屏幕上,对键盘输入没有响应。实际上,目前,脚本只是停留在介绍窗口中,带有介绍文本。
仪器
这是我尝试过的:
使用 KbCheck 而不是 KbWait
擦除 While 循环
将键盘输入代码放在代码中的不同位置
使用不同的 KbNames
对 KbWait 使用不同的索引
非常感谢您的帮助!
缺少几个部分才能运行脚本,例如 PITGUI(( 和图像文件。但是从代码来看,需要解决一些问题:
字符串应使用单引号而不是双引号:
改变:
fname = sprintf('%s %s', InputDataStruct.filename, ".txt");
自:
fname = sprintf('%s %s', InputDataStruct.filename, '.txt');
现在,keyIsDown 永远不会评估为 true,可能是因为 KbWait 被换成了 KbCheck:
改变:
[secs, keyCode] = KbWait(1);
自:
[keyIsDown, secs, keyCode] = KbCheck;
要显示错误:
改变:
catch
Screen('CloseAll')
rethrow(lasterror)
end
自:
catch e
Screen('CloseAll')
rethrow(e)
end