The screen rotates 270 degrees, and the widgets does not respond after the button is clicked

Description

Hi,I encountered a problem.Before the screen is rotated, the coordinates of the button are obtained, and clicking the button can respond.
After the screen rotates, the coordinates remain unchanged and there is no response when clicking the button.

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

Xilinx mpsoc

What LVGL version are you using?

8.3.3

What do you want to achieve?

I want to know how to set the clicked coordinates after rotating the screen

What have you tried so far?

Before the screen is rotated, the coordinates of the button are obtained, and clicking the button can respond
After the screen rotates, the coordinates remain unchanged and there is no response when clicking the button

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

The code block(s) should be formatted like:

    static lv_disp_drv_t disp_drv_1;
    lv_disp_drv_init(&disp_drv_1); 

    disp_drv_1.draw_buf = &disp_inch7_buf;
    disp_drv_1.flush_cb = fbdev_flush_1;
    disp_drv_1.hor_res = 280;
    disp_drv_1.ver_res = 1424;
    disp_drv_1.antialiasing = 1;
    disp_drv_1.sw_rotate=1;
    disp_1 = lv_disp_drv_register(&disp_drv_1);
    lv_disp_set_rotation(disp_1, LV_DISP_ROT_270);

    const lv_point_t points_array_1[] = { {60,60},{712,140},{(86+178*2),785},{(86+178*3),785},{(86+178*4),785},{(86+178*5),785},{(86+178*6),785},{(86+178*7),785}};

    static lv_indev_drv_t indev_button_1;
    lv_indev_drv_init(&indev_button_1); /*Basic initialization*/
    indev_button_1.type = LV_INDEV_TYPE_BUTTON;
    indev_button_1.disp=disp_1;
    indev_button_1.read_cb = button_read_1;
    lv_indev_t * button_indev_1 = lv_indev_drv_register(&indev_button_1);

    lv_indev_set_button_points(button_indev_1, points_array_1);

static void event_cb(lv_event_t * e)
{
    lv_indev_t* indev = lv_indev_get_act();  //获取活动界面输入设备
    lv_point_t point;
    lv_indev_get_point(indev, &point);
    printf("x=%d,y=%d\n",point.x,point.y);
    LV_LOG_USER("Clicked");

    static uint32_t cnt = 1;
    lv_obj_t * btn = lv_event_get_target(e);
    lv_obj_t * label = lv_obj_get_child(btn, 0);
    lv_label_set_text_fmt(label, "%"LV_PRIu32, cnt);
    cnt++;
}


void first_1(lv_disp_t * disp,const char *text,int choice)
{
    cur_scr_act = lv_disp_get_scr_act(disp);
    lv_obj_clean(cur_scr_act);
    lv_obj_set_style_bg_color(cur_scr_act,lv_color_make(64,64,64),0);
    lv_obj_clear_flag(cur_scr_act,LV_OBJ_FLAG_SCROLLABLE);

    lv_obj_t * btn = lv_btn_create(cur_scr_act);
    lv_obj_set_size(btn, 100, 100);
    lv_obj_align(btn,LV_ALIGN_TOP_LEFT,10,10);
    lv_obj_add_event_cb(btn, event_cb, LV_EVENT_CLICKED, NULL);

    lv_obj_t * label = lv_label_create(btn);
    lv_label_set_text(label, "Click me!");
    lv_obj_center(label);

    lv_obj_update_layout(btn);

    printf("btn_x=%d,btn_y=%d\n",lv_obj_get_x(btn),lv_obj_get_y(btn));
    printf("btn_x=%d,btn_y=%d\n",lv_obj_get_width(btn),lv_obj_get_height(btn));

The coordinates of the print button before and after screen rotation are the same, and they are the first entity button used.How many coordinates should I set in points_array

Screenshot and/or video

If possible, add screenshots and/or videos about the current state.
Normal

@embeddedt @kisvegabor
Can give me some advice? Thank in advance

Screen rotation rotates only the rendered image. The touch and external button coordinates needs to be rotated independently but it’s usually much simpler: just x/y swapping and/or inverting. You can do this in the read_cb of the input device.