泰山派6寸触摸屏适配笔记
前言
之前在立创开源广场看到了个6寸的触摸屏,感觉这玩意比3.1寸大,又比10寸的便携,搞个小摆件还是不错的。由于自己用的内核是5.10.160+ubuntu22,设备树和驱动直接拷过来编译有错误,特地折腾一下。
设备树修改
tspi-rk3566-dsi-v10.dtsi
1 | / { |
修改完设备树刷入内核就可以点屏了
折腾触摸
一开始在dmesg中看到goodix-ts驱动已加载的报错有点纳闷,后来看了一下内核的config,需要取消编译其他goodix的触屏驱动,只留下GT9XX
1 | CONFIG_TOUCHSCREEN_GOODIX=n |
修改驱动,swap xy与翻转xy
修改gtp_touch_down函数
gt9xx.c
1 | if (TRUE) { |
初始化序列修改
gt9xx_cfg.h
1 | /* CFG for GT911 */ |
6inch.cfg
1 | 0x43, 0x00, 0x05, 0xD0, 0x02, 0x0A, 0x0D, 0x20, 0x01, 0x08, 0x28, 0x08, 0x50, 0x32, 0x03, 0x05, |
记录一下wayland libinput如何调试旋转触摸
安装 libinput-tools
1 | apt install libinput-tools |
查看输入debug信息
1 | libinput debug-events |
旋转触摸输入
默认
1 | echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="1 0 0 0 1 0"' > /etc/udev/rules.d/libinput.rules |
y轴反向
1 | echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="1 0 0 0 -1 1"' > /etc/udev/rules.d/libinput.rules |
x轴反向
1 | echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 1 0"' > /etc/udev/rules.d/libinput.rules |
x、y反向
1 | echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"' > /etc/udev/rules.d/libinput.rules |