parent
fef5fd0ebd
commit
b73e88f1da
|
@ -0,0 +1,53 @@
|
|||
# WpfMaiTouchEmulator
|
||||
タッチスクリーン上のソフトウェアを使用してSDEZ MaiMaiのタッチセンサーハードウェアをエミュレートすることを目的としたWPF C# アプリケーションです。
|
||||
|
||||
# 動作原理
|
||||
このアプリはcom0comを使用して仮想COMポートのペアCOM3 - COM23をインストールします。その後、アプリはCOM23に接続し、ハードウェアのタッチセンサーがどのように機能するかをエミュレートし、このポートを通じてデータを送信します。
|
||||
|
||||
# デモ
|
||||
|
||||
|
||||
https://github.com/Leapward-Koex/MaiTouchSensorEmulator/assets/30615050/eea21285-fec5-4393-a75d-74274b39789f
|
||||
|
||||
|
||||
|
||||
https://github.com/Leapward-Koex/MaiTouchSensorEmulator/assets/30615050/e45ca02f-8d82-4ad4-a610-ef08abcb5087
|
||||
|
||||
|
||||
|
||||
# セットアップ
|
||||
Windowsで三本指及び四本指のタッチジェスチャーを無効にする(W11の設定 -> Bluetooth & デバイス -> タッチ)
|
||||
|
||||
このアプリを動作させるにはCOM3が空いている必要があります。多くの場合、COM3はUSBシリアルデバイスによって既に使用されています。これはデバイスマネージャーを通じてアンインストールする必要があります。
|
||||
1. デバイスマネージャーを開く
|
||||
2. 隠しデバイスを表示する。「ビュー」->「隠しデバイスを表示」->「ポート(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"`、画面の指示に従います。
|
||||
|
||||
# 付属のcom0comプログラムを使用せずに仮想COMポートをインストールする
|
||||
この未知のアプリに管理者権限を与えたくない場合は、アプリに含まれている仮想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](https://github.com/whowechina/mai_pico) と [Sucareto - Mai2Touch](https://github.com/Sucareto/Mai2Touch) に感謝します。
|
|
@ -1,7 +1,12 @@
|
|||
|
||||
|
||||
# WpfMaiTouchEmulator
|
||||
A WPF C# app meant to emulate the touch sensor hardware for SDEZ MaiMai using software on a touchscreen.
|
||||
|
||||
## README in Other Languages
|
||||
|
||||
- [简体中文](README.zh.md)
|
||||
- [日本語](README.jp.md)
|
||||
|
||||
# How it works
|
||||
The app uses com0com to install a virtual COM port pairing of COM3 - COM23. The app then connects to COM23 and emulates how the hardware touch sensor works, sending data over this port.
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
# WpfMaiTouchEmulator
|
||||
一个用于通过触摸屏软件模拟SDEZ MaiMai的触摸传感器硬件的WPF C# 应用程序。
|
||||
|
||||
# 工作原理
|
||||
该应用程序使用com0com安装一个虚拟的COM端口配对:COM3 - COM23。然后,应用程序连接到COM23并模拟硬件触摸传感器的工作方式,通过此端口发送数据。
|
||||
|
||||
# 演示
|
||||
|
||||
|
||||
https://github.com/Leapward-Koex/MaiTouchSensorEmulator/assets/30615050/eea21285-fec5-4393-a75d-74274b39789f
|
||||
|
||||
|
||||
|
||||
https://github.com/Leapward-Koex/MaiTouchSensorEmulator/assets/30615050/e45ca02f-8d82-4ad4-a610-ef08abcb5087
|
||||
|
||||
|
||||
|
||||
# 设置
|
||||
在Windows中禁用三指和四指触摸手势(在W11设置 -> 蓝牙与设备 -> 触摸)
|
||||
|
||||
COM3需要空闲,因为这是SDEZ使用的端口。默认情况下,大多数人会发现COM3已被USB串行设备使用。需要通过设备管理器卸载,
|
||||
1. 打开设备管理器
|
||||
2. 显示隐藏设备。"视图" -> "显示隐藏设备" -> "端口(COM & LPT)" -> 右键点击COM3设备并卸载。
|
||||
|
||||
在您的maimai.ini文件的[AM]部分设置`DummyTouchPanel=0`。
|
||||
|
||||
打开WpfMaiTouchEmulator.exe应用程序,通过"安装COM端口"按钮安装虚拟端口,可以勾选"自动连接端口"使应用程序在启动时连接到COM23端口,或按"连接到端口"按钮。
|
||||
|
||||
如果在安装虚拟端口后应用程序无法绑定到COM23,我发现重新启动我的电脑通常可以解决问题。
|
||||
|
||||
启动SDEZ并正常使用您的触摸屏。
|
||||
|
||||
[可选] 为了避免每次都手动打开应用程序,您可以启用"自动连接端口"并在您的MaiMai的start.bat文件中`@echo off`之后添加这行代码。`start "" "<您的WpfMaiTouchEmulator.exe路径>"`
|
||||
|
||||
[可选] 如果您使用的是W11,并且发现左滑有时会打开“小部件”面板,您可以通过以管理员身份运行此命令`winget uninstall "windows web experience pack"`并按照屏幕上的指示操作来移除面板。
|
||||
|
||||
# 不使用随附的com0com程序安装虚拟COM端口
|
||||
如果您不想使用应用程序中包含的安装/移除虚拟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](https://github.com/whowechina/mai_pico) 和 [Sucareto - Mai2Touch](https://github.com/Sucareto/Mai2Touch) 提供基本的串行数据格式和触摸实现研究。
|
Loading…
Reference in New Issue