zlgopen / awtk-linux-fb

awtk port for linux framebuffer
108 stars 49 forks source link

使用ubuntu环境进行测试时不显示鼠标 #72

Closed 18611429192 closed 2 years ago

18611429192 commented 2 years ago

我现在没有硬件板子,所以就使用安装在virtualbox中的Ubuntu虚拟机进行测试。 我按照demoui的介绍方式编译好了,执行sudo ./release/bin/demoui后界面显示正常的,但是没有显示鼠标,这时因为什么呢?我仅修改了https://github.com/zlgopen/awtk-linux-fb中介绍的内容,其他的代码都没动。 这是因为我使用了systemctl set-default multi-user.target命令么?

xianjimli commented 2 years ago

确认一下宏ENABLE_CURSOR是否定义。

18611429192 commented 2 years ago

image 这个应该是定义了的

xianjimli commented 2 years ago

这个图片文件存在吗?default/images/x1/cursor.png

18611429192 commented 2 years ago

image 也是存在的

xianjimli commented 2 years ago

在src/window_manager/window_manager_default.c: window_manager_paint_cursor里打印些调试信息看看。

18611429192 commented 2 years ago

可以具体点么,加什么

18611429192 commented 2 years ago

我的鼠标只要进入虚拟机的范围就会消失,会不会是因为这个问题呢

xianjimli commented 2 years ago

进入虚拟机后,应该由window_manager_paint_cursor绘制鼠标,你看看有没有进入canvas_draw_icon函数。

18611429192 commented 2 years ago

没有调用,我加一个printf函数,,ctrl+c退出程序后没有相关的打印

18611429192 commented 2 years ago

image image 进入这个范围随便晃了晃,点了几下,退出后没有打印this is a test

18611429192 commented 2 years ago

image 换到桌面系统,重新编译桌面版本的就能正常了,在字符模式下编译的嵌入式版本确实哪里不对劲。

sohide commented 2 years ago

虚拟机里用awtk-linux-fb鼠标是会有些问题,VMware也一样,可能是虚拟机的鼠标捕获机制问题。 虚拟机里的桌面系统由于使用了类似vmtools之类的驱动,所以鼠标在虚拟机窗口和外层系统之间切换是无缝顺滑的

18611429192 commented 2 years ago

嗯嗯,可以看下刚才我在awtk那个库提的issue么,,关于设置slide_view初始界面的那个

sohide commented 2 years ago

编辑 awtk-port/main_loop_linux.c 修改输入设备的文件名

#define MICE_DEVICE_FILENAME "/dev/input/mouse0"

有些虚拟机要把mouse0 改为 mouse1,可以尝试一下