LVGL input in version 9

im using lvgl version 9 with eclipse simulator with sdl
i made a list and added a bunch of buttons into it. i added all of the buttons to a group that my keyboard indev is assigned to.
problem is that using arrow keys i cant select them. i should press tab to cycle between them and i have to press tab twice every time i want to cycle to the next option. and if i try to move fast, it just stops working.
in text fields it has the same problem.
i dont know, and i tried everything i could before posting.

also. every key on keyboard acts like a TAB key and they just go down in the list. and not to mention, every single one should be pressed twice for it to work

i also tried to replace list with normal object and add buttons by hand. still exact same problem happens

this is my indev in main
i add my buttons that i add to the list into this group that i also give my indev to.

  lv_indev_t *keyboard = lv_sdl_keyboard_create();
  menu_system.group = lv_group_create();
  lv_group_remove_all_objs(menu_system.group);
  lv_indev_set_group(keyboard, menu_system.group);
  lv_indev_add_event_cb(keyboard, keyIn, LV_EVENT_PRESSED, NULL);
  lv_indev_set_disp(keyboard, disp);

Found it. lvgl is kinda expecting SDL to send 2 events, a press and a release. but SDL only returns pressed EVENT. so you have to do this line after initiating your keyboard “lv_indev_set_mode(keyboard, LV_INDEV_MODE_NONE);”

in full

  lv_indev_t *keyboard = lv_sdl_keyboard_create();
  lv_indev_set_mode(keyboard, LV_INDEV_MODE_NONE);

this makes it so that every event is processed twice and simulate feel of press-release

to check the problem yourself, just add some logs to “lv_sdl_keyboard.c” in the method “sdl_keyboard_read”.

i dont know why make this wrong system as default in sdl keyboard.