Pointer function problem about touch!

Description

How to correctly realize the touch function in 8. X?

What MCU/Processor/Board and compiler are you using?

ESP32-DOWDQ6-V1 + FT6336U
Microsoft VS Code + platformio + arduino

What do you want to achieve?

Touch

What have you tried so far?

7.X:
getTouchInput
printable result

8.X:
fail

Code to reproduce

#include <lvgl.h>
#include <TFT_eSPI.h>

static const uint16_t screenWidth = 320;
static const uint16_t screenHeight = 240;

static lv_disp_draw_buf_t draw_buf;
static lv_color_t buf[screenWidth * 10];

TFT_eSPI tft = TFT_eSPI(screenWidth, screenHeight); /* TFT instance */

void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
  uint32_t w = (area->x2 - area->x1 + 1);
  uint32_t h = (area->y2 - area->y1 + 1);

  tft.startWrite();
  tft.setAddrWindow(area->x1, area->y1, w, h);
  tft.pushColors((uint16_t *)&color_p->full, w * h, true);
  tft.endWrite();

  lv_disp_flush_ready(disp);
}

void getTouchInput(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
{
  Serial.print(" x ");
}

void setup()
{
  Serial.begin(115200); 
  String LVGL_Arduino = "Hello Arduino! ";
  LVGL_Arduino += String('V') + lv_version_major() + "." + lv_version_minor() + "." + lv_version_patch();

  Serial.println(LVGL_Arduino);
  Serial.println("I am LVGL_Arduino");

  lv_init();

  tft.begin();
  tft.setRotation(0); 
  lv_disp_draw_buf_init(&draw_buf, buf, NULL, screenWidth * 10);

  static lv_disp_drv_t disp_drv;
  lv_disp_drv_init(&disp_drv);
  disp_drv.hor_res = screenWidth;
  disp_drv.ver_res = screenHeight;
  disp_drv.flush_cb = my_disp_flush;
  disp_drv.draw_buf = &draw_buf;
  lv_disp_drv_register(&disp_drv);

  static lv_indev_drv_t indev_drv; 
  lv_indev_drv_init(&indev_drv);
  indev_drv.type = LV_INDEV_TYPE_POINTER;
  indev_drv.read_cb = getTouchInput;
  lv_indev_t *my_indev = lv_indev_drv_register(&indev_drv);

  lv_obj_t *label = lv_label_create(lv_scr_act());
  lv_label_set_text(label, LVGL_Arduino.c_str());
  lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);

  Serial.println("Setup done");
}

void loop()
{
  lv_timer_handler(); 
  delay(5);
}
  static lv_indev_drv_t indev_drv; 
  lv_indev_drv_init(&indev_drv);
  indev_drv.type = LV_INDEV_TYPE_POINTER;
  indev_drv.read_cb = getTouchInput;
  lv_indev_drv_register(&indev_drv);

Screenshot and/or video

where am i going wrong :rofl:

:smiling_face_with_three_hearts: