Joy Control
Joy Control - シミュレーションゲーム用の正確なゲームパッド制御ツール
⬇ JoyControl.rar (15 MB) ⬇ JoyControl-JA.pdf (964 KB)ENGI Live JoyControlは、Windows向けのソフトウェアで、コントローラーとゲームの間に接続して動作します。このプログラムは、DualShock 4、DualSense、Xbox(XInput)、ステアリングホイールやジョイスティック(HID/DirectInput)、そしてキーボードからの入力を読み取ります。プログラムはこれらの信号を処理し、ViGEmBusドライバを通じて、ゲームに対してXbox 360の仮想コントローラーの信号を送信します。
このプログラムはゲームプレイ中にバックグラウンドで動作します。ゲームは通常の標準的なコントローラーとして認識するため、設定はあらゆるシミュレーションゲームで有効です。MODの導入は不要で、ゲーム開発者からのサポートも必要ありません。また、ゲームファイルは変更されません。
このプログラムの目的はただ一つ。ゲームコントローラーのトリガーの移動距離は約2cm、一方、車のアクセルペダルの移動距離は約10cmです。ジョイスティックの移動距離は1.5cm、ステアリングホイールの回転角度は半回転です。そのため、ゲームコントローラーではアクセルとブレーキの調整が非常に難しいのです。指が0%から100%までの全範囲を50~80ミリ秒という非常に短い時間で移動するため、車はスリップしたり、タイヤがロックしたりしてしまいます。Joy Controlは、このプログラムによって、操作にかかる距離を再現します。このプログラムは、単なる画像ではなく、実際の時間と反応の形状を反映しています。
信号処理の仕組み
各入力値は、一連の処理を経て、独自のコントローラーとして出力されます。
- デッドゾーン。 このプログラムでは、閾値以下のすべての生データはゼロとして扱われるため、ノイズや摩耗はゲームに影響を与えません。
- トリガー同士の相互作用。あるトリガーの値から、別のトリガーの値を乗数で調整した値を減算します。
- 感度曲線。 これは、応答の形状を決定します。滑らかな開始か、急激な変化か、といった違いを示します。
- 閾値と出力制限。 「最小」以下の値はゼロになり、「最大」の値は出力の上限を規定します。それ以外の値は、利用可能な範囲全体にわたって分布します。
- スムーズネス調整領域。 これらは、ボタンの押下時と離す時の速度変化をミリ秒/単位で設定するもので、それぞれ個別に調整できます。
- マクロとアクションの割り当て。 あるコントロール要素が、別のコントロール要素に影響を与えます。
- Xbox 360の仮想ゲームパッド。処理結果はゲームに直接反映されます。
コントローラーの読み取りは、約120~125Hzの頻度で行われます。すべての遅延は、高精度なタイマーを使用して計算され、経過時間を累積するため、0.1ミリ秒のステップも、フレーム間の読み取り間隔に関わらず正確に処理されます。
このプログラムの機能
- あらゆる入力デバイスに対応。 PS4とPS5は自動的に認識され、XboxはXInput経由で接続されます。ステアリングホイールやジョイスティックはHIDおよびDirectInputで動作し、キーボードはゲームパッドの代わりに使用できます。ジョイスティックはいくつでも接続可能です。それぞれに固有のIDと設定があるため、同じ種類のジョイスティックを2つ接続しても、個別に設定が可能です。
- トリガーの独立した設定。 ブレーキとアクセルは、それぞれ個別に設定でき、両方をまとめて調整するスライダーのようなものはありません。
- 最大10個の滑らかな移行区間を設定可能。 移行区間は、0から255の範囲で設定され、それぞれボタンを押す時と離す時の値が個別に設定されます。各区間の遅延時間は、1単位あたり0.1ミリ秒から1000ミリ秒の範囲で調整可能です。
- 感度調整カーブ。トリガーの場合は、-20から+20の範囲で調整できます。各スティック軸の場合は、-10から+10の範囲で調整できます。
- スティックの完全なカスタマイズ。 内部デッドゾーン、外部デッドゾーン、X軸およびY軸の範囲制限、最大ストロークまでの拡張、およびX軸方向の強制最大値の設定が可能です。
- マクロ機能。 「追従」「保持」「パルス」「トグル」「ターボ」「無効」「シーケンス」といったモードがあります。「シーケンス」モードでは、最大16ステップまでの操作を、タイミングを設定して連動させることができます。各ルールには、ボタン、トリガー、スティックなど、最大4つの条件を設定できます。例えば、「L1ボタンが押され、L2ボタンが半分だけ押された」という組み合わせも、1つのルールで設定できます。また、条件の優先順位、遅延時間(マイクロ秒単位)、および組み合わせ方(大きい方を採用、置き換え、または加算など)を設定でき、他のマクロと組み合わせることも可能です。さらに、あるルールの結果が、別のルールを起動させることもできます。
- アクション割り当て:任意の入力と任意の出力を関連付け、作動閾値、保持条件、および入力前後の遅延時間を設定できます。
- リアルタイムオシロスコープ。 グラフには、過去3秒間のデータが表示されており、グレーの部分がコントローラーからの生データ、カラーステージがゲームに反映されるデータを示しています。 設定が視覚的に確認できるため、推測する必要がありません。
- インタラクティブなゲームコントローラーの画像。 トリガー、スティック、ボタン、またはタッチパッドをクリックすると、それぞれの設定画面が開きます。
- プロファイル。 設定はローカルのSQLiteデータベースに保存されます。各プロファイルには、一意の16桁のコードが割り当てられており、ファイルとのデータ交換はJSON形式で行われます。各ゲームごとに個別のプロファイルを作成すると便利です。各ジョイスティックの設定は、個別のファイルに保存され、どのプロファイルのどのジョイスティックにも読み込むことができます。
- インターフェースは14の言語に対応しています。 このプログラムは、単一の実行ファイルで構成されており、インストールは不要です。
- 自動保存。 変更内容は即座に適用され保存されるため、ゲームを中断することなく設定を変更できます。
シミュレーションゲームにおいて、なぜこれが優れているのか
通常のボタン再マッピングプログラムは、応答の形状(カーブ)のみを変更します。一方、Joy Controlは、応答速度も変更します。具体的には、各動作範囲における出力が目標値に到達するまでのミリ秒数を調整できます。これは、全く異なるレベルの制御であり、ゲームパッドを使用したシミュレーションでよく発生する問題を解決する上で非常に重要です。
- アクセルを踏むと、車が急にスリップすることはありません。 指がトリガーに触れた瞬間、出力が徐々に増加し、車はまるでアクセルペダルをゆっくりと踏み込んでいるかのように、滑らかに加速します。
- 制動は、ロック寸前まで調整されます。 最初の30%の行程は速く、反応は瞬時ですが、最後の30%は遅くなります。 停止直前では、タイヤのロックがかかる限界点に達することがあり、これは指で操作するだけでは再現できません。
- トリガーの解除は、操作ボタンの押下とは独立して設定されます。 このアクセルペダルやブレーキペダルでは、踏み込む速度と異なる速度で解除されます。 コーナー進入時のブレーキの緩やかな解除や、上り坂でのアクセルの滑らかな解除は、それぞれ個別に調整可能です。
- スムーズな動作は、緊急時の操作を妨げません。 個別の設定項目で、極端な位置での遅延を無効にすることができます。トリガーを完全に解放すると、ブレーキは瞬時に解除されます。
- ハンドルに慣性が発生します。 ジョイスティックを急に動かしても、タイヤがすぐに回転するわけではありません。これは、ジョイスティックが動作範囲の制限と、中央に戻る際の緩衝があるためです。
- 操作精度が向上します。 X軸の移動範囲を制限することで、スティックを最大限に動かしても、回転角度は60~70%程度になります。しかし、指で操作する距離は同じでも、操作精度が約2倍に向上します。
- すべてのゲームで、動作は同じです。 処理はゲーム開始前に、仮想コントローラーのレベルで行われるため、ゲーム内の設定やMODは不要です。
- 左足はブレーキの上に置いたままにします。 あるトリガーから別のトリガーを減算すると、アクセルとブレーキが競合する状態を再現できます。または、アクセルを離さずにわずかにブレーキをかけることも可能です。
アクセルとブレーキの設定
左トリガー(L2 / LT)はブレーキ、右トリガー(R2 / RT)はアクセルです。それぞれ個別のウィンドウで設定でき、すべてのパラメータは独立しています。
| パラメータ | 設定ごとプロファイルを削除します | シミュレーションでの設定方法 |
|---|---|---|
| デッドゾーン | 設定値が規定の閾値よりも低い場合、ゼロとみなされます。 | 新しいゲームパッドでは、デッドゾーンを3~8の単位に設定します。摩耗してアクセルが勝手に動き出すトリガーの場合は、デッドゾーンを10~15の単位に上げる必要があります。 |
| 最小値と最大値 | 「最小」は入力の閾値です。この値よりも低い入力はゼロとみなされ、残りの入力範囲は0~255の範囲でマッピングされます。「最大」は出力の上限値を設定します。 | 「最小」設定は、摩耗したトリガーのガタつきを解消し、ストロークの長さを短くしません。 ドリフトに適した車両や、強力な後輪駆動車の場合、「最大」設定を255単位のうち190~210にすると、フルスロットルが利用できなくなります。 |
| 感度曲線 | 応答特性を-20から+20の範囲で調整できます。 マイナス値にすると、滑らかなスタートと初期段階での正確性が向上し、プラス値にすると、急激な加速が得られます。 | アクセルの場合、カーブのレベルは-6から-10の範囲で設定し、ブレーキの場合は-3から-6の範囲で設定します。 プラスの値は、ボタン式のパーキングブレーキなど、特殊な場合にのみ使用されます。 |
| 押下箇所 | 0から255までの範囲で、最大10個の区間を設定でき、各区間ごとにミリ秒単位で遅延時間を設定できます。 区間外では値が瞬時に変化しますが、区間の境界では遅延時間が累積されます。 | 目安としては、255単位で1ミリ秒の遅延時間とすると、全体のストロークで約0.26秒の遅延が発生します。 アクセルの場合、1単位あたり0.3~2ミリ秒、ブレーキの場合は1単位あたり0.5~3ミリ秒の遅延時間を設定します。 |
| 休暇取得区間 | 値が減少する際の、個別の区間を設定できます。 | 通常、アクセルペダルを離す速度は、踏む速度よりも速いです。単位あたり0.5~1ミリ秒の差があります。コーナーでのスムーズなブレーキングを行う場合、遅延時間を大きくすることで、ブレーキの解除を緩やかにします。 |
| 瞬間的なゼロ値と瞬間的な最大値 | トリガーが完全に離されたり、完全に踏まれたりすると、スムーズな動作は停止します。 | ブレーキは、緊急ブレーキのために有効になります。アクセルは、通常、無効になります。 |
| トリガーの減算と乗数 | ブレーキは、アクセルを弱めたり、その逆も同様に、設定された係数で調整します。 | 0.5~1.0の係数は、左足でのブレーキ操作や、アクセルを踏み込む操作を再現します。 |
プリセットされたトリガー設定
| プリセット名 | 動作 | 説明 | 用途 |
|---|---|---|---|
| 滑らかな制動 | 0–80: 0,5 · 80–180: 1,5 · 180–255: 3,0 | 120–255: 1,0 · 0–120: 0,5 | リングレースや、ロック寸前でのアクセルコントロール。 |
| 滑らかなガス | 0–60: 0,3 · 60–200: 1,0 · 200–255: 2,0 | 0–255: 0,8 | 後輪駆動車での、スリップさせずにコーナーを脱出する。 |
| ABSとは | 0–128: 0,2 · 128–255: 2,5 | 瞬時に | 急激な制動開始と、徐々に加わるブレーキ圧。 |
| どうですか | 0–128: 2,5 · 128–255: 0,2 | 瞬時に | スタート時のトルク供給は緩やかで、高回転域では自由になる設定。 |
表に記載されている数値は、1つの出力単位あたりの遅延時間で、ミリ秒単位です。プリセットは初期設定であり、そこから個々の車両に合わせて調整を行い、オシロスコープで確認します。オシロスコープでは、灰色の線が入力信号、カラースケールで表示される線が出力信号を示します。
スティックの調整
自動車シミュレーターでは、左スティックがハンドルとして機能し、右スティックが視界やカメラを操作します。各スティックについて、感度(デッドゾーン)、範囲、カーブ、および各軸(X軸とY軸)ごとの滑らかさを個別に調整できます。
| パラメータ | 設定ごとプロファイルを削除します | シミュレーションでの設定方法 |
|---|---|---|
| 内部の電波が届かないエリア | 中央でのドリフトを軽減します。 | 新品のスティックでは3〜6%、摩耗したスティックでは8〜12%の調整が必要です。数値が小さいほど、車両の直進安定性が向上します。 |
| 外部デッドゾーン | 端をカットするため、最大値はストロークの少し手前で到達します。 | 全周、対角線を含むすべての範囲で、完全な回転が機能するように、92%から97%の範囲で設定します。 |
| 軸方向の最大範囲 | X軸またはY軸の出力角度を制限します。 | これは主要な操作方法です。X軸で60%から75%に設定すると、ハンドルが最大回転しないようになり、精度が大幅に向上します。 |
| 完全な可動域までのストレッチ | エッジ部分をトリミングした後、信号を最大値まで再び拡大します。 | 広い視野角が必要な場合に、フルレンジを使用するために有効にします。 |
| 軸方向の感度 | -10から+10の範囲でカーブを設定します。マイナスにすると、中心が広がり、反応が滑らかになります。プラスにすると、反応が鋭くなります。 | 操縦操作の場合、X軸のカーブレベルは-4から-7の範囲が推奨されます。視界を広げるための右スティックは、+2から+4の範囲が推奨され、素早く頭を回転させることができます。 |
| 逸脱箇所 | 中心からの滑らかな動きを設定します。振幅は0から255の範囲で、これが中心からの最大移動量です。各範囲には、X軸とY軸のフラグが設定されています。 | 操縦操作には、0~60の遅延設定が適しています。具体的には、0.4ミリ秒で60、1.2ミリ秒で160、2.5ミリ秒で255という設定が推奨されます。スティックは、中心付近では素早く反応しますが、最大回転付近では反応が鈍くなります。 |
| 返却場所 | スムーズなセンターへの復帰を実現します。 | 全範囲で、1ユニットあたり0.5~0.8ミリ秒の遅延を設けることで、ホイールの自己復帰をシミュレートします。カメラの場合は、偏位よりも復帰が速く行われます。 |
| 軸方向の最大値 | いずれの軸においても、指定された範囲内で最大値を出力します。 | アーケードゲームや、デジタル操作が必要なゲームに適しています。 |
| スティックの完全な無効化 | スティックの入力はゲームに送られませんが、マクロ機能は引き続き動作します。 | ハンドルで操作し、スティックをマクロの入力源としてのみ使用する場合に便利です。 |
X軸とY軸は、まとめてまたは個別に設定できます。各軸には「X」と「Y」のフラグがあり、重なる領域では遅延が加算されます。設定画面の横には、-255から+255までの範囲を表示するオシロスコープが用意されており、スティックを動かすと、出力が指の動きにどれだけ遅れているかを確認できます。
動作に必要なもの:
- Windows 10または11 (x64版)。
- ViGEmBusドライバ バージョン1.22.0。プログラムがドライバの有無を確認し、ワンクリックでインストールを提案します。
- ケーブル、アダプター、またはBluetooth経由で接続可能なコントローラー。
このプログラムは、1回の起動につき20分間の試用期間で利用できます。フル機能を利用するには、engi.liveの無期限ライセンスが必要です。
画像付きの取扱説明書:各ボタンの場所
以下に、プログラムのすべてのウィンドウについて、スクリーンショット付きで段階的に説明します。この取扱説明書は、ページ上部のボタンからPDF形式でダウンロードできます。
1. ドライバ:ViGEmBus および HidHide
- ViGEmBusは、仮想ゲームパッドのドライバです。これがないと、プログラムはXboxコントローラーを認識しません。ウィンドウの下部にあるステータスバーに「ViGEmBus ドライバ:OK」と表示されているはずです。もし表示されていない場合は、同じ場所にインストールボタンが表示されます。
- HidHide は必須ではありません。必要なのは、ゲームが実際のゲームパッドと仮想ゲームパッドの両方を同時に認識し、キャラクターが重複して表示される場合のみです。詳細は15章をご覧ください。
2. メイン画面

- 上部パネル:プロファイルの選択、プロファイル設定...、プロフィールの全体的な保存と読み込み、アクションの割り当て、初期設定に戻す、インターフェースの言語設定。
- 左側には入力デバイスが表示されます。 プロファイルに登録されたすべてのジョイスティック、それぞれのID、チェックボックス、およびグループ操作が表示されます。
- 右側の画像は、コントローラーの入力状況を示しています。 選択されたコントローラーがゲームに送信している情報をリアルタイムで表示します。 画像内の要素をクリックすると、 トリガー、スティック、またはボタンの設定画面が開きます。
- 画像の下には、選択されたジョイスティックの「マクロ」が配置されています。それぞれのアイコンは1つのルールを表しており、クリックするとそのルールの詳細が表示されます。
3. 複数のジョイスティックと、それぞれのID
このプログラムは、任意の数のジョイスティックに対応しています。 各ジョイスティックには、固定されたID(識別子)が割り当てられます。 Bluetoothコントローラーの場合、そのIDはMACアドレスであり、同じモデルのDualShockでも、異なるIDを持つ場合があります。 プログラムは、接続時にジョイスティックのIDを自動的に認識し、設定を読み込みます。 たとえ、別のUSBポートに接続した場合でも、設定は維持されます。

| 行項目 | 設定ごとプロファイルを削除します |
|---|---|
| × | 最初のチェックボックス |
| 2番目のチェックボックス | 動作: ジョイスティックを使用すると、仮想のXboxコントローラーが作成されます。 |
| 名前 | 選択済み: グループ作戦に参加します。 |
| クリック:このジョイスティックの設定を行います。ダブルクリック:名前を変更します | クリック:IDをクリップボードにコピーします。 |
| ID | IDのコピーを確認します。 |

プロファイルは、すべてのジョイスティックと、それぞれの設定を含む完全なセットです。 プロファイルはいくつでも作成でき、例えば、異なるゲームごとに使用できます
- 選択中の設定を適用:選択された(▶)ジョイスティックの設定を、チェックボックスが付いたすべてのジョイスティックにコピーします。
- すべて選択 / すべて解除 - チェックボックスを素早く設定できます。
- ジョイスティック設定 → ファイル:ジョイスティックの設定を.joy.jsonという別のファイルに保存します。
- ファイル → ジョイスティック:ファイルから設定を読み込み、選択されたジョイスティックにのみ適用します。他のジョイスティックも選択されている場合、プログラムはそれらすべてに適用するかどうかを尋ねます。通常のプロファイルファイルも使用できます。ファイルに複数のジョイスティックの設定が含まれている場合、プログラムはどのジョイスティックの設定を使用するかを選択させます。
4. プロファイルとファイル
プロファイルウィンドウ:各プロファイルには、ジョイスティックの数が表示され、その下に、選択されたプロファイルに含まれるジョイスティックとそのIDが表示されます。

- 有効化、新規作成、複製、名前変更、削除 - プロフィール管理。
- ファイルに保存... / ファイルから読み込み... - プロファイル全体を対象とします。
- 「ジョイスティック設定」ブロック:特定のジョイスティックのファイルを設定プロファイルに保存したり、プロファイルから読み込んだり、また、プロファイルから削除したりすることができます。これは、アクティブなプロファイルだけでなく、非アクティブなプロファイルにも適用されます。
- ○:ジョイスティックはまだ設定されておらず、プロファイルの共通設定を使用しています。
5. L2/R2トリガー

| 設定方法 | 動作原理 |
|---|---|
| 最小 | 入力閾値:閾値以下の値は0となり、残りの範囲は0~255の全範囲に引き伸ばされます。例:最小値を10に設定すると、ノイズが軽減されますが、トリガーの最大値は依然として全開の状態になります。 |
| 最大値 | 出力上限:ゲームは、この設定値以上の値を受け取りません。 |
| デッドゾーン | 閾値以下の生の数値は、引き伸ばしなしで0に変換されます。 |
| 曲線 | -20:滑らかな起動、初期段階での正確な制御。+20:鋭い反応。 |
| 即座に、または最大値に | トリガーを完全に離した状態または完全に押し込んだ状態では、遅延なしで反応します。 |
| R2からL2を引く | レース用設定:ブレーキはアクセルを弱め、倍率が力を決定します。逆の動作も可能です。 |
| 押下 / 離す | 滑らかな変化領域:選択されたトリガーの範囲において、値は瞬時にではなく、1単位ごとにミリ秒単位の遅延を伴って増加または減少します。最大10個の領域を設定でき、領域は重ねて使用できます。 |
6. スティックとドリフト

- リマップ/カスタムデッドゾーンを有効にする:これが主要なチェックボックスです。このチェックボックスをオフにすると、デッドゾーンの設定は適用されません。
- 内部デッドゾーン:スティックの中心部分でのドリフトを抑制します。通常、8~15%の範囲です。
- 外側のデッドゾーン:スティックが最大限に押し込まれた状態を示す範囲。
- X軸/Y軸の最大範囲、拡大、常に最大 - 各軸の移動範囲を制限または拡大します。
- X軸/Y軸の感度:応答曲線。
- オフセット/リターン:トリガーと同様の滑らかな曲線部分。各曲線部分には、X軸とY軸のチェックボックスがあり、それぞれがどの軸に影響を与えるかを示しています。
7. マクロ:基本
マクロは、「ソースの状態 → 別の要素に対するアクション」というルールを定義します。ソースには、以下のようなものが含まれます:
- 動作範囲 またはトリガー:マクロは、その範囲内の値が存在する限り、動作を続けます。
- ボタン:このマクロは、ボタンが押されている間、動作を続けます(第11章)。
マクロは、接合部またはトリガー領域に適用されます
- スティックまたはトリガーのウィンドウを開き、領域を作成してください。
- 区号をクリックしてください。 (1 +)
- 画像が表示されたら、ターゲットをクリックしてください。ターゲットは、ボタン、トリガー、またはスティックのいずれかです。スティックの場合は、その後、方向を選択してください。


すべてのルール設定項目

| パラメータ | 意味 |
|---|---|
| 目的 | このマクロが作用する対象となる要素はどれですか? |
| モード | 目標オブジェクトの状態について(第8節) |
| スティック方向 | スティック入力の場合:上/右、または下/左のいずれか。 |
| 出力範囲 / 開始値 | 目標値がどのような値になるか。リバース(逆転)の場合、供給源が増加し、目標値が減少します。 |
| 物理入力との組み合わせ | 大きい方; 物理入力の置き換え; 「加算」機能:物理的な入力に加えて、同じ優先順位と「加算」モードに設定された他のマクロも同時に実行されます。 |
| 優先順位 | 複数のマクロが同じ目標オブジェクトに適用される場合、より大きい値を持つマクロが優先されます。値が同じ場合は、「オフ」が最も優先されます。 |
| 遅延 | アクティブ化と非アクティブ化の時間はマイクロ秒単位で指定します。10,000 = 10ミリ秒。アクティブ化状態は、指定された時間、入力が維持される必要があります。 |
8. マクロモード
| モード | 設定ごとプロファイルを削除します | 例 |
|---|---|---|
| 従う | 目標オブジェクトが入力オブジェクトを模倣する場合:入力オブジェクトの範囲が、目標オブジェクトの出力範囲に変換されます。これは、スティック入力またはトリガー入力の場合にのみ適用されます。 | スティックを前方にゆっくりと押すと、徐々に加速します。 |
| 保持する | ソースがアクティブな間、ターゲットが「出力まで」という値で押されています。 | L1がL2を固定しています。 |
| パルス | 目標値が設定された範囲に入ると、指定された時間内に一度だけボタンが押されます。 | スティックを急激に傾けた際に、ボタンAを短く押すと、特定の動作が実行されます。 |
| トグル (トグルスイッチ) | 各入力は、特定の機能をオンまたはオフにします。 | ボタン一つでしゃがみ、もう一つ押すと立ち上がります。 |
| ターボ | ソースがアクティブな間、ボタンが設定された周期で押され、そして離されます。 | 自動発火。 |
| 無効にする | 物理的にボタンを押しても、その機能はブロックされています。これは、スティック全体にも適用されます。 | L2ボタンが押されている間、スティックの機能を停止します。 |
| シーケンス (シーケン ス) | 手順の連鎖:要素、値、保持時間、一時停止 - 第10章。 | ワンボタンコンボ攻撃。 |
9. 組み合わせ:設定条件
この設定は、「2つ以上の要素が同時に選択された場合、どうすればよいか」という問いに答えるものです。マクロは、すべての条件が満たされた場合にのみ実行されます。条件としては、以下のようなものが考えられます。
- ボタン - ボタンが押されています。
- トリガーまたはスティック:その値が特定の範囲に入った場合、例えば「L2ボタンが半分の深さ以上に入った:128~255」など。
- チェックボックスがオンになっていない場合、または値が指定範囲外の場合、そのボタンは押されていないか、または値が範囲外であることを示します。
一つのルールにつき、最大4つの条件を設定できます。

10. シーケンス
一つの動作は、時間軸に沿った一連の操作で構成されます。 各ステップは、要素、値(ボタンの場合は0より大きい値であれば押されたとみなされます)、保持時間、およびその後の停止時間で定義されます。 最大16ステップまで設定可能です。 チェックボックス「繰り返す」にチェックを入れると、設定された条件が満たされている限り、この一連の操作が繰り返されます。


11. ボタンマクロ

- + マクロ(コントローラーで選択):ルールを追加し、対象を選択します。
- ボタンを完全に無効にする:この設定では、ボタン自体がゲームに認識されなくなりますが、ボタンに割り当てられたマクロ機能は引き続き動作します。これにより、ボタン全体を別の機能に再割り当てすることができます。
- すべてのモード、条件、およびシーケンスは、スティックやトリガーと同様に動作します。
12. すべてのマクロと連携

- オン/オフ、優先順位、⚙、および×ボタンは、テーブル内で直接設定できます。ソースをクリックすると、その設定ウィンドウが開きます。
- 赤色で強調されているのは、競合関係です。これは、同じターゲットに対して、同じ優先順位を持つ2つのマクロが同時に実行され、どちらが先に完了するか不明な状況を示しています。
- すべてのマクロを削除:最初からやり直します。
- マクロを連結する:あるルールの結果が、別のルールの入力元となる機能です。例えば、「× → L2」と「L2の範囲 → R1」というルールを組み合わせると、×ボタンを押すだけで、この一連の動作が連続して実行されます。デフォルトでは無効になっており、これにより、既存のプロファイルは以前と同じように動作します。この機能の適用回数は最大3回までと制限されており、無限ループは発生しません。
マクロの設定は、画像で示されているように行います
- 緑色の線は、起点から目標地点まで伸びています。線の連続は、各要素へとつながっており、#1、#2、#3というラベルは、それぞれのステップ番号を示しています。
- 要素の下にある線:0~255の範囲を示す。送信側(ソース)の緑色の線は、動作範囲を示し、受信側(ターゲット)のオレンジ色の線は、出力範囲を示します。
- 緑色の点:この要素にはマクロが設定されています。
13. アクション割り当て
「入力 → 出力」の単純な再割り当ては、閾値、保持時間、およびタイミングを設定でき、これはプロファイル全体で共通の設定です。

14. プリセットレシピ
ジョイスティックのドリフトを解消する
スティック → リマップ / カスタムデッドゾーンを有効にする → デッドゾーンを内部的に10~12%に設定します。 ライブグラフで確認してください。 静止状態では、出力線がゼロに位置している必要があります。トリガーのチャタリングを解消し、フルストロークを維持する
トリガー値 → 最小値 = 5~10。 これよりも小さい値はゼロになり、残りの値は255まで伸びます。レースゲーム向けの滑らかなアクセル操作
R2 → 0~255の値をN分割(Nは整数) = 3。 "押下"ブロックにおいて、最初の区間で1~3ミリ秒の遅延が発生します。 正確な動作開始のために、-5~-10のカーブを使用します。 必要に応じて、R2からL2を減算できます。2つのボタンの組み合わせ:L1 + × → R2
「×」ボタン → 「マクロ」設定 → R2ボタン、モードを「保持」に設定 → ⚙ → 条件を「L1」に設定。 L1ボタンが押されていない場合、「×」ボタンは通常通りに動作します。1つのボタンで連続攻撃
ボタン → マクロ → ⚙ → モード: シーケンス → ステップ数: × → □ → △ (それぞれ60/60ミリ秒)。連続実行の場合は、繰り返すを選択。自動発射機能
R1ボタン → R2マクロ → ターボモード → 80~120ミリ秒の期間。2人のプレイヤーが2つのコントローラーを使用
両方のデバイスを接続します。それぞれのデバイスが、IDとともにリストに表示されます。 最初のデバイスの設定を行い、2番目のデバイスをチェックボックスで「選択」状態にし、「選択中に適用」ボタンをクリックします。 その後、それぞれのデバイスを個別に設定します。設定を新しいジョイスティックに転送する
古いジョイスティック → ジョイスティック → ファイル. 新しいジョイスティックは、名前をクリックすると → ファイル → ジョイスティック となります。15. もし動作しない場合
| 症状 | 原因と解決策 |
|---|---|
| 修正が「機能しない」 | おそらく、設定がオフになっているジョイスティックが原因です。 "設定中" と表示されている行がオレンジ色になっているはずです。接続されているジョイスティックの名前をクリックしてください。 |
| トリガーが勝手に反応する | ジョイスティックのマクロ設定で、このトリガーに関連する設定を確認してください。ジョイスティックのドリフトがマクロを起動している可能性があります。ジョイスティックのデッドゾーン(第6章)を設定するか、マクロのソース範囲を10以上に設定してください。 |
| ゲーム内でキャラクターが「二重になる」 | このゲームは、実際のコントローラーと仮想コントローラーの両方に対応しています。HidHideをインストールするには、アプリケーションタブで「+」をクリックし、JoyControl.exeを追加します。次に、デバイスタブで「ワイヤレスコントローラー」にチェックを入れ、コントローラーを再接続してください。重要なのは、まずプログラムを許可リストに追加し、その後でコントローラーを非表示にすることです。 |
| ゲームがゲームパッドを認識していない | ViGEmBusドライバを確認してください。ジョイスティックが正常に動作していることを示す「OK」と「動作中」のチェックマークが表示されているか確認してください。 |
| 5つ目のジョイスティックがゲーム内に表示されない | Windowsの制限:XInputはゲームに対して最大4つのゲームパッドしか認識しません。 |
| 2つ目のDualShockがBluetoothで接続できない | Bluetoothの設定から、古い "Wireless Controller" の設定を削除してください。ジョイスティックのリセットボタン(L2の裏側にある穴)にクリップなどを差し込み、リセットしてください。その後、ShareボタンとPSボタンを同時に長押しして、ペアリングモード(点滅が頻繁になる)に移行させてください。または、ケーブルで接続してみてください。 |
