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,它在谈论TouchEvent
s。现在我的问题是如何获得那些TouchEvent
s。
来自我的触控膜 - 我只收到鼠标事件。
有人成功了吗?我在网上只能找到失败的故事……如果我想不通,这可能是我职业生涯的另一个术语:(以上是关于Linux 上 Java 中的多点触控事件:来自操作系统的事件还是在应用程序中识别?的主要内容,如果未能解决你的问题,请参考以下文章