LemonKaju.net
右の絵はBitakyさんが描いてくださいました!

なぜキーボードはUSB接続よりPS/2接続が良いか

以下引用で出てくる「割り込み」と「ポーリング」の違いについて、
割り込みとポーリング | ユークエスト株式会社がおすすめです。

USB(HID)の無駄処理や限定的仕様

PS/2接続やノートPC内蔵のキーボードでは、
キー入力があったら信号にして送る単純な仕組みですが、
USB接続のキーボード(HID)では、
キー入力の有無に関わらず毎秒125回通信しています。
ゲーム向けで毎秒1000回通信して遅延を抑える物もありますが、
マウスじゃないしPS/2で良いと思います。

USB(HID)では同時押し上限数6キーという規格上の制限があるので注意。
(仮想的に複数のUSB接続キーボードが繋がってるように認識させて
対策してる特殊な物もあります。)
(最近はマルチレポートで複数のキーボードとして認識させなくても
同時押し出来る物もあります。)

マザーボードによってはBIOS設定画面で認識しない場合があります。

USB(HID)は割り込み要求出来ない

USB/データ転送方式 - SyncHackから引用

Interrupt 転送

Interrupt 転送という名称より、
USB には割り込み信号があってそれを利用すると勘違いされ気味ですが、
違います。

Interrupt 転送では予め USB 機器をポーリングする期間を指定し、
Host からマネージメントしてもらう方式を取っています。
例えば 10ms に一回は情報を取りに来るよう指定した場合、
Host は 10ms 以内にデータが用意されていないかどうか機器に対して問い合わせます。
機器はその問い合わせに対して返答することであたかも「割り込み(Interrupt)」が掛かったように見せかけます。

PS/2接続やノートPC内蔵のキーボードは 割り込み要求(IRQ)の割り当てがある

割り込み (コンピュータ) - Wikipediaから引用

応答性の向上

キーボード、マウスなどのユーザインターフェースは入力の遅延や入力漏れが致命的な欠陥になる。
この場合は割り込みを使ってユーザからの入力を確実に処理する必要がある。
コンピュータがフリーズした場合でもマウスカーソルの移動だけが反応することがあるが、
これは割り込み処理だけが機能していることになる。

迷ったらPS/2接続!

どうしてもUSB接続キーボードじゃないといけない理由がない限りは、
PS/2接続キーボードにしましょう。


れもん果汁.net