我正在为我的 chromebook Acer R11(运行 gallium linux)开发一个 c++/SFML 绘画程序,并希望添加多点触控支持。然而,我一直在尝试寻找某种方法将输入值输入到我的 C++ 程序中。
触摸屏可以工作,在 Chrome 中可以实现完整的多点触控,非触摸应用程序将其视为鼠标。
SFML 的 sf::Touch 方法没有给我任何东西,看来它们只适用于 android 和 ios。
我尝试让 tslib 工作,但它的安装指令为零,并且我无法编译和运行示例程序。
我在这个线程中尝试了 C++ 代码 How to get Coordinates of Touchscreen Rawdata using Linux但它停在“你不是root!这可能不起作用...\n”,chrome获取触摸事件并且它不是root,所以这可能不是正确的方向。
我没有成功地在网上找到有关此的信息。在Linux系统上获取触摸事件的正确方法是什么?
更多数据:触摸屏显示在/dev/input/event6 下的 evtest 中:Elan Touchscreen当我告诉 evtest 给我输出时,它会正确转储实时输出。
cat /proc/bus/input/devices shows it as
I: Bus=0018 Vendor=04f3 Product=002a Version=0000
N: Name="Elan Touchscreen"
P: Phys=
s: Sysfs=/devices/platform/80622C1:00/i2c-0/i2c-ELAN0001:00/input/input6
U: Uniq=
H: Handlers=mouse1 event6
B:PROP=2
B: EV=v
B: EKY=400 0 0 0 0 0
B: ABS=661800001000003
好吧,当 evtest 真正正确转储所有内容时,您将不需要 tslib 。如果您可能需要它,现在有更多文档,当您在那里创建 Github 问题时,我很乐意帮助您使用它。
这似乎更像是在应用程序中正确读取系统输入的问题:)
我是一名优秀的程序员,十分优秀!