TI中文支持网
TI专业的中文技术问题搜集分享网站

AM5728 官方最新 sdk 桌面虚拟机按键问题

SDK: ti-processor-sdk-linux-am57xx-evm-04.01.00.06-Linux-x86-Install.bin

问题描述:

    最新版 sdk 文件系统中采用的是qt5.7 ,集成了 qt  Virtual Keyboard ,但是实际测试过程中按照qt官方的要求,在 main.c 中添加了 qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); 但是点击qt 输入控件 无法弹出qt虚拟按键

   此外,在之前的sdk中,使用的是 weston-keyboard ,这个虚拟键盘在旧的sdk中是可以弹出的,然而最新的sdk同样不工作

   内核版本采用的是4.4的,没有使用最新的4.9内核

   查看 weston.log 

[21:42:59.863] Loading module '/usr/lib/weston/desktop-shell.so'
[21:42:59.865] launching '/usr/libexec/weston-keyboard'
[21:42:59.869] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'

完整的log:

EGL_KHR_vg_parent_image EGL_IMG_cl_image EGL_KHR_fence_sync
EGL_IMG_context_priority EGL_IMG_hibernate_process
EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context
EGL_KHR_wait_sync EGL_KHR_create_context
EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import
[21:43:00.003] GL version: OpenGL ES 2.0 build 1.14@3699939 (MAIN)
[21:43:00.003] GLSL version: OpenGL ES GLSL ES 1.00 build 1.14@3699939 (MAIN)
[21:43:00.003] GL vendor: Imagination Technologies
[21:43:00.003] GL renderer: PowerVR SGX 544MP
[21:43:00.003] GL extensions: GL_OES_rgb8_rgba8 GL_OES_depth24
GL_OES_vertex_half_float GL_OES_texture_float
GL_OES_texture_half_float GL_OES_element_index_uint
GL_OES_mapbuffer GL_OES_fragment_precision_high
GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image
GL_OES_EGL_image_external GL_OES_required_internalformat
GL_OES_depth_texture GL_OES_get_program_binary
GL_OES_packed_depth_stencil GL_OES_standard_derivatives
GL_OES_vertex_array_object GL_OES_egl_sync GL_OES_texture_npot
GL_OES_surfaceless_context GL_EXT_discard_framebuffer
GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
GL_EXT_multisampled_render_to_texture GL_EXT_shader_texture_lod
GL_EXT_texture_format_BGRA8888 GL_EXT_occlusion_query_boolean
GL_EXT_texture_rg GL_EXT_draw_buffers
GL_EXT_shader_framebuffer_fetch GL_IMG_shader_binary
GL_IMG_texture_compression_pvrtc
GL_IMG_texture_compression_pvrtc2 GL_IMG_texture_npot
GL_IMG_texture_format_BGRA8888 GL_IMG_read_format
GL_IMG_program_binary GL_IMG_uniform_buffer_object
GL_IMG_multisampled_render_to_texture GL_KHR_debug
[21:43:00.003] GL ES 2 renderer features:
read-back format: RGBA
wl_shm sub-image to texture: no
EGL Wayland extension: yes
[21:43:00.003] Chosen EGL config details:
RGBA bits: 8 8 8 8
swap interval range: 1 – 1
[21:43:00.003] cursor buffers unavailable, using gl cursors
[21:43:00.003] Failed to initialize backlight
[21:43:00.004] Applying calibration: 1.043478 0.000000 -12.521729 -0.023637 -1.079365 292.870972 (normalized -0.026087 1.076732)
[21:43:00.005] Output Unknown-1, (connector 36, crtc 38)
mode 480×272@59.9, preferred, current
[21:43:00.005] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
presentation clock: CLOCK_MONOTONIC, id 1
[21:43:00.006] Loading module '/usr/lib/weston/desktop-shell.so'
[21:43:00.009] launching '/usr/libexec/weston-keyboard'
[21:43:00.012] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'

请问这个问题该如何处理?或者该往哪个方向查找,官方板是否存在同样的问题

Jian Zhou:

QT官方的要求是针对QT5.7这个版本么?是不是这个方法在QT5.7上不适用?

bin li27:

回复 Jian Zhou:

qt5.7 这种使用方法是没问题的,在x86测试过正常

经过仔细分析,发现问题是由于点击控件时,虚拟键盘弹出,导致控件失去焦点,控件失去焦点时又会关闭虚拟键盘,导致虚拟键盘打开的瞬间被关闭了

分析qt虚拟键盘的源码,它的flag为:

(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::Tool | Qt::WindowDoesNotAcceptFocus)

这个flag在x86 windows linux 测试是没问题的,窗口启动时不会切换焦点,但是在am5728 weston+qt 的环境下 似乎不生效,始终会获取焦点!

 

此外,不知为何 weston-keyboard 也不会弹出呢?

yongqing wang:

回复 bin li27:

QT的别的功能正常吗,按道理这个在pc上正常就没有问题才对

bin li27:

回复 yongqing wang:

其余功能目前测试正常

bin li27:

回复 Jian Zhou:

qt-opencv-opencl-opengl-multithreaded

TI官方带的这个例程有设置分辨率的输入框,无法弹出 weston 桌面的键盘,旧的SDK可以

可以关注一下这个问题

yongqing wang:

回复 bin li27:

这个QT是SDK 自带的?自己交叉编译一个试试

bin li27:

回复 yongqing wang:

我这边有自己编译,一个效果

你们那边有板子吗?是否可以测试一下官方版是否存在这个问题

yongqing wang:

回复 bin li27:

手上没有这个板子

赞(0)
未经允许不得转载:TI中文支持网 » AM5728 官方最新 sdk 桌面虚拟机按键问题
分享到: 更多 (0)