@@ -122,12 +122,23 @@ void HalEsp32::init()
122122 lv_display_set_rotation (lvDisp, LV_DISPLAY_ROTATION_90 );
123123 bsp_display_backlight_on ();
124124
125- // // Touchpad lvgl indev
126- // mclog::tagInfo(_tag, "create lvgl touchpad indev");
127- // lvTouchpad = lv_indev_create();
128- // lv_indev_set_type(lvTouchpad, LV_INDEV_TYPE_POINTER);
129- // lv_indev_set_read_cb(lvTouchpad, lvgl_read_cb);
130- // lv_indev_set_display(lvTouchpad, lvDisp);
125+ lvTouchpad = bsp_display_get_input_dev ();
126+ if (lvTouchpad == nullptr )
127+ {
128+ mclog::tagWarn (_tag, " LVGL touch input not provided by BSP; creating fallback driver" );
129+
130+ lvTouchpad = lv_indev_create ();
131+ if (lvTouchpad == nullptr )
132+ {
133+ mclog::tagError (_tag, " Failed to allocate LVGL touch input device" );
134+ }
135+ else
136+ {
137+ lv_indev_set_type (lvTouchpad, LV_INDEV_TYPE_POINTER );
138+ lv_indev_set_read_cb (lvTouchpad, lvgl_read_cb);
139+ lv_indev_set_display (lvTouchpad, lvDisp);
140+ }
141+ }
131142
132143 mclog::tagInfo (_tag, " usb host init" );
133144 bsp_usb_host_start (BSP_USB_HOST_POWER_MODE_USB_DEV , true );
0 commit comments