Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt VirtualKeyboard not loading with QtWayland ServerSide-Decoration example



  • Hello,

    I have built qt 5.14.0 with wayland and virtualkeyboard plugin.

    RIght now I am running wayland server-side-decoration example for server side on EGLFS platform. On client side I am running my custom application on wayland platform.

    Now, I have added InputPanel code into main.qml of server-side-decoration example for loading virtualkeyboard plugin.

    import QtQuick 2.5
    import QtQuick.Window 2.2
    import QtQuick.Layouts 1.3
    import QtWayland.Compositor 1.3
    import QtQuick.VirtualKeyboard 2.1

    WaylandCompositor {
    // The output defines the screen.
    WaylandOutput {
    sizeFollowsWindow: true
    window: Window {
    width: 1024
    height: 600
    visible: true
    Rectangle {
    anchors.fill: parent
    gradient: "MorpheusDen"
    }

            Repeater {
                model: shellSurfaces
                Column {
                    id: chrome
                    width: shellSurfaceItem.implicitWidth
                    Rectangle {
                        visible: modelData.toplevel.decorationMode === XdgToplevel.ServerSideDecoration
                        width: parent.width
                        //height: 30
                        height: 0
                        gradient: "HeavyRain";
                        Text {
                            text: modelData.toplevel.title
                            anchors.centerIn: parent
                        }
    

    // Item {
    // anchors.right: parent.right
    // width: 30
    // height: 30
    // Text { text: "X"; anchors.centerIn: parent }
    // TapHandler {
    // onTapped: modelData.toplevel.sendClose()
    // }
    // }
    // DragHandler {
    // target: chrome
    // }
    }
    InputPanel {
    visible: active
    y: active ? parent.height - height : parent.height
    anchors.left: parent.left
    anchors.right: parent.right
    }
    ShellSurfaceItem {
    id: shellSurfaceItem
    moveItem: parent
    autoCreatePopupItems: true
    shellSurface: modelData
    onSurfaceDestroyed: shellSurfaces.remove(index)
    }
    }
    }
    }
    }
    XdgShell {
    onToplevelCreated: shellSurfaces.append({shellSurface: xdgSurface});
    }
    XdgDecorationManagerV1 {
    preferredMode: XdgToplevel.ServerSideDecoration
    }
    ListModel { id: shellSurfaces }
    TextInputManager {}
    }

    What is happening when I executing my client side application. When I touch on lineedit box it opens un-visible keyboard means no keyboard is there I only feeling the show hide event. If anyone have any solution for this issue it would be great help to me.

    Thanks


Log in to reply