Implementing Better On Screen Keyboard Support in Weston and Alternatives

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Implementing Better On Screen Keyboard Support in Weston and Alternatives

160 次查看
JustAnEngineerNamedJake
Contributor I

Good day,

I'm working on a device making use of NXP's i.MX93 chipset with an environment powered by Weston. Critically, this environment will need to display an on-screen keyboard (OSK).

Unfortunately, we're running into an issue with the available OSKs supported by Weston. Weston provides its own built-in OSK, but it is incredibly limited, and lacks many essential features that modern day OSKs have. It doesn't scale, it lacks graphical feedback on keys, certain keys are outright missing, it doesn't support swipe-typing, and graphically, it's not visually appealing.

So we looked around and found other OSKs, such as Squeekboard, Stevia, and wvkbd. With these OSKs, we ran into a problem: Weston doesn't support the necessary Wayland protocols to communicate with these OSKs (text-input-v3, input-method-v2, virtual-keyboard-v1, and wlr-layer-shell-v1).

Thus, I realized I was at a crossroad with 3 possible directions:

1. Fix up Weston's built-in keyboard to suit my needs.

2. Implement the necessary protocols in Weston to support the alternative Wayland OSKs.

3. Port over a different Wayland compositor which supports the protocols necessary for these OSKs (such as Wayfire, which is based on wlroots).

I'm aware that NXP provides 2D compositing acceleration for Weston using the G2D graphics library in their own fork of Weston (weston-imx). Thus, solution 3 would likely include adding support for G2D acceleration to the wlroots Wayland compositor library.

Thus, here's my question:

Has anyone else ran into this issue and what approach did you end up taking? Is there a possibility to have NXP officially support wlroots-based Wayland compositors as an alternative to Weston? Other ideas?

Thank you for your time!

0 项奖励
回复
1 回复

117 次查看
joanxie
NXP TechSupport
NXP TechSupport

wlroots-based Wayland isn't supported by NXP official, 

it Seems wlroots only support wl_drm and zwp_linux_dmabuf_v1_interface that mesa supported.

https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/egl/drivers/dri2/platform_wayland.c#L2008

maybe you can refer to weston add the eglBindWaylandDisplayWL calling in wlroots.

https://gitlab.freedesktop.org/wayland/weston/-/blob/main/libweston/renderer-gl/egl-glue.c#L657

0 项奖励
回复