Voyo VBOOK V3 上的 Ubuntu 触摸屏

Voyo VBOOK V3 上的 Ubuntu 触摸屏

是否有可能让我的 Voyo VBOOK V3 上的触摸屏正常工作?我找不到任何驱动程序或软件包。这款二合一笔记本电脑预装了 Windows 10。我安装了 Ubuntu 16.04 LTS,但触摸屏无法正常工作。

运行 xinput 校准器显示:

错误:未找到可校准的设备。

我该如何修复它?

答案1

我费了好大劲才搞定的。你也许也能搞定——但显然 V3 的不同版本硬件差别很大,所以你的情况可能不一样。另外,我使用的是 Linux Mint,所以如果文件名有点不对,请见谅。哦,还有,我还没能让多点触控正常工作。所以,在解决了所有问题之后,你需要知道以下几点:

  • 驱动程序已可用于您的内核 - silead - 以 root 身份执行modprobe silead并检查它是否出现在 lsmod 中。它可能不会出现,但它可能会因为没有固件而默默失败。
  • 您将需要固件。转到https://github.com/onitake/gsl-firmware/issues/37- 在该讨论的早期部分有一个名为 firmware.zip 的文件 - 提取该文件h_firmware.fw。然后,您需要创建一个文件夹/lib/firmware/silead并将该文件复制到那里,并使用名称mssl1680.fw- 重新启动,一切可能会神奇地工作(尽管效果不佳 - 请参阅下文) - 用于dmesg调试。
  • 如果没有进展,您可能需要告诉 Xorg 您正在使用 silead 触摸屏 - 确保/etc/X11/xorg.conf.d/已创建文件夹(如果没有,请创建)并添加文件,99-calibration.conf如下所示:

    Section "InputClass"
        Identifier  "calibration"
        MatchProduct    "silead_ts"
        Option  "Device" "/dev/input/event14"
        Option  "MinX"  "31405"
        Option  "MaxX"  "-20"
        Option  "MinY"  "23984"
        Option  "MaxY"  "76"
        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
    EndSection
    
  • 重新启动。如果您现在没有触摸屏活动,那么我可能忘记了某个步骤,或者您可能有不同的硬件。检查 /var/log/Xorg.0.log 以查看是否有任何有用的 silead 错误。

如果到目前为止您已经成功了,那么这很好。但您会发现只有一小部分屏幕被覆盖 - 这时触摸屏校准就派上用场了,xinput 校准器会很棒 - 如果它有效的话。

如果没有的话,有一个工具可以起作用:xcal

https://github.com/reinderien/xcal

然而,虽然它可以工作,但它不会使你的更改永久生效,虽然它会告诉你校准值,但它不会告诉你如何使用它。然而,这是一个简单的 Python 脚本!在 xcal 的开头附近有一个名为 xinput 的方法 - 我修改了我的方法如下:

def xinput(*args):
    print('XINPUT command: ')
    print(' '.join(args))
    return run(args=('/usr/bin/xinput', *args),
               stdout=PIPE, check=True,
               universal_newlines=True).stdout

下次运行 xcal 并告诉它应用更改时,它将输出如下输出:

XINPUT command: 
--set-prop 14 libinput Calibration Matrix -2.0955599326947874, 0.006377553411765824, 1.002925809292515, -0.005228040857399382, -2.708875418324387, 1.0022455037336648, 0.0, 0.0, 1.0,

您需要添加一些引号,但本质上,这是您的 xinput 命令:

xinput --set-prop 14 libinput Calibration Matrix -2.0955599326947874, 0.006377553411765824, 1.002925809292515, -0.005228040857399382, -2.708875418324387, 1.0022455037336648, 0.0, 0.0, 1.0

最后,为了让它更牢固:我把这个命令放在文件底部~/.xinputrc。你可能需要找个别的地方,这取决于你是否需要触摸屏作为登录屏幕。

答案2

在 /etc/X11/xinit/xinputrc 中添加以下行

xinput --set-prop 10 "libinput Calibration Matrix" -2.0882497963235185, 0.0, 1.001125569612532, 0.0, -2.6999736330699893, 1.006245056200623, 0.0, 0.0, 1.0,

然后重启

相关内容