gpt4 book ai didi

c# - 如何在没有模拟器的情况下在表面表应用程序中创建模拟接触?

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:24 24 4
gpt4 key购买 nike

在基于 WPF 的 Microsoft Surface 1.0 SDK 项目中,我想转换在屏幕的一小部分捕获的联系人以匹配整个屏幕(如虚拟触摸板)。

在捕获联系人并转换其位置和方向后,我想将其发送回事件队列。我已经发现似乎没有办法创建“new Contact()”或更改“ReadOnlyContactCollection”中的任何内容(就像它的名字已经说的那样)。

这是我想做的:

private void OnContactDown(object sender, ContactEventArgs e)
{
base.OnContactDown(e);
e.Contact.Capture(this);

// transform the contact's center and orientation
// and write them back into e.Contact via own private method
// e.Contact = transformContact(e.Contact);

// keep transformed contact in the event queue
// so it can be processed at it's new position
e.Handled = false;
}

我的下一个想法是利用模拟器和自动化来创建 SimulatedContacts,但遗憾的是这在表面表本身上不起作用,只能在模拟器中起作用。

有什么方法可以发出“虚拟”接触(原始图像中不存在),以便表面能够识别它们(不使用模拟器)? SurfaceInput.exe是如何将识别到的联系人发送出去的?

最佳答案

Surface v1 并未正式支持 WPF 4.0,但其他人已经想出了如何获取 Surface v1 输入并将其路由到 WPF 4.0 附带的标准化和可扩展触摸 API。看看http://nui.joshland.org/2010/07/how-to-write-surface-applications-with.html用于创建将 Surface 输入转换为 WPF 4.0 输入事件的自定义“触摸设备”。按照相同的方法,您可以自己创建另一个“触摸设备”以传递您的假触摸。

关于c# - 如何在没有模拟器的情况下在表面表应用程序中创建模拟接触?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com