Wayland Input Methods

Wayland Input Methods

Wayland Input Methods Michael Hasselmann Wayland Input Methods Wayland? wayland.freedesktop.org Wayland Input Methods Input methods? Wayland Input Methods Input methods? (first time presenting in front of target audience!) Wayland Input Methods Input methods → text input traditional use-cases mobile & embedded from desktop use-cases (mouse + hwkb) (touch display) Wayland Input Methods Input methods → text input maliit.org Wayland Input Methods MeeGo Harmattan Nokia N9 ships Development starts Feb. 2010 Feb. 2011 June Oct. Feb. 2012 Code made available on gitorious Maliit 0.80 Dedicated infrastructure Wayland Input Methods Maliit 0.90 Maliit added to (unstable) OpenEmbedded's meta layer Jolla demos Canonical contributes Plasma Active SailfishOS, 250+ patches to chooses Maliit uses Maliit Maliit Keyboard Mar. 2012 May 2012 Aug. 2012 Nov. 2012 Mar. 2013 Apr. 2012 Jul. 2012 Oct. 2012 Feb. 2013 Apr. 2013 OLPC chooses Wayland input Canonical uses Maliit Maliit methods work starts, for its MWC demos based on Maliit API Maliit 0.99 “Road to 1.0”: (unstable) Maliit to target Qt5/QtQuick2 Wayland Input Methods GNOME joins the Wayland party! (Still) focused on desktop → good environment to test completeness live.gnome.org/Wayland/Gaps Wayland Input Methods Wayland 1.0: No input methods (planned for inclusion in Wayland 1.2) 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 protocol/input_method.xml examples: interfaces: clients/keyboard.c input_method_context, clients/editor.c input_method, input_panel, clients/weston-simple-im.c input_panel_surface API (generated from XML): requests: input-method-client- commit_string, protocol.h preedit_string, input-method-server- preedit_styling, keysym … protocol.h text-client-protocol.h events: text-server-protocol.h surrounding_text, reset, content_type, invoke_action, commit, … Wayland Input Methods One protocol, three interfaces UI toolkits Weston Input methods protocol/text.xml protocol/input_method.xml interfaces: examples: interfaces: text_model, clients/keyboard.c input_method_context, text_model_factory clients/editor.c input_method, input_panel, clients/weston-simple-im.c input_panel_surface requests: set_surrounding_text, API (generated from XML): requests: activate, deactivate, input-method-client- commit_string, set_content_type, … protocol.h preedit_string, input-method-server- preedit_styling, keysym … events: protocol.h commit_string, text-client-protocol.h events: preedit_string, text-server-protocol.h 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) wiki.maliit.org/Wayland_Input_Method_System_Proposal Wayland Input Methods Weston Keyboard & EFL Wayland Input Methods Maliit Keybord & EFL 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 (unmerged) code @ github.com/openismus 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
    20 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