TP 起始原点分为左上角与右上角,主要为了对齐在不同的位置添加按键。
问题
1.现在在按键在左边,以左上角为原点,加上位置偏差,坐标有些偏移
2.以右上角为原点,X左右正好镜像,关于Y对称,还是有偏差
解决方案 :为了统一,现在以右上角为原点,先把X镜像过来,再进行坐标校准
用的是汇顶的GT9XX系列,发过来的驱动版本有些老,跟新的有些差别,新的版本有关于X,Y,X2Y的修改
新的代码
static u8 gtp_change_x2y = TRUE;//X2Y
static u8 gtp_x_reverse = FALSE;//X 镜像
static u8 gtp_y_reverse = TRUE;//y 镜像
static void gtp_touch_down(struct goodix_ts_data* ts,s32 id,s32 x,s32 y,s32 w)
{
if (gtp_change_x2y)
GTP_SWAP(x, y);
if (!bgt911 && !bgt970) {
if (gtp_x_reverse)
x = ts->abs_x_max - x;
if (gtp_y_reverse)
y = ts->abs_y_max - y;
}
修改如下:先把X坐标镜像
# if GTP_X_REVERSE
x = ts->abs_x_max - x;
#endif
再对坐标值进行偏移
# if GTP_X_REVERSE
if (x < 760){
x = ts->abs_x_max - x - 40 ;
}
#endif
4785

被折叠的 条评论
为什么被折叠?



