我有 raspberry PI 4 和 2 个带触摸屏的外部 HDMI 显示器(USB 连接)。使用 gluon 的 DRM 驱动程序可以将两个显示器用作输出设备,但我有一个问题,即两个触摸屏都产生具有相同坐标的触摸事件,该坐标仅对应于第一台显示器。我需要在第二个触摸屏上移动坐标,以便它们在第二个显示器上正常工作。两个触摸屏在 linux 中都是可见的 /dev/input/event0 /dev/input/event1
我为 TouchEvent 添加了一个事件过滤器,希望看到来自 2 个触摸屏的事件之间的任何差异(链接到发起事件的设备?)但没有。 在 JAVA FX 的内部有 com.sun.glass.ui.monocle.TouchFilter 可以用 -Dmonocle.input."device_id".touchFilters= 指定 但是那里的类被标记为包私有
我如何正确移动坐标,以便两个触摸屏与其相应的显示器一起工作?什么是正确的方法?
在从
toString()
返回的屏幕上调用
Screen.getScreens()
列出了两个屏幕。
javafx.stage.Screen@a1603782
bounds:Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1080.0, width=1920.0, height=1080.0]
visualBounds:Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1080.0, width=1920.0, height=1080.0]
dpi:96.0
outputScale:(1.0,1.0)
javafx.stage.Screen@ec83c09b
bounds:Rectangle2D [minX = 1920.0, minY=0.0, maxX=3840.0, maxY=1080.0, width=1920.0, height=1080.0]
visualBounds:Rectangle2D [minX = 1920.0, minY=0.0, maxX=3840.0, maxY=1080.0, width=1920.0, height=1080.0]
dpi:96.0
outputScale:(1.0,1.0)