Skip to content
  • Martin Flöser's avatar
    Implement wl_text_input and zwp_text_input_v2 interfaces · 905e6996
    Martin Flöser authored
    Summary:
    This change introduces support for text input. Text input allows to
    compose text on the server (e.g. through a virtual keyboard) and sent
    the composed text to the client.
    
    There are multiple interfaces for text input. QtWayland 5.6 uses
    wl_text_input, QtWayland 5.7 uses zwp_text_input_v2.
    
    wl_text_input is from pre Wayland-Protocols times and considered as
    UnstableV0 in this implementation. The other interface is UnstableV2.
    Unfortunately the V2 variant is not yet part of Wayland-Protocols, but
    used in Qt.
    
    The implementation hides the different interfaces as good as possible.
    The general idea is the same, the differences are rather minor.
    
    This means changes to how interfaces are wrapped normally. On client
    side in the Registry a manager is factored which represent either of
    the two interfaces. Similar on the server side Display's factory method
    takes an argument to decide which interface should be factored. This
    way a user of the library can expose both interfaces and thus be
    compatible with Qt 5.6 and Qt 5.7 onwards.
    
    Reviewers: #plasma
    
    Subscribers: plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D1631
    905e6996