Input method and input/output redirect under wayland

Jan Arne Petersen jpetersen at openismus.com
Thu Aug 30 14:56:10 PDT 2012


On 08/30/2012 11:15 PM, Yichao Yu wrote:
> On Thu, Aug 30, 2012 at 3:32 PM, Jan Arne Petersen
> <jpetersen at openismus.com> wrote:
>> The im server would just specify a surface, see current input_panel
>> interface at
>> http://cgit.freedesktop.org/wayland/weston/tree/protocol/desktop-shell.xml?id=86adef9d54d41b1594749c00abab24482248fa5c#n102.
>> I plan to merge that interface into the input_method interface though
>> and there will be an enum argument for having the surface positioned at
>> the cursor (currently it just supports virtual keyboard like surfaces at
>> the bottom of the screen).
> Following the cursor definitely need to be supported.
> 
>>
>> The application will notify the compositor about the cursor location via
>> the set_micro_focus request in the text_model interface
>> http://cgit.freedesktop.org/wayland/weston/tree/protocol/text.xml?id=86adef9d54d41b1594749c00abab24482248fa5c#n20
> 
> So if I understand it correctly (correct me if I am wrong), the im
> server can get information about the input surface (e.g. sth like a
> text entry widget) and the cursor location in local coordinate of that
> surface (which is not redirected) and it can request the compositor to
> locate (and redirect if necessary) its overlay window at/around that
> position?

The im server would not get the cursor location itself but just request
to get its overlay window positioned at the cursor.

> I am also interested in whether this information can be passed and
> used by another process (another wayland client)? It is possible now
> to draw the input method interface by another process examples are
> kimpanel[1] and kimtoy[2] both of which use a custom dbus protocol to
> get information from the im server and draw the overlay window for it.
> This is important for having a native user interface (kimpanel use
> plasma-widget), keeping the im-server simple and reducing its
> dependence (it doesn't need to worry about rendering or theming or any
> kinds of eye candy etc.).
> 
> Is it possible to add support for this (let a separate wayland client
> to render the inteface)? Many im framework (including Fcitx and IBus)
> already support this and it'll also be a lot easier for us to port our
> imf to wayland (and keep X support at the same time) if this feature
> can be supported.

I have not really thought about input methods distributed over multiple
processes/clients yet. But we will find a way to make it work.

Jan Arne Petersen


More information about the wayland-devel mailing list