USBでNキー同時押しの可能性

USBキーボードでもNキーロールオーバーは可能のはずで,そうしたキーボードがないのはそれによるメリットがないからか。
体の構成上,意味のある入力として可能なのはおそらく10キー同時押し程度。普段の使い方を見るに5キー以上同時に押すことはなさそう。4キーであっても,そのうちの2つ3つはモディファイアキーである。通常のUSBキーボードではモディファイアキーは特権階級であり,すべて同時に押して認識可能である。しかも左右別々に*1
となると通常の使用においてはBoot Protocolの6キー同時押しで平気そう。私はPCゲームはやらないのでわからないが,そこら辺には不都合があるのかもしれない。しかし,Nキーである必要はないであろう。モディファイアキーを除いて10キー同時押し可能なら問題なさそうである。
また,Nキーロールオーバーとするとキーボードからの入力データサイズが大きくなってしまう。HIDのレポートディスクリプタは可変長にはできないようなので,1キーだけの入力でもNキー同時押し可能な文のデータサイズをホストに送信する必要がある。
Boot Protocolの通常キーのように1バイトで1キーコードを表すとすると,NキーではNバイト必要になる。モディファイアキーのようにビットマップにすればN/8バイトで済むが,入力データの作成(キーボード側)と解釈(ホスト側)に時間がかかるようになる気がする。キーボードに与えられる時間がどの程度か検討付けるための知識はないので概算すらしていないが,Nキー分のデータを送ること自体は問題ない気もしなくはない。

*1:Boot Protocolはモディファイアキーが通常のキーと同様の方法で送信されることも許容しているので,モディファイアキーを含めて6キー同時押しのキーボードもあるかもしれない