MaiTouchSensorEmulator/README.zh.md

54 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2024-04-24 19:12:45 +08:00
# WpfMaiTouchEmulator
一个用于通过触摸屏软件模拟SDEZ MaiMai的触摸传感器硬件的WPF C# 应用程序。
# 工作原理
该应用程序使用com0com安装一个虚拟的COM端口配对COM3 - COM23。然后应用程序连接到COM23并模拟硬件触摸传感器的工作方式通过此端口发送数据。
# 演示
2024-09-07 08:19:28 +08:00
https://github.com/user-attachments/assets/fd0d8f08-586b-416e-8e49-7e389a08d02b
2024-04-24 19:12:45 +08:00
2024-09-07 08:19:28 +08:00
https://github.com/user-attachments/assets/1862e59b-520c-4cd5-adf4-37389a75815d
2024-04-24 19:12:45 +08:00
# 设置
在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) 提供基本的串行数据格式和触摸实现研究。