树莓派DSI触摸屏在RockPi上的适配

一、背景

RockPi3A是一款搭载了瑞芯微RK芯片的国产开发平台,与树莓派属于竞争关系,都是比较流行的硬件开发平台。

不过当前阶段并没有官方支持的DSI接口触摸屏模块,只有HDMI屏。对于手持设备来说,DSI显然更合适。那么只能将树莓派的DSI触摸屏拿过来进行适配了。

二、显示支持

要进行触摸屏适配,RockPi的系统不能太旧,笔者测试使用的是官方提供的最新的debian10。

直接接上树莓派的4.3寸DSI触摸屏是点不亮的,需要修改配置文件/boot/uEnv.txt,增加一行配置:

overlays=radxa-5inch-touchscreen-on-rock-3a

保存后重启系统就能看到Debian的系统界面了,而且支持与HDMI双屏显示。

由于P的HDMI屏被设置成了主屏,所以x的触摸屏界面显示的不完全。如果只接DSI屏显示就正常了,或者双屏时将DSI设置为主屏也行的。

小提示:如果是在树莓派板子上显示正常但不能触摸,可以修改raspbian系统下的/boot/config.txt,注释掉"dtoverlay=vc4-kms-v3d"一行重启即可。

三、触摸支持

通过上面的修改,触摸虽然支持了,但是触摸点与实际焦点并不一致,存在偏移,导致无法正常操作,所以需要对触摸屏进行校准(通过鼠标操作是没问题的)。

首先安装工具:

$sudoaptinstallxinputxinput-calibrator

然后在显示屏上打开一个Terminal终端,DSI触摸屏或是HDMI显示屏都可以,执行xrandr命令查看DSI触摸屏的设备名称:

注意:SSH登录终端窗口是不行的,因为xrandr命令需要在Xserver环境才能执行。

然后再执行xinput-calibrator命令查看触摸屏的ID信息:

该命令会输出所有触摸设备的名称及ID信息。

还可以通过xinput命令查看,该命令会输出所有输入设备(包括键盘、鼠标,触摸属于输入类)的名称及ID信息。

最后执行最关键的一步,将输入设备映射到输出:

$xinputmap-to-output11DSI-1

所使用的设备名称及ID信息都是通过前面步骤获取的,然后触摸就正常了。

当然了,重启系统之后设置就会失效,所以需要在系统启动后自动执行该指令。

具体操作过程参见:Debian开机后的自启动程序设置




转载请注明:http://www.diqiucz.com/gwgl/12415.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了