Psychtoolbox-3 中的键盘组合检测
Keyboard combination detection in Psychtoolbox-3
我希望我的实验有一个组合键作为一个指示器来引发实验的启动退出。
现在我有了这段代码,它检测到一次按键:
while(1)
[keyIsDown,~,keyCode]=KbCheck;
if keyIsDown
if keyCode(SOME_KEY)
exitExperiment();
end
break;
end
end
我希望 SOME_KEY
指的是组合键,例如 ctrl+r
或 shift+ESC
。任何其他允许引用按键组合的解决方案肯定会有所帮助。
谢谢。
您可以检查组合键,方法是检查 keyCode 逻辑数组中的 all
个适当的键代码是否为真。这是一个需要同时按下左控制键和 r 键的例子:
% setup
KbName('UnifyKeyNames');
needed_key_names = {'LeftControl', 'r'};
needed_key_codes = KbName(needed_key_names);
while(1)
[keyIsDown,~,keyCode]=KbCheck();
if keyIsDown
if all(keyCode(needed_key_codes))
break;
end
end
end
我希望我的实验有一个组合键作为一个指示器来引发实验的启动退出。
现在我有了这段代码,它检测到一次按键:
while(1)
[keyIsDown,~,keyCode]=KbCheck;
if keyIsDown
if keyCode(SOME_KEY)
exitExperiment();
end
break;
end
end
我希望 SOME_KEY
指的是组合键,例如 ctrl+r
或 shift+ESC
。任何其他允许引用按键组合的解决方案肯定会有所帮助。
谢谢。
您可以检查组合键,方法是检查 keyCode 逻辑数组中的 all
个适当的键代码是否为真。这是一个需要同时按下左控制键和 r 键的例子:
% setup
KbName('UnifyKeyNames');
needed_key_names = {'LeftControl', 'r'};
needed_key_codes = KbName(needed_key_names);
while(1)
[keyIsDown,~,keyCode]=KbCheck();
if keyIsDown
if all(keyCode(needed_key_codes))
break;
end
end
end