KbCheck

[keyIsDown, secs, keyCode, deltaSecs] = KbCheck([deviceNumber])

<< 訳注 >>

KbCheckは、そのコマンドが呼び出された時点で、いずれかのキーが押されているかどうかを調べる。注意すべき点は、KbCheckが呼び出されたときにキーが押されたとは限らないということである。KbCheckがあるキーについて押されていると報告した場合は、少なくともKbCheckが呼び出されたときには、すでにそのキーが押されていたということになる。下記のdeltaSecsを参照のこと。

keyIsDownは、shiftキー、controlキー、caps lockキーなどの修飾キーを含めて、いずれかのキーが押されると1となる。それ以外のときは0である。

secsは、GetSecsによって返されたキーを押したときの時間である。

keyCodeは、256の論理配列である。それぞれの要素(bit)は、ひとつのキーに対応している。あるキーが押されると、それに対応するビットがセットされ、それ以外ではビットはクリアされる。keyCode をキー番号のベクトルに変換するには、

find(keyCode)

をする。

キー番号を知るには、KbNameかKbDemoを使えばよい。

deltaSecsは、KbCheckを呼び出した時間から、その直近にKbCheckを呼び出したときの時間の差分である。この値は、ある意味では信頼区間(confidence interval)と考えられるだろう(例えば反応時間の測定などにおいて)。

もし、KbCheckがキー押しを検知した場合、このことは、直近で呼び出されたKbCheckから、secsで返される時間の間のどこかで、実験参加者がキーを押したことを示している。したがって、deltaSecsの間にキーが押されたと考えられる。

実用的な目的のために(?)、測定された反応時間(RTの後のアポストロフィsの意味が不明)は、deltaSecsよりも正確にはなり得ない。(要するにdeltaSecsの誤差があるということだろう)。しかしながら、一般的なコンピュータのキーボードには(様々な要因によって)最大で50ms 程度の誤差があると考えたほうがよい。この誤差はdeltaSecsが示すよりもはるかに大きい誤差である。