飛行中に一時的に回転銃にマウス操作を割り当てられる方法

もどる

目次

1、概説
2、PPjoyのインストール
3、仮想ジョイスティックの作成
4、YSFLIGHT側のキー設定
5、PPJoyMouse、PPJoyKeyの設定
6、試験飛行
7、UWSCのインストール
8、UWSスクリプトの作成
9、UWSCランチメニューの設定
10、その他
11、おことわり

1、概説

 操縦者が操作可能な回転銃は、ジョイスティックを使用している場合、マウスで自由に操作することができます。
一方、ジョイスティックを持っていないため、マウスで操縦している場合は、キーボードで回転銃を動かしていると思います。
しかし、キーボードでは素早く正確な照準ができず、不便な思いがあるのではないでしょうか。

 無論、マウスに回転銃を割り当てることも可能なのですが、飛行中にその割り当てを変更する方法が無いため、
常にキーボードで操縦せねばならなくなり、やはり不便と言わざるを得ないのではないかと思います。

 そんな不便を解消するためには、飛行中に一時的に回転銃にマウスを割り当てられる方法があったらいいですね。
 このページでは、そんな方法のひとつを紹介したいと思います。

 ・・・その方法とは、「PPJoy」という、PC内に仮想ジョイスティックを作成し、コントロールするソフトを使う方法です。
仮想ジョイスティックでYSFLIGHTを操作するよう設定し、更にその仮想ジョイスティックの操作を、マウス及びキーボードから行うというものです。
なお、仮想ジョイスティックは、PC内に3つ必要になります。操作系統を簡単に図式にすると、次のようになります。


 操作系統を構築した上で、「UWSC」という作業自動化ソフトを使い、モードAとBを素早く切り替えられるようにします。
飛行中、YSFLIGHT側が割り当てを変えるわけではありませんが、ユーザー側からみれば、割り当てが変更されたかのような効果を得られます。

 なお、「モードA」「モードB」という用語は、以下の説明において頻繁に使っていくので、意味を覚えておいて下さい。
また、ラダーは従来通りに操作することとし、説明にあたってはエレベータとエルロンのみを合わせて「動翼」と呼ぶことにするので、ご注意ください。


2、PPJoyのインストール

 PPJoyの公式サイトは現在はありませんが、ダウンロード先はGoogle検索(ppjoy setup.zip)等で探せば簡単に見つかると思います。
私はバージョン0.83をダウンロードしたので、この先はそれを前提に解説します。

@ダウンロードしたzipを適当な場所に展開します。
A展開したフォルダ内のSetup.exeをクリックし、指示に従ってインストールを行いますが、
B後の作業の簡便化のため、「Choose Destination Location」と出てきたら、C:\Program Files\Parallel Port Joystickとすることをお勧めします。

→Bで指定したフォルダが、PPJoyのインストールフォルダということになります。
(インストールフォルダとは、プログラムの実行ファイル等が置かれた場所のことです。)

※Windows7の場合はインストールに少々コツがいるという情報があるので、こちらもWeb検索を活用して調べて下さい。

インストールが完了したら、スタートメニューにPPJoyが登録されていると思います。確認して下さい。


3、仮想ジョイスティックの作成

 PPJoyはそのままでは何もできません。まず仮想ジョイスティックを作成する必要があります。
まず、スタートメニュー→プログラム→Parallel Port Joystick→Configure Joysticksをクリックします。

「Add」→「Controller1」を選択→「Add」(※私は既に3つ追加済みなため、画像ではController4になってます)

「今回のみ接続」を選択。

「自動的にインストール」を選択。

こんな画面が出たら、「続行」を選択。

PPJoyのインストールフォルダにある「PPortJoy.sys」を選択→OK

仮想ジョイスティックは3つ必要なため、この作業を3回行って下さい。
ジョイスティックの番号は「Controller1」「Controller2」「Controller3」を順に選択して下さい。



4、YSFLIGHT側のキー設定

 仮想ジョイスティックから命令を受け取るためには、YSFLIGHT側のキー設定を適切に行わければなりません。
キー設定用ファイル(右クリックで保存)を、オプション→ジョイスティック/キー割り当て→読込から適用して下さい。
※適用する前に、普段使っているキー設定をあらかじめ保存しておくことを強く勧めます。

 参考までに、この設定は「マウスを操縦桿に適用」の初期設定から、次の点を変更したものです。

軸:
Ailron: JOY1 Axis1
Elevator: JOY1 Axis2
Rotating Turret Heading: JOY2 Axis1
Rotating Turret Pitch: JOY2 Axis2
ボタン:
Rotate Turret Left: JOY3 BTN1
Rotate Turret Right: JOY3 BTN2
Rotate Turret Up: JOY3 BTN3
Rotate Turret Down: JOY3 BTN4
キーボード:
仮想ジョイスティック経由の操作に使用するため、Up Arrow、Down Arrow、Left Arrow、Right Arrowの割り当てを外している。

 以降は、この設定ファイルをYSFLIGHTに適用していることを前提に説明を進めます。


5、PPJoyMouse、PPJoyKeyの設定

 マウスやキーボードから仮想ジョイスティックをコントロールするためには、PPJoyMouse.exeおよびPPJoyKey.exeを起動していることが必要です。
スタートメニュー→プログラム→Parallel Port Joystick もしくは、PPJoyのインストールフォルダから起動して下さい。
PPJoyMouseとPPJoyKeyのデフォルトの状態です。


モードAとモードBに対応した、設定用iniファイルを用意しています。
後の作業の簡便化のため、これらのファイルは、PPJoyのインストールフォルダに置くことをお勧めします。
モードA用iniファイル(右クリックで保存)
モードB用iniファイル(右クリックで保存)

 置いたら、そのiniファイルを、設定画面の「Load .ini」ボタンから読み込みます。
まずは、モードAに対応した「tehon_A.ini」を読み込みましょう。

PPJoyMouseとPPJoyKey双方でロード作業をしなければならないことに注意。
読み込めたら、次のような画面になります。


 お分かりの通り、上下左右キーから「仮想ジョイスティック3」の「ボタン1〜4」に、マウスから「仮想ジョイスティック1」の「XY軸」に命令を送っています。
ウィンドウを閉じると、仮想ジョイスティックに命令は送られなくなります。閉じずに試験飛行に移りましょう。


6、試験飛行

 PPJoyMouse及びPPJoyKeyが起動され、モードAを適用した状態で、YSFLIGHTで飛行してみて下さい。
マウスで動翼が操作でき、またキーボードの上下左右キーで回転銃が操作できると思います。

※うまくいかない場合、次の原因が考えられます。
1、PPJoyの仮想ジョイスティックを3つ作成できていない。→仮想ジョイスティックの作成を参照
2、PPJoyMouseとPPJoyKeyを起動し、正しい設定を適用できていない。→PPjoyMouse、PPjoyKeyの設定を参照
3、YSFLIGHTのキー設定を適用できていない。→YSFLIGHT側のキー設定を参照

 成功したら、今度はモードB用の設定を適用してみて下さい。
飛行を中断する必要も、PPJoyMouse及びPPJoyKeyを閉じる必要もありません。
tehon_B.iniをPPJoyKeyとPPJoyMouse双方にロードし直せばOKです。

モードBでは、モードAとは逆に、キーボードで動翼を、マウスで回転銃を操作できると思います。


↑YSFLIGHTのオプションで操縦桿を表示すると、現在の状態が分かり易くなるでしょう。
PPJoyを通さずに操縦する場合と比べて、操作感が若干違うと思いますが、それについては後ほど説明します。

 以上で、PPJoyによってYSFLIGHTを操作する環境が整いました。


7、UWSCのインストール

 飛行中にモードAとモードBを手動で切り替えようとすると、時間がかかることが分かったと思います。
「UWSC」は、スクリプトによって、このような作業を自動的に行うことのできるソフトです。
Google検索(UWSC)から、公式サイトを探して、ダウンロードして下さい。
私はバージョン4.9をダウンロードしたので、この先はそれを前提に解説を進めます。

インストールは、zipを適当な場所に展開するだけですが、
後の作業の簡便化のため、C:\Program Files\uwsc49をインストールフォルダとすることをお勧めします。


8、UWSスクリプトの作成

 次の作業を順に行うUWSスクリプトが必要となります。
1、起動中のPPJoyKey、PPJoyMouseがあれば閉じる
2、カーソルを画面中央に移動する
3、PPJoyKey及びPPJoyMouseをiniファイルをロードして起動する(※このときbat(バッチファイル)を経由して起動)
4、YSFLIGHTのウィンドウにフォーカスを当て直す

以下の4つのファイルを保存して下さい。
後の作業の簡便化のため、これらのファイルは、UWSCのインストールフォルダに置くことをお勧めします。
モードA用UWSスクリプト(右クリックで保存)
モードA用batファイル(右クリックで保存)
モードB用UWSスクリプト(右クリックで保存)
モードB用batファイル(右クリックで保存)

★これらのファイルは、次の場合には編集する必要があります。

@PPJoyのインストールフォルダがC:\Program Files\Parallel Port Joystickではない場合
APPJoy用のiniファイルを、PPJoyのインストールフォルダに置いていない場合
BUWSCのインストールフォルダがC:\Program Files\uwsc49ではない場合
CUWSC用のUWSファイルおよびbatファイルを、UWSCのインストールフォルダに置いていない場合

※このページの「後の作業の簡便化のため〜」という4箇所の指示に全て従った場合は、編集する必要はありません。
以下の編集方法などは無視して結構です。


 編集には、メモ帳などのテキストエディタを用います。
(ファイルを右クリック→「編集」、もしくは「プログラムから開く」→Notepadを選択)
開けたら、「パスが違う場合は変更」などと書かれている部分を、自分の環境に合わせて書き換えて下さい。

赤線部分が、変更の必要の可能性のある部分です。
@の場合、tehon_Amode.bat及びtehon_Bmode.batのそれぞれQ,R,Sを変更します。
Aの場合、tehon_Amode.bat及びtehon_Bmode.batのそれぞれR,Sを変更します。
BまたはCの場合、tehon_Amode.UWS及びtehon_Bmode.UWSのそれぞれPを変更します。

パスは、ファイル又はフォルダを右クリック→プロパティで表示できます。
UWSファイル中のパスは、ダブルクォーテーション(")で囲まなければななないことに注意して下さい。


9、UWSCランチメニューの設定

 UWSCは、ホットキーによって素早くスクリプトを実行する機能を備えています。
UWSCを起動し、タスクトレイアイコンをクリックして、「ランチメニューの設定」をクリックします。

メニューの0と1に、tehon_Amode.UWStehon_Bmode.UWSを登録して下さい。
また、ランチメニューを表示するためのHotKeyも設定します。

タイトルは何でも構いませんが、画像では「Aモード」「Bモード」としました。
ホットキーも何でも構いませんが、YSFLIGHTのキー設定と干渉しないことが望ましいです。画像では「Alt+5」としました。

 UWSCが起動している状態でホットキーを押すことによって、登録したランチメニューが表示され、スクリプトを実行することができます。

 ここで注意なのですが、YSFLIGHTをフルスクリ−ン化した状態でスクリプトを実行すると、YSFLIGHTが固まるかもしれません。
YSFLIGHTで試す場合は、オプションから「Maximize Window」を選択するなどして、全画面モードを切ってから行って下さい。

↑飛行中にランチメニューを表示させた状態です。
ランチメニューをクリックしたら、UWSCの停止ボタンが消えるまでマウスを動かさないほうがよいでしょう。

 以上で一通りの説明は終了です。


10、その他

1、最大化ウィンドウだと、Windowsのタスクバーをクリックしてしまって使いにくい
 タスクバーを右クリック→プロパティ→「タスクバーをほかのウィンドウの手前に表示する」のチェックを外す
※WindowsXPの場合です。

2、飛行中にUWSスクリプトを動作させると遅い
 タスクマネージャ等でUWSCの優先度を上げると改善されるかもしれません。
参考:UWSCを高優先度で起動するバッチファイル(右クリックで保存)(インストールフォルダがC:\Program Files\uwsc49でない場合は要編集)

3、マウスでの操作が敏感すぎる、もしくは鈍感すぎる(操作感の問題)
 PPJoyMouseの「XGain」「YGain」の数値を調整します。
操縦桿の場合はtehon_A.iniを、回転銃の場合はtehon_B.iniを、メモ帳などで開いて編集して下さい。
数値が大きいほど敏感になり、小さいほど鈍感になります。

4、モードAで飛行を続けると、操縦桿の中心位置が、カーソルを画面の中心に置いたところからズレてきてしまう
@マウスの加速設定をオフにする。
 WindowsXPの場合、コントロールパネル→マウス→ポインタオプション→「ポインタの精度を高める」をオフ
加速設定をオンにすると、マウスを激しく動かしたときのズレが大きくなってしまうためです。

Aコントロールパネル→ゲームコントローラ→プロパティで、ズレが生じにくいような、PPJoyMouseの「XGain」「YGain」の数値を見つける。

 画面の端にマウスカーソルが来た時に操縦桿が一杯に倒れるように調整すると、ズレが生じにくいと思います。
決定した数値は、tehon_A.iniをメモ帳などで開いて適用します。

※基本的にズレが完全に解消することは無いと思います。
PPJoyMouseはカーソル位置から入力しているのではなく、マウスの信号から入力しているからです。使っていれば慣れると割り切って使って下さい。

5、YSFLIGHTのキー設定を変えたい
 ここに書かれている点を変えない範囲でなら、いくらでも変更して大丈夫です。

6、キーボードで動翼や回転銃を操作する場合のキーを、上下左右キー以外にしたい
@YSFLIGHTのキー設定で、仮想ジョイスティック経由の操作に割り当てたいキーに、何も割り当てないようにします。
APPJoy用の新しいiniを作成します。(PPJoyKeyのSave .iniを使う)
BPPJoy起動用のbatファイルを編集し、新しいiniのパスを適用します。

このほか不明な点があった場合は、UWSCやPPJoyの説明書を参照するか、Web検索などを活用して調べて下さい。

YSFLIGHTの開発者である山川氏に、ここに書かれている事について質問することは、絶対に控えて下さい。


11、おことわり

 このページに書いてあることを実行することで何らかの損害があった場合は、自己責任でお願いします。


inserted by FC2 system