Silver/WPF 删除鼠标事件,但允许触摸事件

发布于 2024-09-12 10:42:57 字数 159 浏览 5 评论 0原文

有谁知道如何删除鼠标事件,但只允许触摸事件。

简而言之,我有 2 个显示器。一个是主显示屏,另一个是触摸屏。

我不希望鼠标光标移动到第二个显示器。 对于显示器,它只接受触摸事件,因此希望当触摸第二个屏幕时,鼠标应停留在主屏幕上而不移动。

知道该怎么做吗?

Do any1 know how to remove mouse event, but allow only touch events.

In brief, I have 2 monitors. 1 is the primary display, another is a touch screen.

I don't want the mouse cursor to move over to the second display.
For the display, it will only accept touch events, so hopefully, when the 2nd screen is touched, the mouse should stay at the primary screen w/o moving.

Any idea how to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软糖 2024-09-19 10:42:57

Windows 则不然,因为所有类似鼠标的设备输入都会组合到一个虚拟设备中。因此,如果您的触摸屏注册为普通鼠标并发挥作用,我知道没有办法找出输入的来源。这里唯一的解决方案是在驱动程序级别获取输入数据。 (查看c# 多只小鼠的多个结果。)< br>
因此,鼠标光标将始终(很快)移动到触摸屏被“单击”的位置。

阻止鼠标光标进入第二个屏幕将非常困难,因为这也会发生在 Windows 级别。

我建议一个解决方法,尽管这取决于您的触摸屏:
通常,触摸屏输入(尽管不是手写笔输入)在单击之前有一个非常短/快速的鼠标移动。因此,一种可能的解决方案是监听鼠标移动事件并使用该信息分离输入的来源。

Not with Windows, because all mouse-like device inputs get combined to one virtual device. So if your touchscreen is registered as and acts like a regular mouse, I know of no way to find out where the input came from. Only solution here would be getting the input data at driver level. (See the several results for c# multiple mice.)
Because of this the mouse cursor will always (shortly) move to where the touchscreen is "clicked".

Preventing the mouse cursor to enter the second screen will be quite difficult, because that also happens at Windows level.

I suggest a workaround, although this depends on your touchscreen:
Usually touchscreen inputs (though not stylus inputs) have a very short / fast mouse move before the click. So one possible solution would be to listen to mouse move events and separate the input's origin using that information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文