【问题标题】:Using 2 Touchscreens on raspberry pi 4在树莓派 4 上使用 2 个触摸屏
【发布时间】:2020-03-19 17:42:18
【问题描述】:

我正在尝试做一个项目,该项目将在运行树莓派 4 的 buster 上使用 2 个触摸屏,这要归功于双 HDMI 输出。我的显示器没有问题,并且 pi 可以识别来自两个屏幕的触摸,但它无法辨别来自哪个屏幕的触摸。最终结果是不稳定和不可预测的鼠标移动。

我考虑过使用 python (pyagutogui) 根据在任一屏幕上感应到触摸的位置来控制鼠标。理论上,我的代码分三步运行:

1) 从 /dev/input/mouse0 或 /dev/input/mouse1(或可能的其他位置?目前我可以从触摸中看到“鼠标”移动)接收触摸位置的 x-y 值
2) 应用校正因子来确定鼠标应该在显示器上的位置
3) 使用 pyautogui 将鼠标移动到该位置并单击

我的主要问题是我不知道如何从触摸屏获取原始 X-Y 数据。任何关于如何实现这一点的想法,或者关于如何达到我的最终结果的任何其他想法都将不胜感激!

【问题讨论】:

    标签: python raspberry-pi raspbian touchscreen


    【解决方案1】:

    你有什么解决办法吗? 我安装了 sudo apt-get install xinput-calibrator 校准后,我得到了一个带有此文本的窗口:

    Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "TSTP MTouch"
        Option  "MinX"  "51"
        Option  "MaxX"  "65564"
        Option  "MinY"  "82"
        Option  "MaxY"  "65398"
        Option  "SwapXY"        "0" # unless it was already set to 1
        Option  "InvertX"       "0"  # unless it was already set
        Option  "InvertY"       "0"  # unless it was already set
    

    结束部分

    这应该转到这些文件:/usr/share/X11/xorg.conf.d/40-libinput.conf 或 /etc/X11/xorg.conf.d/10-blanking.conf

    所以我得到了一些坐标并对其进行了一些更改,但没有任何结果。 抱歉,我没有解决方案,但也许会有所帮助。

    【讨论】:

      【解决方案2】:

      古老的问题,但由于我遇到同样的问题并且努力寻找简明的答案,我会添加我的,希望它对下一个人有用。

      您可以使用 xinput 将绝对指针设备(如触摸屏)映射到特定显示器

      xinput --map-to-output <device> <crtc>
      

      其中 device 是 xinput --list 给出的数字 ID,crtc 是 xrandr 给出的显示名称。因此,就我而言,我从自动启动运行以下 bash 脚本,将两个触摸屏映射到 Raspberry Pi 4 上各自的显示器:

      #!/bin/bash
      xinput --map-to-output $(xinput --list | sed -re '/G2Touch/ ! d ;  s/.*id=([0-9]*).*/\1/') HDMI-1
      xinput --map-to-output $(xinput --list | sed -re '/wch\.cn/ ! d ;  s/.*id=([0-9]*).*/\1/') HDMI-2
      

      其中 G2Touch 和 wch.cn 分别是 xinput --list 中给出的两个显示器的设备名称。

      我不确定你会如何使用两个相同的触摸屏;我希望他们会以相同的顺序枚举,在这种情况下您应该能够直接使用数字 ID,但也许 udev 可能需要一些技巧?

      【讨论】:

        【解决方案3】:

        @sheddenizen 谢谢, 是的,它对我来说有 2 个相同的触摸屏。

        xinput --map-to-output 6 HDMI-1
        xinput --map-to-output 7 HDMI-2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-02-23
          • 1970-01-01
          • 2016-05-07
          • 1970-01-01
          • 1970-01-01
          • 2020-09-16
          • 1970-01-01
          相关资源
          最近更新 更多