レーシングゲームやシミュレーターにおけるアナログWASD操作:ホール効果スイッチの押し込み深度の活用

キートラベルがレーシングコントロールになる仕組みをご覧ください。センサー信号、ソフトウェアのキャリブレーション、そしてアナログ出力が実際に機能していることを確認するゲーム軸のチェックについて説明します。

共有

磁気式キースイッチで深さに応じたアナログWASD操作を行えるのは、3つの層がそろった場合に限られます。スイッチが物理的なストローク位置を検出し、キーボードのファームウェアまたはソフトウェアがそのストロークを可変の操作値にマッピングし、ゲームがその値を単純なキー押下ではなく軸として読み取る必要があります。標準的なWASDのタップ操作では、このような段階的な入力は得られません。通常のキーをどれだけ滑らかに押し続けても、OSが認識するのは押下または解放という二値状態だけです。

この記事では、内部の磁石からキャリブレーション済みの操作範囲に至る信号経路をたどり、その後、レーシングシミュレーターでの設定と軸の確認手順を説明します。

要点

  • ホール効果検出では、センサーが変化する磁界を読み取るため、単なる押下ではなく、変化するキーのストロークを測定できます。
  • ソフトウェアによるキャリブレーションでは、ストロークを0〜100%の操作値に対応付けますが、そのマッピングが自動的に線形になるわけではありません。
  • レーシングゲームでその値によってステアリングやスロットルを操作するには、まず認識された軸を公開して割り当てる必要があります。
  • レスポンスカーブを調整する前にストロークの始点と終点をキャリブレーションし、スロットルとステアリングは別々に調整してください。
  • キーボードソフトウェアでは深さが表示されるのに、ゲームでは依然として二値動作になる場合、問題はセンサーではなく、軸の公開またはゲーム側の割り当てにあります。

ホール効果検出がキーの深さを入力範囲に変える仕組み

キーの深さが実用的なレーシング入力になるのは、センサー、キーボード独自のマッピング、そしてゲームの軸サポートがすべて連携した場合に限られます。ホール効果検出は、接点だけでなく位置を測定することで、その最初の要素を担います。

磁石の動きからセンサー電圧へ

スイッチの可動部には小さな磁石が取り付けられています。キーを押すと、磁石が基板上に搭載されたホール検出素子に近づき、その素子の位置で磁界が変化します。ホール効果センサーは磁界を電圧に変換するため、この変化する磁界は、単一のオン/オフ接点イベントではなく、変化する電気的な読み取り値になります。これにより、リニアなホール位置検出は、磁石がしきい値を超えたかどうかだけを報告する基本的なデジタルホールスイッチと区別されます。キーボードが実際にこの細かな読み取り値を何らかの用途に使うかどうかは、センサー単体ではなく、キーボード独自の電子回路とファームウェアに左右されます。

調整済みのストロークから操作範囲へ

キーボードが変化する値を読み取れるようになっても、ソフトウェアはその生の読み取り値を使用可能なものに変換する必要があります。ソフトウェアはキーを離した位置と完全に押し込んだ位置を特定し、その間のすべてを0%から100%の範囲にマッピングします。これらのパーセンテージはソフトウェアでキャリブレーションされたエンドポイントであり、磁石やセンサーの生の電気的特性ではありません。このマッピングがあっても、ゲーム自体が通常のキーイベントではなく可変軸を受け入れない限り、ゲームはその値に反応しません。検知、マッピング、ゲーム側の受け入れは3つの別々の条件であり、深さに基づくアナログWASD操作を理論ではなく現実のものにするには、3つすべてが満たされる必要があります。

!ホールエフェクトスイッチの図。磁石の位置、センサー素子、そこから生じるストローク信号を示します。

ATTACK SHARK X68 HE Rapid Trigger Keyboard Magnetic Switch - ATTACK SHARK X68 HEキーボード、8000Hzポーリングレート、0.125ms応答

デジタルWASDとアナログWASD:レーシングゲームで何が変わるのか

デジタルWASDは、キーをどのように押しても単一のオン/オフイベントを送信します。一方、深さに基づくアナログWASDは可変値を送信できますが、キーボードがストロークをマッピングし、ゲームがその値を軸として読み取る場合に限られます。

入力モード ゲームが受け取るもの 実用上の結果と制限条件
デジタルWASD(スイッチの種類を問わない) キーが押された、または離されたイベント フルスピードのステップ応答。部分的なスロットルやステアリングの感覚は得られません。
深さに基づくアナログWASD 公開され、割り当てられている場合の可変軸値 より滑らかな部分的スロットルまたはステアリング操作。ただし、キーボードがストロークをマッピングし、ゲームがその軸を読み取る場合に限ります。

実用上の違いは、コーナー途中やスロットルの微調整時に現れます。デジタル入力では完全なオンまたは完全なオフの選択を迫られるため、より滑らかな操作には素早いタップ操作が必要です。アナログ入力では部分的な値を維持できるため、トレイルブレーキングや穏やかな加速に役立ちますが、対応しているゲーム内でのみ機能します。これはRapid Triggerとは異なる機能です。Rapid Triggerは、ゲームが可変値を受け取るかどうかではなく、キーの押下やリリースがどれだけ速く登録されるかを変える機能です。このrapid trigger mechanics記事では、そのアクティベーション速度の挙動を別途解説しています。

スロットルとステアリングのストロークカーブを設定する

ストロークカーブは次の順序で設定します。まず使用可能な範囲をキャリブレーションし、次に利用可能なデッドゾーンを設定してから、応答形状を調整します。キャリブレーションを省略すると、何度調整してもカーブがおかしく感じられることが最もよくあります。

まず使用可能なストロークをキャリブレーションする

  1. キーボードを接続し、対応する設定ソフトウェアを開きます。
  2. キーを離した位置を低いエンドポイントとして記録します。
  3. キーを完全に押し込み、ボトムアウト位置を高いエンドポイントとして記録します。
  4. ソフトウェアにそのオプションがある場合は、キャリブレーションを保存します。
  5. スロットルまたはステアリングに使用する各キーで、スイッチごとにストロークがわずかに異なる場合があるため、この手順を繰り返します。

後からレスポンスカーブを変更して、両端点の問題を直そうとしないでください。カーブはキャリブレーション済みの範囲を再形成するだけで、誤った範囲を修正することはできません。

対応している場合のみデッドゾーンとレスポンス形状を設定する

  • デッドゾーンは、キーを離した位置またはボトムアウト位置の直後に発生する意図しない動きだけを取り除くために、少しだけ追加します。すべての設定で必要な初期手順として追加するものではありません。
  • まずはニュートラルまたはリニアカーブから始め、後の変更による効果を明確に確認できるようにします。
  • 設定は一度に1つだけ変更し、同じキー操作を繰り返して、公平に結果を比較します。

キーが移動するにつれて磁場の強さは完全な直線状には変化しないため、ソフトウェアで補正しない場合、移動量からパーセンテージへのマッピングは非線形になります。これが、キャリブレーションとカーブ調整を1回の調整ではなく、別々の手順として行う理由の1つです。

!キャリブレーション済みの両端点とレスポンスカーブのグラフを表示した、キーボードソフトウェアの移動量カーブエディターのスクリーンショット用プレースホルダー

スロットルとステアリングを別々の操作として調整する

スロットルでは、加速を部分的に制御でき、アクセルを戻したときに予測どおりゼロへ戻ることが重要です。ステアリングでは、中央付近で扱いやすい反応になるようにします。中央の感度が高すぎると、小さな修正操作でも反応が過敏になるためです。すべてのドライバーやゲームに最適な単一のカーブ形状はありません。適切な設定は、タイトルのハンドリングモデル、運転スタイル、そしてキーボードソフトウェアで実際に利用できるカーブ制御によって異なります。スロットルとステアリングは個別に調整してください。加速制御に役立つ変更が、ステアリングの感触を悪化させることがあり、その逆もあるためです。

レーシングシミュレーターでアナログ軸を割り当てて確認する

信号は、キーボードソフトウェア、入力レイヤー、ゲーム本体の3か所で、この順番に確認します。キー押下テストが成功しても、アナログ出力が証明されるわけではありません。

キーボード側の信号を確認する

  1. キーボードの設定ソフトウェアを開き、単なる作動インジケーターではなく、移動量の変化が表示されるか確認します。
  2. 関連する設定が保存されているアクティブなプロファイルまたはモードが選択されていることを確認します。
  3. 変数の読み取り値がまったく表示されない場合は、ここで止めてください。ゲームの設定に触れる前に、キーボード側の設定を解決します。

入力レイヤーの軸を確認する

  1. 入力モニターまたはテストユーティリティを開き、単なるキー押下フラグではなく、認識された軸を探します。
  2. キーを移動範囲の途中まで動かし、軸の値が連続的に変化するか確認します。
  3. 完全に離した状態と完全に押し込んだ状態で、軸が想定される両端値に達することを確認します。

Windowsは入力レイヤーで、ステアリング、アクセル、スロットルを定義済みのシミュレーション軸の用途として認識しますが、その定義によって特定のキーボードやゲームで使用できることが保証されるわけではありません。これは、テスト時に正しく公開された軸がどのように見えるべきかを示すだけです。

ゲームのバインドを確認する

ゲームの操作設定を開き、ゲームに通常のキー割り当てではなくそのオプションがある場合にのみ、スロットル、ブレーキ、ステアリングなどの該当する軸をバインドしてください。ゲーム内の反応を確認しながら、途中までのストローク、完全なストローク、完全なリリースをテストします。反応が連続的に変化するなら経路全体が機能しています。2つの状態の間で切り替わるだけなら、キーボードソフトウェアに何が表示されていても、ゲームは入力を通常のキーとして読み取っています。

ATTACK SHARK X68 HE Rapid Triggerキーボード マグネティックスイッチ - RGBバックライト搭載ATTACK SHARK X68 HEキーボード

壊れているレイヤーを特定してオン/オフ動作をトラブルシューティングする

これらの確認を順番に行い、症状に一致する最初の分岐で止めてください。後の分岐は、前の分岐をすでに通過していることを前提としています。

  1. キーボードソフトウェアで深さが変化しない場合は、キャリブレーション、アクティブなプロファイル、物理接続、そしてソフトウェアがそのキーの可変出力に実際に対応しているかを確認してください。これはキーボード側の問題であり、ゲームの問題ではないため、まだゲーム内のバインドには触れないでください。
  2. ソフトウェアでは深さが表示されるのに入力レイヤーに軸がない場合、問題の境界はキーボードのファームウェアまたは出力モードにある可能性が高いです。キーボードによっては内部で深さを報告していても、オペレーティングシステムには標準的なキーイベントしか送信しません。
  3. 入力レイヤーには軸が存在するのに、ゲームが二値的に反応する場合は、その操作に軸のバインドが用意されているか、また現在のバインドが軸ではなくキーに設定されていないかを確認してください。
  4. 軸が存在してバインドも済んでいるのに操作感がおかしい場合は、関係のないキーボード機能を変更するのではなく、キャリブレーションのエンドポイントとカーブ設定に戻って確認してください。この段階での操作感の問題は、ほとんどの場合、範囲またはカーブの問題です。

よくある質問

アナログスロットルやステアリングを使うには、Rapid Triggerが必要ですか?

いいえ。Rapid Triggerとアナログ軸出力は別々の機能です。Rapid Triggerは、固定されたしきい値ではなく、物理的なリリース距離に基づいてキーの作動を動的にリセットします。アナログ出力には、スイッチの押し込み深さを連続的に追跡する機能、ストロークを連続値に変換するキーボードのファームウェア、可変ジョイスティック軸またはゲームパッド軸を受け付けるゲームが必要です。

レーシングゲームでアナログスイッチがオン/オフキーとして認識されるのはなぜですか?

ほとんどのシミュレーターは、入力がコントローラーまたはジョイスティックのバインドを通じて割り当てられていない限り、標準的なキーボードのキー押下イベントをデフォルトにします。キーボードのファームウェアがXInputまたはDirectInputのゲームパッド軸をエミュレートしていない場合、またはゲームの操作メニューでキーがキーボードボタンとして割り当てられている場合、シミュレーターは信号を二値として扱います。

スロットルが早すぎる段階で作動する場合、デッドゾーンを修正するにはどうすればよいですか?

キーボードソフトウェアでスイッチのエンドポイントを再調整し、初期の上側デッドゾーンを追加してください。適度なデッドゾーンを設定すると、意図的なキーのストロークが始まる前に、指を置いたときの圧力やスプリングのわずかなばらつきが誤ったスロットル入力として認識されるのを防げます。

もっと読む