以下引用で出てくる「割り込み」と「ポーリング」の違いについて、
割り込みとポーリング | ユークエスト株式会社がおすすめです。
古いPC・マザーボードだとBIOS設定画面で認識しない場合があります。
PS/2接続やノートPC内蔵のキーボードでは、
キー入力があったら信号にして送る単純な仕組みですが、
USB接続のキーボード(HID)では、
キー入力の有無に関わらず毎秒125回通信しています。
ゲーム向けで毎秒1000回通信して遅延を抑える物もありますが、
マウスじゃないしPS/2で良いと思います。
(もちろんSteelSeries Apex Pro等の上位USBキーボードは、
下で紹介するハンデを負っているにも関わらず、
スイッチの高精度さに力を入れているため別格ですが、
209.99ドル・国内実売2万5千円の高級品になります。)
Interrupt 転送
Interrupt 転送という名称より、
USB には割り込み信号があってそれを利用すると勘違いされ気味ですが、
違います。Interrupt 転送では予め USB 機器をポーリングする期間を指定し、
Host からマネージメントしてもらう方式を取っています。
例えば 10ms に一回は情報を取りに来るよう指定した場合、
Host は 10ms 以内にデータが用意されていないかどうか機器に対して問い合わせます。
機器はその問い合わせに対して返答することであたかも「割り込み(Interrupt)」が掛かったように見せかけます。
CPU資源の有効利用
周辺機器の速度はCPUの処理速度より格段に遅いため、周辺機器が処理を行っている間、CPUが他の処理を行ったほうが効率がよい。
その場合、周辺機器の処理の終了をCPU側から定期的にチェックする(ポーリングと呼ぶ)のは、他の処理の効率を落とすため望ましくない。
このため、周辺機器の側から割り込みによって処理の終了を通知する方法がとられる。応答性の向上
キーボード、マウスなどのユーザインターフェースは入力の遅延や入力漏れが致命的な欠陥になる。
この場合は割り込みを使ってユーザからの入力を確実に処理する必要がある。
コンピュータがフリーズした場合でもマウスカーソルの移動だけが反応することがあるが、
これは割り込み処理だけが機能していることになる。
Are USB keyboards less responsive due to narrow IRQ range? - Super Userから引用
1万円台までの低予算で、どうしてもUSB接続キーボードじゃないといけない理由がない限りは、
PS/2接続キーボードにしましょう。
716円 | サンワサプライ SKB-L1BK 普通の日本語キーボード |
2,303円 | BUFFALO BSKBCG305BK 打鍵の操作性と耐久性があるキーボードの中でも破格な安さ |
11,297円 | FILCO Majestouch 2 FKBN108MRL/JB2 赤軸メカニカルキーボード |
15,879円 | FILCO Majestouch 2SS Edition FKBN108MSS/NCSP2B 銀軸メカニカルキーボード |
(2021年時点)