タッチスクリーン上のソフトウェアを使用してSDEZ MaiMaiのタッチセンサーハードウェアをエミュレートすることを目的としたWPF C# アプリケーションです。
このアプリはcom0comを使用して仮想COMポートのペアCOM3 - COM23をインストールします。その後、アプリはCOM23に接続し、ハードウェアのタッチセンサーがどのように機能するかをエミュレートし、このポートを通じてデータを送信します。
InGameDemo.mp4
PanelDemo.mp4
Windowsで三本指及び四本指のタッチジェスチャーを無効にする(W11の設定 -> Bluetooth & デバイス -> タッチ)
このアプリを動作させるにはCOM3が空いている必要があります。多くの場合、COM3はUSBシリアルデバイスによって既に使用されています。これはデバイスマネージャーを通じてアンインストールする必要があります。
- デバイスマネージャーを開く
- 隠しデバイスを表示する。「ビュー」->「隠しデバイスを表示」->「ポート(COM & LPT)」-> COM3デバイスを右クリックし、アンインストール。
maimaiの.iniファイルの[AM]セクションにDummyTouchPanel=0
を設定します。
WpfMaiTouchEmulator.exeアプリを開き、「COMポートをインストール」ボタンをクリックして仮想ポートをインストールします。アプリの起動時にCOM23ポートに自動的に接続するために「自動ポート接続」をチェックするか、「ポートに接続」ボタンを押します。
仮想ポートをインストールした後、アプリがCOM23にバインドできない場合は、PCを再起動すると通常問題が解決します。
SDEZを開始し、通常通りタッチスクリーンを使用します。
[オプション] アプリケーションを毎回手動で開かなくても済むようにするために、「自動ポート接続」を有効にし、MaiMaiのstart.batファイルに@echo off
の後に次の行を追加します。start "" "<WpfMaiTouchEmulator.exeへのパス>"
[オプション] W11を使用していて、左スワイプが時々「ウィジェット」ペインを開く場合は、管理者としてこのコマンドを実行してwinget uninstall "windows web experience pack"
、画面の指示に従います。
この未知のアプリに管理者権限を与えたくない場合は、アプリに含まれている仮想comのインストール/削除アクションを使用しないで、手動でNull-modem com0comをオンラインでダウンロード(必要なバージョンは2.2.2.0!)して、このコマンドを実行します。
cd "C:\Program Files (x86)\com0com" && setupc.exe install Portname=COM3 Portname=COM23
で仮想ポートをインストールし、
cd "C:\Program Files (x86)\com0com" && setupc.exe uninstall
で仮想ポートをアンインストールします。
ほとんどのSDEZは内蔵のタッチスクリーンと非常に互換性が低く、SDEZのソースコードを他の人が変更して内蔵タッチコントロールを機能させるか、.dllファイルを編集して再コンパイルする必要があります。このアプリは、すべてのSDEZバージョンで(知る限りでは)すぐに動作するはずです。
もう一つの理由は、タッチセンサーとして使用するITOエッチングパネルの調達が難しく、かなり高価であるためです。
まあまあです。アプリは最大1Khzでタッチセンサーウィンドウをポーリングしますが、C#で実行されているため、実際の速度はホストマシンのパフォーマンスに依存する場合があります。
精度については、私はそれほど上手ではないので、高レベルのプレイでどれほどうまく機能するかは言えませんが、私の経験ではかなりうまく機能します。
基本的なシリアルデータ形式とタッチ実装の研究について、whowechina - mai_pico と Sucareto - Mai2Touch に感謝します。