https://linen.dev logo
rtmdengoadapterの相性問題の知見がほしい!
# forum
u
当方、このたびめでたくZUIKI製 ズイキマスコンを導入させていただき、rtmdengoadapterを介してRTMのノッチ操作に利用したいと考えた次第であります。 しかし、どうやらマスコンの入力がMinecraftに届いていないらしく、ノッチがちっとも同期しません 以下に事象の詳細を列挙するので、同じような経験がある人がいらっしゃったら参考にさせていただきたいです ーーーーーーーーーーーーーーーーーーーー 【事象】 rtmdengoadapter v0.6を介してズイキマスコンを使おうとしたが、入力に全く応答がない 【現状】 ・rtmdengoadapter v0.6は、どうやらズイキマスコンを認識している(Minecraftのバックログから、client threadの内容で確認) 認識順序はcontroller(0)、たぶん一番最初 ・ズイキマスコンの入力にはちっとも応答がないが、キーボードによる操作は可能(WSADに基づくマスコン操作はできる) ・試験のためクライアントMODは全て抜いている、ATSAssistmodが導入されている ・スクリプトを介さないデフォルト車両で試験、応答なし ・環境はforge + kaizPatch1.7.10 + rtmdengoadapter v0.6 ・ワンハンドルのAxis値は、奥に倒す(制動をかける)と奥に向かい、手前に倒す(力行させる)と手前に動いた ・BVEでは操作可能、ズイキマスコンのジョイスティック相当のAxis値を取得可能 【対処したこと】 ・デバイス接続あたりの相性を確認、Windows側でファームウェアやデバイスドライバーの整理 ・「ゲームコントローラーの設定」から、Axisの感度を確認、動く事を確認して、設定は既定値で維持 ・マウスやキーボードを抜いて、ズイキマスコンが反応するか試験、反応なし ・USBポートを繋ぎかえて試験、反応なし ・クライアントMODや起動環境を変えて試験、反応無し 【憂慮される事態】 ・ハードウェア的問題?(他のデバイスの接続のせい) ・ソフトウェア的問題?(ズイキマスコンの仕様が変わった) ・元のrtmdengoadapter v0.6のコードを参照したが、「lastnotch」と従前ノッチを保存している場所があり おそらく、Axis値が不明が条件の外にいるため、ノッチが認識されず動かない? 【達成したい目的】 ズイキマスコンをrtmdengoadapter v0.6に認識させ、RTMの車両を操作する また、rtmdengoadapterのLWJGL ゲームパッドAPI側で解決を試みられるのなら、私がリポジトリに協力して、コードをより良いものに変えたいなと思っています。 よろしくお願いします🙇
特に、本事情で注目すべきだと思ったのは ・マスコン自体は認識されている ・キーボードによる電車操作はできる ・クライアントMODが省かれても操作できない の三つだと思います 他はWindows側の仕様で自明であり、むしろ操作できないほうが困るので おそらくmodsフォルダより先の出来事なのかなと予想しました
すっげえここまで書いてて気づいたけど、俺の手元にあるの ・ZKNS-001 でも ・ZKNS-002 でもなく 電車でGO! ワンハンドルコントローラー からリプランドされた 「ズイキマスコン」 ・ZKNS-013 だわ つまり内部ソフトウェア仕様が全然違うかも。。。ってコト!?
参考までに ZKNS-001 及び ZKNS-002 の時代の ジョイスティックアサイン(仕様に違い等あったらご指摘願いたい) https://trainsim.info/?p=604
https://aquasoftware.net/blog/?p=1960 「電車でGO! ワンハンドルコントローラー」 と 「ズイキマスコン」 の違いについて述べている
h
取り急ぎの回答で申し訳ありませんが、描画スクリプトを仕込める車両があれば 1.initでControllersを用いてコントローラーの情報を取得 2.認識してるコントローラーを全部ログに吐き出させてみる で確認できるかなと思います。
Copy code
js
    var Controllers = Packages.org.lwjgl.input.Controllers;
    Controllers.create();
    for (var i = 0; i < Controllers.getControllerCount(); i++) {
        var controller = Controllers.getController(i);
        NGTLog.debug("Controller name :" + controller.getName());
    }
v0.6の中身を見てみたところ、 "One Handle MasCon for Nintendo Switch" "One Handle MasCon for Nintendo Switch Exclusive Edition" が認識の対象となるようなので、これ以外の名前が出てくるようであれば対応して貰う必要があるかなと思います。
u
あ、出てきたかも むしろそれを利用して、rtmdengoadapterにforkしようかなと考えています 私の調べ不足で、ZKNS-001とZKNS-002しか対応してないのに 俺のはZKNS-013で どうやらキー配列とジョイスティック定義位置の降りてくる値(まさかビット桁?)が、従前モデルと違うみたいなんですよね https://discord.com/channels/799152792518393917/1348937219204845608/1348965445323063356 名前で認識できるかどうか、アサイン変えてクラスオーバーライドできるかどうか試したいなと思います( GitHub使い慣れてないから練習したいところだが。。。)
これのご指摘ありがとうございました🙇 スクショを撮ってあったのですが、明らかになまえがちがいました。。。 キーアサインも違いそうなので、条件分岐後に別クラスを建てておいて、元のクラスにオーバーライドする形になりそうです https://media.discordapp.net/attachments/1348913466068701185/1348915021459095593/image.png?ex=67d13282&is=67cfe102&hm=d3e3ddb743ca1e7e9080567bcacdf271e7e356ba069b451ff9f2a9e3d24b1dc7&
2 Views