
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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages18 Page
-
File Size-