Wayland Input Methods Slides

Wayland Input Methods Slides

Wayland Input Methods Michael Hasselmann Openismus GmbH Wayland Input Methods Input methods? Wayland Input Methods Input method developers want a unified architecture! (And UI toolkits don't want to bother too much …) Wayland Input Methods No protocol evolution in XIM https://mail.gnome.org/archives/wm-spec- list/2007-August/msg00025.html Wayland Input Methods One display server, many platforms Shell Extensions Applications Shells & Window Managers Toolkits Gnome Plasma/ Qt Quick Unity ST/Mx Elementary Shell Plasma Active Components Mutter Compiz KWin Qt/QML GTK+ Clutter Evas/Edje SDL Display Server Xorg Weston Kernel Much better, more detailed: http://blog.mecheye.net/2012/06/the-linux-graphics-stack/ (Jasper „magcius“ St. Pierre) Wayland Input Methods Wayland 1.0: No input methods (but lots of crazy talk @ FOSDEM 2012) Wayland Input Methods One protocol, three interfaces Input methods protocol/input_method.xml interfaces: input_method_context, input_method, input_panel, input_panel_surface requests: commit_string, preedit_string, preedit_styling, keysym … events: surrounding_text, reset, content_type, invoke_action, commit, … Wayland Input Methods One protocol, three interfaces Weston Input methods examples: protocol/input_method.xml clients/keyboard.c clients/editor.c interfaces: clients/weston-simple-im.c input_method_context, input_method, input_panel, generated headers: input_panel_surface input-method-client- protocol.h requests: input-method-server- commit_string, protocol.h preedit_string, text-client-protocol.h preedit_styling, keysym … text-server-protocol.h events: surrounding_text, reset, content_type, invoke_action, commit, … Wayland Input Methods One protocol, three interfaces UI toolkits Weston Input methods protocol/text.xml examples: protocol/input_method.xml clients/keyboard.c interfaces: clients/editor.c interfaces: text_model, clients/weston-simple-im.c input_method_context, text_model_factory input_method, input_panel, API (generated from XML): input_panel_surface requests: input-method-client- set_surrounding_text, protocol.h requests: activate, deactivate, input-method-server- commit_string, set_content_type, … protocol.h preedit_string, text-client-protocol.h preedit_styling, keysym, … events: text-server-protocol.h commit_string, events: preedit_string, surrounding_text, reset, preedit_styling, keysm, … content_type, invoke_action, commit, … Wayland Input Methods Architecture Overview Application (Qt) Application (EFL) Wayland & Wayland & Application (GTK+) Wayland text Wayland text Interface Interface (text_model) (text_model) Weston Input Method Wayland & Wayland input method Interfaces (input_method_context, input_panel_surface) https://wiki.maliit.org/Wayland_Input_Method_System_Proposal Wayland Input Methods Weston Keyboard & EFL Wayland Input Methods Maliit Keybord & EFL Wayland Input Methods Sub-surfaces (in X11: transient hints) Wayland Input Methods Sub-surfaces & input methods Wayland Input Methods IPC with sync calls application compositor input method Wayland Input Methods IPC + sequence numbers application requests: input method requests: activate(n) set_surrounding_text(n) (idle) set_cursor_position(n) commit(n) preedit_string(n) reset(n+1) commit_string(n) reset(n+1) commit_string(n+1) Wayland Input Methods Videos & more details @ blog.jpetersen.org Wayland Input Methods ? Wayland Input Methods.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us