Mouse not working in Frame Buffer on Linux


I am building an application to run on the frame buffer on a rpi. I am able to run the demo widget slideshow but i am unable to get the mouse to work. I am using the libinput library and am using the platformio SDL project as an example of adding the mouse in with the addition of a cusor image being added and bound to the cursor. The cursor image shows in the top left of the screen. I have enabled logging and the timer for the mouse doesnt appear to be running.

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

Rpi4 with platformio. I had to manually link libinput in buildargs

What LVGL version are you using?


What do you want to achieve?

I want the mouse cursor to move in the frame buffer

What have you tried so far?

enabled logging at the info level to see if the timer executed the call back

Code to reproduce

Here is my initiation of the frame buffer as well as the mouse


  const char *device = getenv_default("LV_LINUX_FBDEV_DEVICE", "/dev/fb0");
  lv_display_t *disp = lv_linux_fbdev_create();

  lv_linux_fbdev_set_file(disp, device);

  char *mousePath = lv_libinput_find_dev(LV_LIBINPUT_CAPABILITY_POINTER, true);
  lv_indev_t *mouse = lv_libinput_create(LV_INDEV_TYPE_POINTER, mousePath);

  lv_indev_set_group(mouse, lv_group_get_default());
  lv_indev_set_display(mouse, disp);

  lv_obj_t *cursor_obj;
  cursor_obj = lv_image_create(lv_screen_active());
  lv_image_set_src(cursor_obj, &mouse_cursor_icon);
  lv_indev_set_cursor(mouse, cursor_obj);

Screenshot and/or video

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

ok, the thread actually was running but this code “char *mousePath = lv_libinput_find_dev(LV_LIBINPUT_CAPABILITY_POINTER, true);” was not returning a mouse, it was returning vc4-hdmi-0 which apparently met the conditions of a mouse