rv1126横屏可触摸

操作

[root@ATK-DLRV1126:/]# cd etc
[root@ATK-DLRV1126:/etc]# vi profile

最后一行添加(可触摸)
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=rotate=90:invertx:rotate=90:inverty
 

root@ATK-DLRV1126:/etc]# cd init.d/

[root@ATK-DLRV1126:/etc/init.d]# vi S50QDesktop
文件如下
source /etc/profile
case "$1" in
  start)
        echo "Starting uidemo08..."
        /demo/uidemo08 -platform linuxfb:rotation=90  2>&1 >/dev/null &
        ;;
  stop)
        echo "Stopping uidemo08..."
        killall $(pidof uidemo08)
        ;;
  reload|force-reload)
        echo "Reloading uidemo08 configuration..."
        "$0" reload
        ;;
  restart)
        "$0" stop
        sleep 1 # Prevent race condition: ensure uidemo08 stops before start.
        "$0" start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload|force-reload}"
esac
exit 0

在上面加入代码-platform linuxfb:rotation=90

退出使用如下指令

source /etc/profile
即可横屏

说明:正点原子RV1126Qt默认使用Linuxfb插件。

在/etc/profile里添加以下内容 ,使Qt旋转 ,并且触摸也旋转

export QT_QPA_PLATFORM =linuxfb:rotation =90 export

QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS =rotate =90:invertx:rotate =90:inverty 然后在/etc/in it.d/S50QDesktop里将-platform linuxfb删掉  因为上面的profile里已经指 定了PLATFORM ,这里就不需要重新指定了。

触摸旋转

方法一:uidemo08

你可以ts_calibrate -r 1  1是旋转90度。2是180度 ,3是270度 ,点击5个点就可以校准, 校准生成的/etc/pointercal文件就是tslib的参考文件 ,重启后 ,tslib会以此作为坐标参

考。此时你的触摸就正常了 ,tslib校准一般是电阻屏才需要的  因为你旋转了qt显示 ,所以 触摸也要旋转!若要恢复触摸请删除/etc/pointercal文件 ,你也可以拷贝这

个/etc/pointercal到其他系统上 ,以后就不用校准了。 方法二:(推荐 ,会更准确)

修改触摸驱动:(以IMX6ULL为例  rv1126的参考即可!请自行修改验证) 请注意 ,以gt9xx系列为例 ,现原子大部分的屏都是GT系列了。编辑

drivers/input/touchscreen/gt9xx.c

修改如下: 因为旋转了90度 ,x与y坐标发生了交换 ,并且y轴反向 ,所以要写成如下。

### RV1126 MIPI 屏幕驱动支持配置 对于RV1126设备而言,MIPI DSI接口用于连接高分辨率显示屏,如1080P屏幕。为了确保能够成功驱动特定型号的屏幕,例如1218-A101NL66-28K这类10.1英寸MIPI LCD屏,在硬件初始化阶段需设置相应的参数并加载匹配的驱动程序[^1]。 针对RV1126平台上的MIPI显示适配工作,通常涉及以下几个方面: #### 一、硬件层面上的支持 确认目标板卡具备足够的带宽处理能力以及物理连接端口可以满足所选屏幕的要求。这包括但不限于验证DSI通道数量、数据传输速率等规格是否符合预期使用的面板标准。 #### 二、软件层面的实现 通过修改内核源码中的display子系统部分来增加新的显示器定义,并指定对应的`lcd_index`值以便操作系统识别该款屏幕。具体操作如下所示: ```c // 假设这是新增加的一个结构体成员用来描述新加入的LCD屏属性 struct lcd_panel panel_1218_a101nl66 = { .name = "1218-a101nl66", .type = PANEL_TYPE_MIPI, ... }; static struct rockchip_lcd_config rv1126_configs[] __initdata = { /* 其他已存在的配置项 */ [10] = { // 对应于上述提到的lcd_index=10的情况 .panel = &panel_1218_a101nl66, ... }, }; ``` 此外还需要调整Framebuffer图形缓冲区大小以及其他可能影响最终视觉效果的相关选项,比如刷新率、色彩模式等等[^2]。 综上所述,要使RV1126正确支持某一款具体的MIPI屏幕,则需要从软硬件两方面入手进行全面考量与适当调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值