Обнаружение комбинации клавиш в Psychtoolbox-3 - PullRequest
1 голос
/ 12 октября 2019

Я хочу, чтобы в моем эксперименте комбинация клавиш служила индикатором для инициирования выхода из эксперимента.

Теперь у меня есть этот код, который обнаруживает нажатие одной клавиши:

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

Мне бы хотелось, чтобы SOME_KEY ссылался на комбинацию клавиш, например ctrl+r или shift+ESC. Любое другое решение, которое позволит ссылаться на комбинацию нажатий клавиш, наверняка поможет.

Спасибо.

1 Ответ

1 голос
/ 13 октября 2019

Вы можете проверить комбинацию клавиш, проверив, что all соответствующих кодов ключей в логическом массиве keyCode имеют значение true. Вот пример, который требует одновременного нажатия левой клавиши управления и клавиши 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
...