【问题标题】:Keyboard combination detection in Psychtoolbox-3Psychtoolbox-3 中的键盘组合检测
【发布时间】:2019-10-12 03:24:55
【问题描述】:

我希望我的实验有一个组合键来作为一个指示符,以引发从实验中发起的退出。

现在我有了这段代码,它检测到单次按键:

while(1)
     [keyIsDown,~,keyCode]=KbCheck;
     if keyIsDown
          if keyCode(SOME_KEY)
                 exitExperiment();
          end
          break;
     end
end

我希望SOME_KEY 指的是组合键,例如ctrl+rshift+ESC。任何其他允许引用按键组合的解决方案肯定会有所帮助。

谢谢。

【问题讨论】:

    标签: matlab psychtoolbox


    【解决方案1】:

    您可以检查键的组合,方法是检查 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2017-07-31
      • 1970-01-01
      • 2012-01-22
      • 2020-02-11
      • 2020-02-17
      相关资源
      最近更新 更多