<protocol name="qt_key_unstable_v1">

    <copyright>
 Copyright (C) 2018 The Qt Company Ltd.
 SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
    </copyright>

    <interface name="zqt_key_v1" version="1">
        <description summary="send serialized QKeyEvents">
            This protocol is independent of the Wayland seat concept. Its
            intention is to let a QKeyEvent be transferred from a Qt compositor
            to a Qt client without losing or adding false information by going
            through wl_seat and wl_keyboard.

            Note: This protocol is considered private to Qt. We will do our
            best to bump version numbers when we make backwards compatible
            changes, bump the protocol name and interface suffixes when we make
            backwards incompatible changes, but we provide no guarantees. We
            may also remove the protocol without warning. Implement this at
            your own risk.
        </description>
        <event name="key">
            <description summary="send key event">
                The key event notifies the client that a QKeyEvent has occurred on
                the server side.
            </description>
            <arg name="surface" type="object" interface="wl_surface"/>
            <arg name="time" type="uint"/>
            <arg name="type" type="uint"/>
            <arg name="key" type="uint"/>
            <arg name="modifiers" type="uint"/>
            <arg name="nativeScanCode" type="uint"/>
            <arg name="nativeVirtualKey" type="uint"/>
            <arg name="nativeModifiers" type="uint"/>
            <arg name="text" type="string"/>
            <arg name="autorepeat" type="uint"/>
            <arg name="count" type="uint"/>
        </event>
    </interface>
</protocol>
