-
Notifications
You must be signed in to change notification settings - Fork 201
--enable-wayland-ime fails on chromium-ozone-wayland 86.0.4240.198 #430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Just tested with 89.0.4387.0 and it works well. Does your system have necessary protocols supported? Can you upgrade to the newest version? |
hi msisov |
yes, it was. Can you run chromium with WAYLAND_DEBUG=1 chrome --your_args and paste the output here?
M89 is an unstable branch. I only push stable releases of Chromium here. |
chromium 80 log link chromium 86 loglink |
From the logs, I can see that ZWPTextInputWrapperV1 is created and it does get some calls (like set_cursor_rectangle, etc). These calls happen here WaylandInputMethodContext whenever a window gets focus. Looks like it doesn't happen in your case for some reason and you should investigate InputMethodAuraLinux |
Hi msisov I do not know why cannot set has_keyboard_focus in our codebase. |
@cchsu23 actually, there can be systems without keyboard at all. So, it seems like a bug then. I think it should get current active window instead or better Chrome passes desired accelerated widget. As a workaround, I'd suggest to return active window now -
|
I already tried window->IsActive(), it seems not working... |
How can I get main windows? |
Actually, I was contacted some time ago about slightly a different issue, but the root cause was the same. I bet you don't have a keyboard attached. Is that correct? And you use a touch screen, don't you? That's the reason why even IsActive doesn't work for you. There is actually a bug in weston that activates windows only if they have a kbd focus. See https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/568#note_828078 . While it's a bug in weston, I admit Chromium also doesn't behave 100% correct. I believe the WaylandInputMethodContext::Focus() should probably get a widget of a window that Chromium's ime implementation want to set focus to. I'll make a bug for that in crbug. |
Hi Msisov, And, I will try WaylandInputMethodContext::Focus() to see if get the the window. |
That is strange! This part of code below has always been there since WaylandInputMethodContext was written.
gfx::AcceleratedWidget is just internal representation of a native window in Chromium. You can think about it as an id of a native window. |
Thanks, That's why I open this ticket. see my first comment on the top... |
Hi Msisov But not for me, I use ivi-shell based... |
Hi, I would like to bring this thread up again, adding some info on the topic. I'm working on two systems, one based on x86 and the other one on i.MX8MM cpu. On the x86 machine, all versions of chrome (from 85 to 91) do work great without any issue on the virtual keyboard. On the i.MX8MM instead, starting from chromium > 83 the keyboard just doesn't show up (without a usb keyboard connected). Clicking on the URL bar doesn't have any effect at all, just like clicking outside the input text. With this patch: https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/568/diffs#note_828078 On my side, I'm experimenting right now with chromium 88.0.4324.150 on both x86 and imx8mm. The only difference is the yocto branch. On the x86 machine, I'm still on Zeus branch while imx8mm is on development on Gatesgarth branch. I have also tested weston (instead of weston-imx) and also wayland-protocols (instead of weston-protocols-imx) but the result is the same. @cchsu23 on what system do you have this keyboard issue? Maybe this is the reason why @msisov was not seeing the issue on his side, it may depend on the CPU we are using. I tested a small change on the Focus function:
Instead of using GetCurrentKeyboardFocusedWindow() i tried to use GetCurrentFocusedWindow() which made the keyboard show up when clicking on the URL bar. This result was nice, but I don't know if this is correct or not. The weird thing is, clicking on other input texts doesn't show up the keyboard, but if I click on the input text, then on the URL bar, and then back to the input text, this time the keyboard show up. This behaviour is reproducible on all input texts, if I jump on the URL bar, and then on the input text, it works. Does anybody have any idea what is happening? |
I am using mt2712 32-bit userland. This issue is fixed when I use kiosk-shell instead of use ivi-shell. |
I also get some weird behavior on
I applied some monkey patches to fix these issues: |
I just found out what the difference was between x86 image (on which the virtual keyboard was working) and the imx8mm on which the virtual keyboard was never activated. I added an unused gpio on the device tree compatible with "gpio-keys" and also activated on the kernel the gpio keys support. Now the virtual keyboard shows up as expected. I know this is just a work around for this weston/chromium bug, but it is the easiest way I found so far to overcome this issue. |
Hi, were you able to run chromium on ivi-shell? I use Wayland-ivi-extension and want to run chromium on this. |
which can works with 80.0.3987.132 and 83.0.4103.116
The text was updated successfully, but these errors were encountered: