-
Notifications
You must be signed in to change notification settings - Fork 503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用触摸屏时,触控区域会维持在放大前原窗口的位置 #218
Comments
如有需要起床后会提供日志截图,晚上宿舍断电不太方便 |
从实现原理上讲很难支持触控,有一个 API 可以映射触控坐标 MagSetInputTransform,但它有个很大的限制就是只能由管理员账户使用(“以管理员身份运行”也会失败)。 Release.zip |
意思是我必须用administrator,还是说只要账户类型是管理员就可以呢 |
administrator |
我试试,多谢大佬答疑,要是后期可以解决这个问题就好了 |
大佬,报错“从服务器返回了一个参照”是什么啊 |
同问,也是报错“从服务器返回了一个参照”。另外用moonlight串流时会出现两个鼠标,和触控板情况相同,一个触控板鼠标,一个前窗口鼠标,多出来的前窗口鼠标在放大前窗口对应位置,指针和图标的交互还是以前窗口鼠标位置为准 |
说明你的账户不是 administrator |
问题是我是administrator啊 |
还是说,不能用终端开启administrator啊 |
Administrator账户默认是隐藏的,你可能需要切换成本地账户然后打开它 |
串流时选择不捕获光标,你也可以向他们提 issue |
我在组策略安全设置里启用了超级管理员账户,打开还是报错“从服务器返回了一个参照”,用Administrator账户右键管理员权限打开还是报错 |
所以我用终端命令启用的本地administrator啊,是本地账户,是administrator,不是新建的用户名字是administrator,而是我启用了系统内置的本地的administrator,但是依然报一样的错 |
Windows 在这方面的权限管理非常严格 ಠಿ_ಠ 首先安装根目录下的 Blinue_Test.cer,然后看能不能运行,不行的话把文件夹复制到 C:\Program Files |
在program files下,在administrator账户下,能显示出应用的GUI界面,但是弹窗“初始化失败”,点击弹窗的任意按钮后应用退出 |
当然证书也安装了 |
请提供日志 |
[看了一下,报错代码0x8007007E] |
检查 Runtime.dll 是不是在同级目录下,然后安装/修复 .NET 6 |
runtime.dll在程序根目录里,.NET6也修复一遍了,还是不行 |
还是说我缺什么运行库吗?目前我板子上只有VC运行库和.NET6 |
这的确是运行环境的问题,从这里下载开发版本,这个版本能运行吗 |
能运行了,但是触控依然没有映射成功,是需要设置什么吗 |
开发版没有映射的功能。找不到 Runtime.dll 的问题在 #220 中讨论 |
测试了一下,这个 API 完全可用。现在唯一的问题是无法加载 Runtime.dll |
大佬加油吧,期待大佬的成果 |
这个版本支持触控和多屏,操作步骤:
缺少任何一步都会失败 |
大佬,可以提供更高版本的触控版么,这个v0.8的可以触控,但支持的缩放算法没最新版的多,导致画面略逊一筹 |
我用 MagSetInputTransform 写了另一个小工具,来支持 magpie 在触摸屏上的工作。 原本是想在magpie上贡献修改,现在的代码似乎和分支 fix/touchTransform 差异比较大,对项目架构和c++也不熟悉,无从下手。。另用 MagSetInputTransform 比较简易十多行代码解决了。并且看到作者有考虑另外建一个进程来单独提升 MagSetInputTransform 的权限,我就是照着这个思路做的。 逻辑比较简单,探知前台窗口变化,来寻找magpie的 HostWindow 有没有创建。如果有就传入游戏client区和映射区RECT给 MagSetInputTransform 以下给普通用户 ErogeHelper-MagpieTouch-x64.zip
|
@luojunyuan 谢谢,你的思路给了我很大启发,我决定把这个方案整合进 Magpie,即提供一个支持触控的开关,打开时自动安装证书。 Magpie 本身不适合 UIAccess 权限,一方面这会遮挡第三方程序(#515),另外还会遮挡开始菜单、Alt+Tab 窗口等,所以我会把 MagSetInputTransform 放在一个单独的可执行文件里。 只调用 MagSetInputTransform 是不够的,还应该处理用户点击黑边的情况,fix/touchTransform 分支里创建了一个全屏的、不会得到焦点的背景窗口来拦截这些点击。 |
在使用大佬提供的应用运行爱上火车Last Run国际中文版时,出现白屏的问题(窗口化时显示为白屏,全屏时显示为透明,辅助触控的按钮能正常点击)。又试了试其他几个黄油,没有出现这个问题。 |
是的,已经没有magtouch了,即使有的话也应该是和上面的一样的,因为我没有再更新过了。看样子需要专门测试这个游戏来修复呢。这个magtouch不完善。也是当作临时的解决方法。我有空的话会再看看,不好意思🌟。 |
我找到一个权宜之计,就是把游戏全屏,然后计算一下全屏后的窗口是放大了多少倍。然后在Magpie里允许放大全屏应用,然后在策略的最顶上添加一个bilinear的下采样,比如窗口放大了4倍左右就设置bilinear 0.25。 |
如何这样操作,就没有必要使用放大画面的滤镜了,放大了多少就要缩小多少回去,没有意义。 |
触控输入已经初步支持,请尝试一下这个版本:/~https://github.com/Blinue/Magpie/actions/runs/8995674493/artifacts/1482619592 |
能否提供日志? |
|
这是串流的问题,请参考 #141 (comment) 配置。 |
Magpie version 程序版本
0.6.X-0.7.X
Windows version 系统版本
Windows 10 21H2&Windows 11
Related screenshot (optional) 相关截图(可选)
No response
Reproduction steps 复现步骤
使用平板或触摸屏的前提下,使用该工具放大画面后,放大画面的游戏UI触控区域和正常情况下游戏UI的位置对不上,游戏UI的相关交互元素均在放大前窗口的对应位置,在已经使用工具放大的前提下,使用触摸屏点击放大前窗口以外的区域时,会自动还原为窗口,使用鼠标则一切正常
Log files 日志文件
。
The text was updated successfully, but these errors were encountered: