【解決済み】GamepadConfigにキーボードのキーを割り当てたい

akira0531
記事: 7
登録日時: 2019年5月31日(金) 12:38

【解決済み】GamepadConfigにキーボードのキーを割り当てたい

投稿記事by akira0531 » 2019年7月03日(水) 15:20

YEP様のGamepadConfigプラグインを利用して、ゲームパッドのボタンにキーボードのキーを割り当てたいと思っています。
以前に似たトピック(http://tm.lucky-duet.com/viewtopic.php?f=23&t=2455)はあったのですが、そちらを参考にプラグインをいじっても、なぜかオプションに表示さえされなくなってしまいうまくいきません。
また、別プラグインのしぐれん様のゲームパッドプラグインを試してみましたが何かと競合してしまうのか挙動がバグってしまって使えませんでした。

どなたかGamepadConfigのプラグインのどこをいじれば新しい割当先を追加できるか教えてもらえないでしょうか。
よろしくお願いします。
最後に編集したユーザー akira0531 on 2019年7月04日(木) 17:10 [ 編集 1 回目 ]

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by にゃたま » 2019年7月03日(水) 23:32

akira0531様

先ず自分はしぐれん様のMano_inputConfig及びMano_OneButtonCommonEventCallしか
使用してませんのでGamePadConfigについては初期に少し触っただけで最近は使ってませんが、
Mano_inputConfigに関しては当方の環境ではエラーもなく使えています。
Mano_inputConfigのほうが個人的には扱いやすいのでおすすめです。

思ったように動作しない場合何らかのエラーが発生している可能性がありますので、
先ずはF8キーを押した時に表示されるコンソールのエラーの画面キャプチャをして
提示したほうが解決につながるかと思います。恐らく競合が発生しているように見受けられます。
競合している場合もコンソールを見ればだいたいわかると思います。
また、もしプラグインパラメータを変更したのならどこをどう変更したのかがわからないと
解決は難しいように思います。
こちらもし変更したのならスクリーンショットなどして見せたほう手っ取り早いと思います。

追記
あと、参考になるかわかりませんが、自分の場合は以下のような追加のキーマップを定義して
キーにそれぞれ名前をつけるようにしています。キーボードキーの初期配置を決めるのに有効です。
追加のキーコード ( []内の数字とキーの繋がり )は以下のリンクから探せます。
http://faq.creasus.net/04/0131/CharCode.html

以下のコードを例えばkeymap.jsというファイルを新規作成してそこに放り込みます。
(keymapの名称は任意です)あとはこれをプラグインファイルとして追加します。

コード: 全て選択

(function () {
    //使用可能になるキー登録
    Input.keyMapper[16] = 'shift';   //shift
    Input.keyMapper[27] = 'cancel'; // escape
    Input.keyMapper[65] = 'menu';   //A
    Input.keyMapper[88] = 'cancel'; // X
    Input.keyMapper[90] = 'ok'; // Z
    //同様に使用したいキーを登録していく
})();


ゲームパッドに割り当てる場合はMano_OneButtonCommonEventCallを使わないときは
InputConfigのプラグインパラメータのbuttonsグループ内のbutton?のactionにキーを割り当てます。
button0に決定ボタンを割り当てたい場合はbutton0のactionにokといった感じでよろしいかと。
最後に編集したユーザー にゃたま on 2019年7月04日(木) 23:19 [ 編集 4 回目 ]
akira0531
記事: 7
登録日時: 2019年5月31日(金) 12:38

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by akira0531 » 2019年7月04日(木) 02:07

にゃたま様

アドバイスありがとうございます。
しかしながら、Mano_inputConfigを使うとダッシュを割り当てたボタンがキャンセルになったりとおかしな挙動をしてしまいます。その際にコンソールには特にエラーの表示もありませんので何をどうすればいいのかわからない状態です。
また、必須プラグインと競合してしまっている場合にはどうしようもないため、競合のないGamePadConfigを利用したいと考えています。

自分でいじったプラグインについてですが、参考元のものがそもそも読み込まれないものだったようで、それを参考にしたものは一旦置いておいて改めてやり直そうと思っています。

私はスクリプトについて知識がないため、この部分の記述をコピペして内容を変えて追加してやればいいといったようなことを教えてもらえれば大変助かります。
アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by しぐれん » 2019年7月04日(木) 05:22

一応InputConfigは優先度の高いプラグインなので対応はします。
Mano_InputConfigのキーコンフィグ/ゲームパッドコンフィグの画面をスクリーンショットして貼り付けてもらえれば、基本的には対応できます。
また、競合している必須プラグインがわかれば、修正パッチが出せます。
たとえば、どうやってダッシュ状態の切り替えをしているかなど。

それと、どういった仕様を完成形としているかがわかると対応しやすいです。
また、Mano_InputConfigにはキーコンフィグなどのデータが破損した場合に対応した初期化機能があります。
これも試してみてください。
(〇〇コンフィグ→初期設定に戻す、で行えます)
現在、プラグイン依頼はお休み中です。
akira0531
記事: 7
登録日時: 2019年5月31日(金) 12:38

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by akira0531 » 2019年7月04日(木) 14:13

しぐれん様
アドバイスありがとうございます。

ダッシュがキャンセルになってしまう件については自己解決しました。
私の環境だけなのかもしれませんが、プラグインのボタンの配列がズレていたために起きたようでした。
WS000044.JPG

button0はPS2コントローラ:Xとありましたが、手元のPS2コントローラでは△に対応してました。そのまま時計回りの順に設定することで解決しました。ダッシュがキャンセルになったのは単に表記とのズレによるものでした。

目指す完成形としてはPS2コントローラ:□を押したときにキーボードのCを押したことになれば完成となります。
WS000045.JPG
WS000045.JPG (24.53 KiB) 閲覧数: 3539 回

おそらくヘルプの■extendSymbolsの項目にその点について書かれていたのだと思いますが、私では理解できませんでした。
WS000043.JPG

具体的な方法をご教授いただければ幸いです。
アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by しぐれん » 2019年7月04日(木) 15:02

おそらく、そちらの環境がやや特殊な可能性があります。
私のプラグインはPS2コントローラでテストしていますが、実際はコンバータを挟んでいるためにこの配置になっています。
ゲームパッドのボタン配置はStandardLayoutというものがあり、私はこのスタンダード仕様に準拠している環境でテストしています。
参考URLhttps://www.w3.org/TR/gamepad/

ゲームを起動して、キーコンフィグを開いてみてください。
Cの位置に何か小さい文字が書いてあるので、それをコピーしてbutton2のactionにその文字を書き込んでください。
今、Cと書いてある部分です。
(大文字・小文字を間違えないように)
これで動くと思います。
現在、プラグイン依頼はお休み中です。
akira0531
記事: 7
登録日時: 2019年5月31日(金) 12:38

Re: GamepadConfigにキーボードのキーを割り当てたい

投稿記事by akira0531 » 2019年7月04日(木) 17:09

しぐれん様、返答ありがとうございます。
キーコンフィグでCにextendsymbol6を設定し、それをプラグインのボタンに設定したところ動作するようになりました!

また、にゃたま様のキーマップ定義と組み合わせてコンフィグセーブを消しても初期の段階からCキーに設定が行われているようにできました。

お二方ともありがとうございました。

“MV:質問” へ戻る