行動心理学のパラダイムを実行するために、MATLAB でPsychtoolboxを使用しています。パラダイムの一部として、ユーザーは視覚刺激を表示し、何らかの入力メカニズムを使用してそれに応答する必要があります。キーボードの場合、これは次のように機能します。
- 刺激を見せる
- 応答のためにキーボードをポーリングする
- 応答が検出されない場合は、1 にループバックします
- 応答が検出された場合は、スクリプトを中断して次に進みます
ステップ 2 には 1 ~ 2 ミリ秒かかるため、これはキーボードでは問題なく機能します。別の入力メカニズムを使用すると問題が発生します。その場合、ステップ 2 には約 20 ミリ秒かかります。(研究を実行するには、この代替入力が必要であり、それは不変の事実と見なされるべきです。) 非常に短い期間で刺激が変化するため、追加された遅延によりタスクが中断されます。
私の現在の考えは、1 つのスレッドが刺激を表示し、別のスレッドがキーボードをポーリングするように、並列処理を使用しようとすることです。現在、これを行うためにParallel Computing Toolboxを使用しています。私が抱えている問題は、キーボード入力を「並列化された」スレッドに送る方法がわからないことです。(1)キーボード入力をスレッドに直接送信できるかどうか/スレッドに視覚信号をモニターに送信させることができるかどうか、また可能であれば(2)その方法を知っている人はいますか?
また、この問題にどのようにアプローチするかについて誰かがより良いアイデアを持っている場合は、私はすべて耳を傾けます.