Linux 上 Java 中的多点触控事件:来自操作系统的事件还是在应用程序中识别?

Posted

技术标签:

【中文标题】Linux 上 Java 中的多点触控事件:来自操作系统的事件还是在应用程序中识别?【英文标题】:Multi-touch events in Java on Linux: events from OS or recognize in application? 【发布时间】:2014-10-06 13:20:16 【问题描述】:

我正在尝试实现一个能够利用触摸事件和多点触控手势的 JavaFX 应用程序。我正在 Linux Mint 17 上使用 Java8。

我使用触控膜作为输入设备。它是使用 EETI eGTouch 驱动程序(eGTouchD 版本:2.5)的 eGalaxTouch 设备(PCAP7200 系列)。它被识别为标准鼠标输入设备,但也会创建多点触控事件 (ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_X, ABS_MT_POSITION_Y),可以从 /dev/input/eventX 读取。

Ubuntu 现在带有一些多点触控支持并且能够识别手势。是否可以在我的应用程序中使用这些操作系统生成的事件并像使用MouseListener 一样收听鼠标事件?

或者我是否必须在我的应用程序中识别手势,可能需要像 MT4J 这样的库的帮助?

自从我刚开始熟悉这些东西以来,我感谢任何提示或帮助。

【问题讨论】:

【参考方案1】:

我还没有尝试过,但请注意 JavaFX 还支持 GestureEvents,例如 RotateEvent、ScrollEvent、SwipeEvent、ZoomEvent 以及可能(?)还有自定义事件。

http://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/package-summary.html

【讨论】:

好的,这听起来对我来说是正确的方式。我找到了这个文档link,它在谈论TouchEvents。现在我的问题是如何获得那些TouchEvents。 来自我的触控膜 - 我只收到鼠标事件。 有人成功了吗?我在网上只能找到失败的故事……如果我想不通,这可能是我职业生涯的另一个术语:(

以上是关于Linux 上 Java 中的多点触控事件:来自操作系统的事件还是在应用程序中识别?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上 MonoTouch 中的多点触控

js触摸事件详细解读

有啥方法可以在 Android Emulator 上测试多点触控吗?

2021-09-20 WPF上位机 36-多点触控事件

防止多点触控的 UIButton 触摸事件

onTouch 与多点触控和 SoundPool 运动事件