我在收集用于两种心理任务的键盘输入时遇到了麻烦,这是一种pavlovian和器乐性学习脚本。我将展示器乐脚本,希望将解决器乐脚本中的问题转移到巴甫洛夫脚本中。我正在使用具有高Sierra触控栏的2018 MacBook Pro。
我想要的是如果我按Escape键以关闭窗口,并且在试用循环中,计算左,上和右箭头键的按下次数,以便在按下该键九次时显示结果图像。但是蓝色窗口仅停留在屏幕上,并且对键盘输入无响应。实际上,此刻脚本只是停留在介绍文字的介绍窗口中。
这是我尝试过的:
使用KbCheck代替KbWait
删除While循环
将键盘输入代码放在代码中的不同位置
使用不同的KbName
为KbWait使用不同的索引
非常感谢您的帮助!
答案 0 :(得分:0)
缺少一些能够运行脚本的部分,例如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