New issue
Advanced search Search tips

Issue 866681 link

Starred by 9 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

crostini: IME switching key for IBus is not working?

Project Member Reported by mukai@chromium.org, Jul 23

Issue description

Derived from issue 826614 c22:

A user reported that the Linux app can't switch the input method registered within IBus, running under Linux VM -- maybe some combination of keyboard shortcut could drop somewhere?  This is tracking for this issue, yet I haven't set up the reproducible environment.


 
To reproduce, you can try the following:

1. Install ibus: sudo apt-get install ibus
2. Setup and start daemon: ibus-setup
3. Add more than one input method
4. Set up keyboard shortcut for switching method, such as alt-space

Then with terminal in focus, try switching. It does not work for me. 

However, commanding iBus to switch using 'ibus engine XYZ' (where XYZ is a language identifier; check 'ibus list-engine' to see options) works. However, to switch back I have to copy and paste since the keyboard no longer lets me type in English.

Perhaps the ibus daemon that is running is not receiving the keyboard shortcuts?
Note that as far as I debugged, the application (and ibus) receives key events for alt-space and ctrl-space.

So I'm still not sure why ibus fails to respond to them, I guess it somehow fails to recognize the key events correctly, possibly because chromeos might translate them so that ibus can't recognize, or chromeos might miss translating them as ibus expects? I'll check this later.
i think we're going to be in a tricky situation ... if CrOS has multiple IMEs registered, and the container has multiple IMEs registered, how do we rotate through them ?
#3: I think we do not have to rotate through them, so it's not that tricky.

Issue 826614 is to make Linux apps work with ChromeOS IMEs. This means, multiple ChormeOS IMEs will be rotated by the ChromeOS shortcut, ctrl-space. That would be done through environment variables like GTK_IM_MODULE=cros or XMODIFIERS=@im=cros, and no Linux IMEs are involved.

However, if the user chooses to use Linux IMEs for Linux apps, that's a completely different setup. Users will configure their environment as GTK_IM_MODULE=ibus or XMODIFIERS=@im=ibus, and then their Linux apps will work with those Linux IMEs. With this configurations, no ChromeOS IMEs are involved, the rotation happens only among the Linux IMEs.

It might look a bit tricky if the shortcut for rotating IMEs happens to be same among IBus and ChromeOS, but I believe it's not. ChromeOS should know whether an app is connecting to ChromeOS IMEs or not, so ChromeOS can decide properly whether the IME rotating keyboard shortcut will be consumed by itself or forwarded to the Linux environment.

(that isn't done yet, which means the key shortcuts of ChromeOS IMEs rotation isn't working on Linux app at all currently. I'll work on that later)
so you don't plan on supporting the CrOS IME in parallel with native Linux IMEs ?  that's fine to start with (and perhaps stay there), we just want to document it explicitly so there's no confusion.

Sign in to add a comment