記事の詳細
Nキーロールオーバーって何?
キーボード用語って色々ありますが、キーボードについて、いまさら聞けない用語をちゃんと理解してみよう!という企画でございます。
今年から弊社より自作キーボード製品各種を発売しワークショップを開催しておりますが、ワークショップでは作業を進めるにあたって用語のほか、その作業がなぜ必要なのか?などの解説も行っております。
本コラムはこれら弊社ワークショップでも解説をおこなっている用語などについてWEB版として公開いたします。
Nキーロールオーバーって?
予算的に少し高めのキーボードのスペックを見ると、大抵、ロールオーバーについての記載があります。この項目ですが、実はこのNキーロールオーバー自体は、もともとキータイプやゲームとは何の関係もないものだったのです。でもすごく重要!「お前は何を、言っているのだ?」と思う方もいらっしゃると思いますが、そこは落ち着いて、これからの話を聞いてくださいませ。
Nキーロールオーバーについて機能的な実現のためには様々な方法がありますが、実は歴史的にはキーボード各社で見解が違っていたりします。あくまで押したキーが入る事が重要なのですが、もともとゲームのために作られた機能ではないのでロールオーバーを語る際には実はキーボードがどのようにキーを検出しているのかを知らないと、アレコレおかしな議論になってしまうのです。
どうやってキーを検出する?
さて、いきなりの質問ですが、キーボードは何十個もあるキーをどのようにチェックしているのでしょうか?
もっとも簡単な方法は図1のような電池から流れる電流を接続して電球を点灯させるようなかんたんなスイッチ回路です。この仕組みが109個あれば、どのキーのスイッチが入力されたか、ひと目でわかりますね。
たしかに、この方法なら直ぐにわかります。でもケーブルを109本もまとめてコンピュータに接続するなんて、いったいどれだけ太いケーブルになってしまうのでしょう?
信号を受けるコンピュータもインターフェースがキーボードだけで埋まってしまって大変ですし、キーボードを作る人だって大変です。1台を作るのに配線だけで一日が終わってしまいそうです。
もっとかんたんに、作りやすい賢い方法はないものでしょうか?
そう!ここでキーマトリクスの出番です。
キーマトリクスとは?
いよいよキーマトリクスの出番です。キーマトリクスは実際にキーボード内部で使われているポピュラーな検知方法ですが、今回はわかりやすくするため、ABCDという4つのキーを検知する非常に簡単な図(図2)にしてみましょう。
ABCD,4つのキーはそれぞれ格子状に配置され、それぞれ回路で結ばれています。
図をよく見ると横のラインにⅰ、ⅱ、縦のラインにα、βがあります。このラインに順番に電圧をかけていってもABCDが押されない限りは接点がつながることがないため縦のα、βラインには電流は流れません、つまり、これはABCDいずれのキーも押されていない状態となります。
そこで今度は「D」キーを押してみましょう。
「D」のキーを押すとⅱからβに接点がつながり電流が流れます。電流を流したラインⅱと流れて来たラインβから「D」キーが押されたこと検知することができます。
同じようにⅰ-αなら「A」のキーをⅱ-αなら「C」キーが押されたことが検知できるということです。これなら4個のキーを1つひとつ調べることなく、半分のスキャンで4つのキーの入力判定ができます。
上手いことを考えたものです。この方法を使えば1つひとつのスイッチを調べることもなく109本を束ねた太いケーブルも不要、コンピュータにつながるインターフェースも最小限で済みそうです。これが今存在しているキーボードで使われているキーボードにおけるキーマトリックスの原理です。
でも、この素晴らしい方法でも弱点がありました。
ゴーストキー現象です。
ゴーストキー現象って何?
この同じ回路でA,B,Cを同時に押した場合を考えてみましょう。
あれ?おかしなことにAの接点を通してラインⅱとラインβがつながってしまっていますね。
こうなってしまうとコンピュータは「D」のキーが押されたのだと勘違いしてしまいます。
だってラインⅱとラインβがつながっているのですもの、もしFPSでよく使用するWASDキーだったら大変です。この同時にキーを押してしまったときに意図しないキーが入力されてしまう現象をいわゆるゴーストキー現象といいます。
ゴーストキーをなくすには
ではゴーストキーの発生を防止するには、どうしたらよいのでしょうか?
一番簡単な方法は同時押しに対応するキーをShiftキーやCtrlキーなどの特殊キーに限って、もしゴーストキーの発生するキーの組み合わせが発生してしまった場合には、そのキーを出力しない。同時に押してしまった場合は 全てのキーのコードを出力しないようにしてしまいゴーストキーが出現することを禁止するという方式です。
実際にこれは現在もっとも広く行われている方法でコンピュータを購入した時についているキーボードは大抵こういう方法をとっています。
え?なんでこの方法なのかって?
それは安くキーボードを作ることができるからです。
ちなみにビット・トレード・ワンのデスイルミネーターでは、基本的には、この方式ですが、マトリックスの組み合わせとコントローラのファームウエアによってゲームでよく使用する範囲限定でロールオーバーを実現しています。
では、その他のいわゆるNキーロールオーバー対応キーボードはどのようにゴーストキーを防止しているのでしょうか?
簡単に言えば「D」キーの接点がつながらないように「A」キーに電流を一方向にしか流さないダイオードを付けて、電流がラインβに回り込まないように回避する方法をとります、このような対策をとれば、3つのキーを同時に押したとしてもAキーで電流がせき止められ、ゴーストキーを防ぐことができますね。
この方法は過去ワークステーションなど高価なシステムで使用されるキーボードでは大抵こういった方法でゴーストキーを防止していました。
でもこの方法にも弱点があったのです。
それはスイッチひとつひとつに逆流電流防止ダイオードが必要となってしまうことでキーボード自体が高価になってしまうことなのです。
ここでようやく自作キーボードユーザーにとって大量のダイオードを基板に取り付ける作業がなぜ必要なのか?という答えがでましたね。ワークショップでは、これらダイオード取付作業の必要性についても解説を行っております。
この方法はキー数にほぼ等しい数量の逆流電流防止ダイオードが必要となり単純に部品点数の増大により価格が上昇してしまいます。今ではキーボードは1000円台からありますが、その昔の原始キーボードは別売り価格6万円以上というびっくり価格だったこともあります。
このような内部構造のためNキーロールオーバーが装備されているキーボードは一般的なキーボードにくらべ高額となってしまうわけです。
さて、ここでCMです!
弊社が販売するロールオーバー対応機をご紹介しましょう。
実は弊社が販売する各種キーボードは主にパンタグラフやメンブレンキーボードなのですが 世界でも、まれな ロールオーバー対応を行っています。ロールオーバーといえばメカニカルとお考えのユーザーもいるかと思いますが、弊社ではちゃんとご用意しておりますよ。
キースライダーにプランジャー構造のアクチュエータを採用し、斜めからキーが押されてもブレることなく垂直に押下することが可能なゲーミングキーボードです。
109がスタンダードなら次の92UP2は92キーいわゆるテンキーレスキーボードです。
次はロールオーバー対応のパンタグラフキーボードBFKB113PBKとBFKB88PCBKです。実際ロールオーバー対応のパンタグラフキーボードを探すとなかなか見つかりませんよ。
さて、今回はロールオーバーについて解説しましたが、ビット・トレード・ワンでは不定期に開催している自作キーボードワークショップでもキーボードに関する理解が深まるようお話をさせていただいております。次回開催時、ぜひ皆さんも参加してみませんか?