import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -defaultplatform -nonrelocatable -dependencies dependencies.json QtQuick.VirtualKeyboard 2.14'

Module {
    dependencies: [
        "Qt.labs.folderlistmodel 2.1",
        "QtQuick 2.0",
        "QtQuick.Layouts 1.0",
        "QtQuick.Window 2.2"
    ]
    Component {
        name: "QAbstractItemModel"
        prototype: "QObject"
        Enum {
            name: "LayoutChangeHint"
            values: {
                "NoLayoutChangeHint": 0,
                "VerticalSortHint": 1,
                "HorizontalSortHint": 2
            }
        }
        Enum {
            name: "CheckIndexOption"
            values: {
                "NoOption": 0,
                "IndexIsValid": 1,
                "DoNotUseParent": 2,
                "ParentIsInvalid": 4
            }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
            Parameter { name: "roles"; type: "QVector<int>" }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
        }
        Signal {
            name: "headerDataChanged"
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutChanged" }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutAboutToBeChanged" }
        Signal {
            name: "rowsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal { name: "modelAboutToBeReset" }
        Signal { name: "modelReset" }
        Signal {
            name: "rowsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationRow"; type: "int" }
        }
        Signal {
            name: "rowsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "row"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationColumn"; type: "int" }
        }
        Signal {
            name: "columnsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "column"; type: "int" }
        }
        Method { name: "submit"; type: "bool" }
        Method { name: "revert" }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "parent"
            type: "QModelIndex"
            Parameter { name: "child"; type: "QModelIndex" }
        }
        Method {
            name: "sibling"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "idx"; type: "QModelIndex" }
        }
        Method {
            name: "rowCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "rowCount"; type: "int" }
        Method {
            name: "columnCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "columnCount"; type: "int" }
        Method {
            name: "hasChildren"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "hasChildren"; type: "bool" }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
        }
        Method {
            name: "fetchMore"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "canFetchMore"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "flags"
            type: "Qt::ItemFlags"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
            Parameter { name: "flags"; type: "Qt::MatchFlags" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
        }
    }
    Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" }
    Component {
        name: "QVirtualKeyboardAbstractInputMethod"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/AbstractInputMethod 1.0",
            "QtQuick.VirtualKeyboard/AbstractInputMethod 2.0"
        ]
        isCreatable: false
        exportMetaObjectRevisions: [0, 0]
        Signal {
            name: "selectionListChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
        }
        Signal {
            name: "selectionListActiveItemChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
            Parameter { name: "index"; type: "int" }
        }
        Signal { name: "selectionListsChanged" }
        Method { name: "reset" }
        Method { name: "update" }
    }
    Component {
        name: "QVirtualKeyboardInputContext"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/InputContext 1.0",
            "QtQuick.VirtualKeyboard/InputContext 2.0"
        ]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0, 0]
        Property { name: "shift"; type: "bool"; isReadonly: true }
        Property { name: "shiftActive"; revision: 4; type: "bool"; isReadonly: true }
        Property { name: "capsLock"; type: "bool"; isReadonly: true }
        Property { name: "capsLockActive"; revision: 4; type: "bool"; isReadonly: true }
        Property { name: "uppercase"; type: "bool"; isReadonly: true }
        Property { name: "anchorPosition"; type: "int"; isReadonly: true }
        Property { name: "cursorPosition"; type: "int"; isReadonly: true }
        Property { name: "inputMethodHints"; type: "Qt::InputMethodHints"; isReadonly: true }
        Property { name: "preeditText"; type: "string" }
        Property { name: "surroundingText"; type: "string"; isReadonly: true }
        Property { name: "selectedText"; type: "string"; isReadonly: true }
        Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "animating"; type: "bool" }
        Property { name: "locale"; type: "string"; isReadonly: true }
        Property { name: "inputItem"; type: "QObject"; isReadonly: true; isPointer: true }
        Property {
            name: "inputEngine"
            type: "QVirtualKeyboardInputEngine"
            isReadonly: true
            isPointer: true
        }
        Property { name: "selectionControlVisible"; type: "bool"; isReadonly: true }
        Property { name: "anchorRectIntersectsClipRect"; type: "bool"; isReadonly: true }
        Property { name: "cursorRectIntersectsClipRect"; type: "bool"; isReadonly: true }
        Property {
            name: "priv"
            type: "QVirtualKeyboardInputContextPrivate"
            isReadonly: true
            isPointer: true
        }
        Method {
            name: "sendKeyClick"
            Parameter { name: "key"; type: "int" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "modifiers"; type: "int" }
        }
        Method {
            name: "sendKeyClick"
            Parameter { name: "key"; type: "int" }
            Parameter { name: "text"; type: "string" }
        }
        Method { name: "commit" }
        Method {
            name: "commit"
            Parameter { name: "text"; type: "string" }
            Parameter { name: "replaceFrom"; type: "int" }
            Parameter { name: "replaceLength"; type: "int" }
        }
        Method {
            name: "commit"
            Parameter { name: "text"; type: "string" }
            Parameter { name: "replaceFrom"; type: "int" }
        }
        Method {
            name: "commit"
            Parameter { name: "text"; type: "string" }
        }
        Method { name: "clear" }
        Method {
            name: "setSelectionOnFocusObject"
            Parameter { name: "anchorPos"; type: "QPointF" }
            Parameter { name: "cursorPos"; type: "QPointF" }
        }
    }
    Component {
        name: "QVirtualKeyboardInputContextPrivate"
        prototype: "QObject"
        exports: ["QtQuick.VirtualKeyboard/InputContextPrivate 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "State"
            values: {
                "Reselect": 1,
                "InputMethodEvent": 2,
                "KeyEvent": 4,
                "InputMethodClick": 8,
                "SyncShadowInput": 16
            }
        }
        Property { name: "focus"; type: "bool" }
        Property { name: "keyboardRectangle"; type: "QRectF" }
        Property { name: "previewRectangle"; type: "QRectF" }
        Property { name: "previewVisible"; type: "bool" }
        Property { name: "locale"; type: "string" }
        Property { name: "inputItem"; type: "QObject"; isReadonly: true; isPointer: true }
        Property {
            name: "shiftHandler"
            type: "QtVirtualKeyboard::ShiftHandler"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "shadow"
            type: "QtVirtualKeyboard::ShadowInputContext"
            isReadonly: true
            isPointer: true
        }
        Property { name: "inputMethods"; type: "QStringList"; isReadonly: true }
        Signal {
            name: "navigationKeyPressed"
            Parameter { name: "key"; type: "int" }
            Parameter { name: "isAutoRepeat"; type: "bool" }
        }
        Signal {
            name: "navigationKeyReleased"
            Parameter { name: "key"; type: "int" }
            Parameter { name: "isAutoRepeat"; type: "bool" }
        }
        Method { name: "hideInputPanel" }
        Method {
            name: "updateAvailableLocales"
            Parameter { name: "availableLocales"; type: "QStringList" }
        }
        Method {
            name: "forceCursorPosition"
            Parameter { name: "anchorPosition"; type: "int" }
            Parameter { name: "cursorPosition"; type: "int" }
        }
        Method {
            name: "fileExists"
            type: "bool"
            Parameter { name: "fileUrl"; type: "QUrl" }
        }
        Method {
            name: "hasEnterKeyAction"
            type: "bool"
            Parameter { name: "item"; type: "QObject"; isPointer: true }
        }
    }
    Component {
        name: "QVirtualKeyboardInputEngine"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/InputEngine 1.0",
            "QtQuick.VirtualKeyboard/InputEngine 2.0"
        ]
        isCreatable: false
        exportMetaObjectRevisions: [0, 0]
        Enum {
            name: "TextCase"
            values: {
                "Lower": 0,
                "Upper": 1
            }
        }
        Enum {
            name: "InputMode"
            values: {
                "Latin": 0,
                "Numeric": 1,
                "Dialable": 2,
                "Pinyin": 3,
                "Cangjie": 4,
                "Zhuyin": 5,
                "Hangul": 6,
                "Hiragana": 7,
                "Katakana": 8,
                "FullwidthLatin": 9,
                "Greek": 10,
                "Cyrillic": 11,
                "Arabic": 12,
                "Hebrew": 13,
                "ChineseHandwriting": 14,
                "JapaneseHandwriting": 15,
                "KoreanHandwriting": 16,
                "Thai": 17
            }
        }
        Enum {
            name: "PatternRecognitionMode"
            values: {
                "None": 0,
                "PatternRecognitionDisabled": 0,
                "Handwriting": 1,
                "HandwritingRecoginition": 1
            }
        }
        Enum {
            name: "ReselectFlag"
            values: {
                "WordBeforeCursor": 1,
                "WordAfterCursor": 2,
                "WordAtCursor": 3
            }
        }
        Property { name: "activeKey"; type: "Qt::Key"; isReadonly: true }
        Property { name: "previousKey"; type: "Qt::Key"; isReadonly: true }
        Property { name: "inputMethod"; type: "QVirtualKeyboardAbstractInputMethod"; isPointer: true }
        Property { name: "inputModes"; type: "QList<int>"; isReadonly: true }
        Property { name: "inputMode"; type: "InputMode" }
        Property { name: "patternRecognitionModes"; type: "QList<int>"; isReadonly: true }
        Property {
            name: "wordCandidateListModel"
            type: "QVirtualKeyboardSelectionListModel"
            isReadonly: true
            isPointer: true
        }
        Property { name: "wordCandidateListVisibleHint"; type: "bool"; isReadonly: true }
        Signal {
            name: "virtualKeyClicked"
            Parameter { name: "key"; type: "Qt::Key" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
            Parameter { name: "isAutoRepeat"; type: "bool" }
        }
        Signal {
            name: "activeKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "previousKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal { name: "inputMethodReset" }
        Signal { name: "inputMethodUpdate" }
        Method {
            name: "virtualKeyPress"
            type: "bool"
            Parameter { name: "key"; type: "Qt::Key" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
            Parameter { name: "repeat"; type: "bool" }
        }
        Method { name: "virtualKeyCancel" }
        Method {
            name: "virtualKeyRelease"
            type: "bool"
            Parameter { name: "key"; type: "Qt::Key" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
        }
        Method {
            name: "virtualKeyClick"
            type: "bool"
            Parameter { name: "key"; type: "Qt::Key" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
        }
        Method {
            name: "traceBegin"
            type: "QVirtualKeyboardTrace*"
            Parameter { name: "traceId"; type: "int" }
            Parameter { name: "patternRecognitionMode"; type: "PatternRecognitionMode" }
            Parameter { name: "traceCaptureDeviceInfo"; type: "QVariantMap" }
            Parameter { name: "traceScreenInfo"; type: "QVariantMap" }
        }
        Method {
            name: "traceEnd"
            type: "bool"
            Parameter { name: "trace"; type: "QVirtualKeyboardTrace"; isPointer: true }
        }
        Method {
            name: "reselect"
            type: "bool"
            Parameter { name: "cursorPosition"; type: "int" }
            Parameter { name: "reselectFlags"; type: "ReselectFlags" }
        }
    }
    Component {
        name: "QVirtualKeyboardSelectionListModel"
        prototype: "QAbstractListModel"
        exports: [
            "QtQuick.VirtualKeyboard/SelectionListModel 1.0",
            "QtQuick.VirtualKeyboard/SelectionListModel 2.0"
        ]
        isCreatable: false
        exportMetaObjectRevisions: [0, 0]
        Enum {
            name: "Type"
            values: {
                "WordCandidateList": 0
            }
        }
        Enum {
            name: "Role"
            values: {
                "Display": 0,
                "DisplayRole": 0,
                "WordCompletionLength": 257,
                "WordCompletionLengthRole": 257,
                "Dictionary": 258,
                "CanRemoveSuggestion": 259
            }
        }
        Enum {
            name: "DictionaryType"
            values: {
                "Default": 0,
                "User": 1
            }
        }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal {
            name: "activeItemChanged"
            Parameter { name: "index"; type: "int" }
        }
        Signal {
            name: "itemSelected"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "selectItem"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "removeItem"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "dataAt"
            type: "QVariant"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "role"; type: "Role" }
        }
        Method {
            name: "dataAt"
            type: "QVariant"
            Parameter { name: "index"; type: "int" }
        }
    }
    Component {
        name: "QVirtualKeyboardTrace"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/Trace 2.0",
            "QtQuick.VirtualKeyboard/Trace 2.4"
        ]
        exportMetaObjectRevisions: [0, 0]
        Property { name: "traceId"; type: "int" }
        Property { name: "channels"; type: "QStringList" }
        Property { name: "length"; type: "int"; isReadonly: true }
        Property { name: "final"; type: "bool" }
        Property { name: "canceled"; type: "bool" }
        Property { name: "opacity"; type: "double" }
        Signal {
            name: "traceIdChanged"
            Parameter { name: "traceId"; type: "int" }
        }
        Signal {
            name: "lengthChanged"
            Parameter { name: "length"; type: "int" }
        }
        Signal {
            name: "finalChanged"
            Parameter { name: "isFinal"; type: "bool" }
        }
        Signal {
            name: "canceledChanged"
            Parameter { name: "isCanceled"; type: "bool" }
        }
        Signal {
            name: "opacityChanged"
            Parameter { name: "opacity"; type: "double" }
        }
        Method {
            name: "points"
            type: "QVariantList"
            Parameter { name: "pos"; type: "int" }
            Parameter { name: "count"; type: "int" }
        }
        Method {
            name: "points"
            type: "QVariantList"
            Parameter { name: "pos"; type: "int" }
        }
        Method { name: "points"; type: "QVariantList" }
        Method {
            name: "addPoint"
            type: "int"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "setChannelData"
            Parameter { name: "channel"; type: "string" }
            Parameter { name: "index"; type: "int" }
            Parameter { name: "data"; type: "QVariant" }
        }
        Method {
            name: "channelData"
            type: "QVariantList"
            Parameter { name: "channel"; type: "string" }
            Parameter { name: "pos"; type: "int" }
            Parameter { name: "count"; type: "int" }
        }
        Method {
            name: "channelData"
            type: "QVariantList"
            Parameter { name: "channel"; type: "string" }
            Parameter { name: "pos"; type: "int" }
        }
        Method {
            name: "channelData"
            type: "QVariantList"
            Parameter { name: "channel"; type: "string" }
        }
    }
    Component {
        name: "QtVirtualKeyboard::EnterKeyAction"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/EnterKeyAction 1.0",
            "QtQuick.VirtualKeyboard/EnterKeyAction 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
        attachedType: "QtVirtualKeyboard::EnterKeyActionAttachedType"
        Enum {
            name: "Id"
            values: {
                "None": 0,
                "Go": 1,
                "Search": 2,
                "Send": 3,
                "Next": 4,
                "Done": 5
            }
        }
    }
    Component {
        name: "QtVirtualKeyboard::EnterKeyActionAttachedType"
        prototype: "QObject"
        Property { name: "actionId"; type: "int" }
        Property { name: "label"; type: "string" }
        Property { name: "enabled"; type: "bool" }
    }
    Component {
        name: "QtVirtualKeyboard::HangulInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: [
            "QtQuick.VirtualKeyboard.Plugins/HangulInputMethod 1.3",
            "QtQuick.VirtualKeyboard.Plugins/HangulInputMethod 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
    }
    Component {
        name: "QtVirtualKeyboard::InputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: [
            "QtQuick.VirtualKeyboard/InputMethod 1.0",
            "QtQuick.VirtualKeyboard/InputMethod 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
        Property {
            name: "inputContext"
            type: "QVirtualKeyboardInputContext"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "inputEngine"
            type: "QVirtualKeyboardInputEngine"
            isReadonly: true
            isPointer: true
        }
    }
    Component {
        name: "QtVirtualKeyboard::OpenWnnInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: [
            "QtQuick.VirtualKeyboard.Plugins/JapaneseInputMethod 1.3",
            "QtQuick.VirtualKeyboard.Plugins/JapaneseInputMethod 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
    }
    Component {
        name: "QtVirtualKeyboard::PinyinInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: [
            "QtQuick.VirtualKeyboard.Plugins/PinyinInputMethod 1.1",
            "QtQuick.VirtualKeyboard.Plugins/PinyinInputMethod 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
    }
    Component {
        name: "QtVirtualKeyboard::PlainInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: [
            "QtQuick.VirtualKeyboard.Plugins/PlainInputMethod 1.0",
            "QtQuick.VirtualKeyboard.Plugins/PlainInputMethod 2.0",
            "QtQuick.VirtualKeyboard.Plugins/PlainInputMethod 2.3"
        ]
        exportMetaObjectRevisions: [0, 0, 0]
    }
    Component {
        name: "QtVirtualKeyboard::ShadowInputContext"
        prototype: "QObject"
        exports: ["QtQuick.VirtualKeyboard/ShadowInputContext 2.2"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "inputItem"; type: "QObject"; isPointer: true }
        Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "anchorRectIntersectsClipRect"; type: "bool"; isReadonly: true }
        Property { name: "cursorRectIntersectsClipRect"; type: "bool"; isReadonly: true }
        Property { name: "selectionControlVisible"; type: "bool"; isReadonly: true }
        Method {
            name: "setSelectionOnFocusObject"
            Parameter { name: "anchorPos"; type: "QPointF" }
            Parameter { name: "cursorPos"; type: "QPointF" }
        }
        Method { name: "updateSelectionProperties" }
    }
    Component {
        name: "QtVirtualKeyboard::ShiftHandler"
        prototype: "QObject"
        exports: [
            "QtQuick.VirtualKeyboard/ShiftHandler 1.0",
            "QtQuick.VirtualKeyboard/ShiftHandler 2.0"
        ]
        isCreatable: false
        exportMetaObjectRevisions: [0, 0]
        Property { name: "sentenceEndingCharacters"; type: "string" }
        Property { name: "autoCapitalizationEnabled"; type: "bool"; isReadonly: true }
        Property { name: "toggleShiftEnabled"; type: "bool"; isReadonly: true }
        Property { name: "shiftActive"; type: "bool" }
        Property { name: "capsLockActive"; type: "bool" }
        Property { name: "uppercase"; type: "bool"; isReadonly: true }
        Method { name: "toggleShift" }
        Method { name: "clearToggleShiftTimer" }
    }
    Component {
        name: "QtVirtualKeyboard::TCInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: ["QtQuick.VirtualKeyboard.Plugins/TCInputMethod 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "simplified"; type: "bool" }
    }
    Component {
        name: "QtVirtualKeyboard::ThaiInputMethod"
        prototype: "QVirtualKeyboardAbstractInputMethod"
        exports: ["QtQuick.VirtualKeyboard.Plugins/ThaiInputMethod 2.3"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/AlternativeKeys 1.0"
        exports: ["QtQuick.VirtualKeyboard/AlternativeKeys 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "active"; type: "bool" }
        Property { name: "highlightIndex"; type: "int" }
        Property { name: "keyCode"; type: "int" }
        Property { name: "origin"; type: "QPointF" }
        Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
        Signal { name: "clicked" }
        Method {
            name: "open"
            type: "QVariant"
            Parameter { name: "key"; type: "QVariant" }
            Parameter { name: "originX"; type: "QVariant" }
            Parameter { name: "originY"; type: "QVariant" }
        }
        Method {
            name: "move"
            type: "QVariant"
            Parameter { name: "mouseX"; type: "QVariant" }
        }
        Method { name: "close"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/AlternativeKeys 2.0"
        exports: ["QtQuick.VirtualKeyboard/AlternativeKeys 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "active"; type: "bool" }
        Property { name: "highlightIndex"; type: "int" }
        Property { name: "keyCode"; type: "int" }
        Property { name: "origin"; type: "QPointF" }
        Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
        Signal { name: "clicked" }
        Method {
            name: "open"
            type: "QVariant"
            Parameter { name: "key"; type: "QVariant" }
            Parameter { name: "originX"; type: "QVariant" }
            Parameter { name: "originY"; type: "QVariant" }
        }
        Method {
            name: "move"
            type: "QVariant"
            Parameter { name: "mouseX"; type: "QVariant" }
        }
        Method { name: "close"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/BackspaceKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/BackspaceKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/BackspaceKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/BackspaceKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/BaseKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/BaseKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/BaseKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/BaseKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/ChangeLanguageKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/ChangeLanguageKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "customLayoutsOnly"; type: "bool" }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/ChangeLanguageKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/ChangeLanguageKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "customLayoutsOnly"; type: "bool" }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/CharacterPreviewBubble 1.0"
        exports: ["QtQuick.VirtualKeyboard/CharacterPreviewBubble 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "active"; type: "bool" }
        Property { name: "activeKey"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/CharacterPreviewBubble 2.0"
        exports: ["QtQuick.VirtualKeyboard/CharacterPreviewBubble 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "active"; type: "bool" }
        Property { name: "activeKey"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/EnterKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/EnterKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "actionId"; type: "int"; isReadonly: true }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/EnterKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/EnterKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "actionId"; type: "int"; isReadonly: true }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/FillerKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/FillerKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/FillerKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/FillerKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/HandwritingInputPanel 2.0"
        exports: ["QtQuick.VirtualKeyboard/HandwritingInputPanel 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputPanel"; type: "QVariant" }
        Property { name: "available"; type: "bool" }
        Property { name: "active"; type: "bool" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/HandwritingModeKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/HandwritingModeKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/HideKeyboardKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/HideKeyboardKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputModeKey 2.3"
        exports: ["QtQuick.VirtualKeyboard/InputModeKey 2.3"]
        exportMetaObjectRevisions: [3]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputModeNameList"; type: "QVariant" }
        Property { name: "inputModes"; type: "QVariant" }
        Property { name: "inputModeCount"; type: "int"; isReadonly: true }
        Property { name: "__inputModes"; type: "QVariant" }
        Method {
            name: "__nextInputMode"
            type: "QVariant"
            Parameter { name: "inputMode"; type: "QVariant" }
        }
        Method {
            name: "__filterInputModes"
            type: "QVariant"
            Parameter { name: "inputModes"; type: "QVariant" }
            Parameter { name: "filter"; type: "QVariant" }
        }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 1.0"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 1.2"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 1.2"]
        exportMetaObjectRevisions: [2]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 1.3"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 1.3"]
        exportMetaObjectRevisions: [3]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 2.0"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 2.1"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 2.1"]
        exportMetaObjectRevisions: [1]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 2.2"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 2.2"]
        exportMetaObjectRevisions: [2]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 2.3"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 2.3"]
        exportMetaObjectRevisions: [3]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/InputPanel 2.4"
        exports: ["QtQuick.VirtualKeyboard/InputPanel 2.4"]
        exportMetaObjectRevisions: [4]
        isComposite: true
        defaultProperty: "data"
        Property { name: "externalLanguageSwitchEnabled"; type: "bool" }
        Property { name: "desktopPanel"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "keyboard"; type: "Keyboard_QMLTYPE_22"; isReadonly: true; isPointer: true }
        Signal {
            name: "externalLanguageSwitch"
            Parameter { name: "localeList"; type: "QVariant" }
            Parameter { name: "currentIndex"; type: "int" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/Key 1.0"
        exports: ["QtQuick.VirtualKeyboard/Key 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/Key 2.0"
        exports: ["QtQuick.VirtualKeyboard/Key 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/Keyboard 1.0"
        exports: ["QtQuick.VirtualKeyboard/Keyboard 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "activeKey"; type: "QVariant" }
        Property { name: "activeTouchPoint"; type: "QQuickTouchPoint"; isPointer: true }
        Property { name: "localeIndex"; type: "int" }
        Property { name: "availableLocaleIndices"; type: "QVariant" }
        Property { name: "availableCustomLocaleIndices"; type: "QVariant" }
        Property { name: "locale"; type: "string" }
        Property { name: "inputLocale"; type: "string" }
        Property { name: "defaultLocaleIndex"; type: "int" }
        Property { name: "latinOnly"; type: "bool"; isReadonly: true }
        Property { name: "preferNumbers"; type: "bool"; isReadonly: true }
        Property { name: "dialableCharactersOnly"; type: "bool"; isReadonly: true }
        Property { name: "formattedNumbersOnly"; type: "bool"; isReadonly: true }
        Property { name: "digitsOnly"; type: "bool"; isReadonly: true }
        Property { name: "layout"; type: "string" }
        Property { name: "layoutType"; type: "string" }
        Property { name: "active"; type: "bool" }
        Property { name: "handwritingMode"; type: "bool" }
        Property { name: "fullScreenHandwritingMode"; type: "bool" }
        Property { name: "symbolMode"; type: "bool" }
        Property { name: "fullScreenMode"; type: "bool" }
        Property { name: "defaultInputMethod"; type: "QVariant" }
        Property { name: "plainInputMethod"; type: "QVariant" }
        Property { name: "customInputMethod"; type: "QVariant" }
        Property { name: "customInputMethodSharedLayouts"; type: "QVariant" }
        Property { name: "defaultInputMode"; type: "int" }
        Property { name: "inputMethodNeedsReset"; type: "bool" }
        Property { name: "inputModeNeedsReset"; type: "bool" }
        Property { name: "navigationModeActive"; type: "bool" }
        Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true }
        Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "wordCandidateView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
        Property {
            name: "shadowInputControl"
            type: "ShadowInputControl_QMLTYPE_16"
            isReadonly: true
            isPointer: true
        }
        Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Method { name: "initDefaultInputMethod"; type: "QVariant" }
        Method {
            name: "showLanguagePopup"
            type: "QVariant"
            Parameter { name: "parentItem"; type: "QVariant" }
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method { name: "hideLanguagePopup"; type: "QVariant" }
        Method {
            name: "showWordCandidateContextMenu"
            type: "QVariant"
            Parameter { name: "wordCandidateIndex"; type: "QVariant" }
        }
        Method { name: "hideWordCandidateContextMenu"; type: "QVariant" }
        Method { name: "updateInputMethod"; type: "QVariant" }
        Method { name: "updateLayout"; type: "QVariant" }
        Method { name: "updateDefaultLocale"; type: "QVariant" }
        Method {
            name: "filterLocaleIndices"
            type: "QVariant"
            Parameter { name: "filterCb"; type: "QVariant" }
        }
        Method { name: "updateAvailableLocaleIndices"; type: "QVariant" }
        Method {
            name: "listLocales"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
            Parameter { name: "localeNameOnly"; type: "QVariant" }
        }
        Method {
            name: "nextLocaleIndex"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "changeInputLanguage"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "canChangeInputLanguage"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "findLocale"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "defaultValue"; type: "QVariant" }
        }
        Method { name: "findFallbackIndex"; type: "QVariant" }
        Method {
            name: "isValidLocale"
            type: "QVariant"
            Parameter { name: "localeNameOrIndex"; type: "QVariant" }
            Parameter { name: "ignoreActiveLocales"; type: "QVariant" }
        }
        Method {
            name: "getLayoutFile"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "getFallbackFile"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "layoutExists"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "findLayout"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method { name: "isHandwritingAvailable"; type: "QVariant" }
        Method {
            name: "setHandwritingMode"
            type: "QVariant"
            Parameter { name: "enabled"; type: "QVariant" }
            Parameter { name: "resetInputMode"; type: "QVariant" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/Keyboard 2.0"
        exports: ["QtQuick.VirtualKeyboard/Keyboard 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "activeKey"; type: "QVariant" }
        Property { name: "activeTouchPoint"; type: "QQuickTouchPoint"; isPointer: true }
        Property { name: "localeIndex"; type: "int" }
        Property { name: "availableLocaleIndices"; type: "QVariant" }
        Property { name: "availableCustomLocaleIndices"; type: "QVariant" }
        Property { name: "locale"; type: "string" }
        Property { name: "inputLocale"; type: "string" }
        Property { name: "defaultLocaleIndex"; type: "int" }
        Property { name: "latinOnly"; type: "bool"; isReadonly: true }
        Property { name: "preferNumbers"; type: "bool"; isReadonly: true }
        Property { name: "dialableCharactersOnly"; type: "bool"; isReadonly: true }
        Property { name: "formattedNumbersOnly"; type: "bool"; isReadonly: true }
        Property { name: "digitsOnly"; type: "bool"; isReadonly: true }
        Property { name: "layout"; type: "string" }
        Property { name: "layoutType"; type: "string" }
        Property { name: "active"; type: "bool" }
        Property { name: "handwritingMode"; type: "bool" }
        Property { name: "fullScreenHandwritingMode"; type: "bool" }
        Property { name: "symbolMode"; type: "bool" }
        Property { name: "fullScreenMode"; type: "bool" }
        Property { name: "defaultInputMethod"; type: "QVariant" }
        Property { name: "plainInputMethod"; type: "QVariant" }
        Property { name: "customInputMethod"; type: "QVariant" }
        Property { name: "customInputMethodSharedLayouts"; type: "QVariant" }
        Property { name: "defaultInputMode"; type: "int" }
        Property { name: "inputMethodNeedsReset"; type: "bool" }
        Property { name: "inputModeNeedsReset"; type: "bool" }
        Property { name: "navigationModeActive"; type: "bool" }
        Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true }
        Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "wordCandidateView"; type: "QQuickListView"; isReadonly: true; isPointer: true }
        Property {
            name: "shadowInputControl"
            type: "ShadowInputControl_QMLTYPE_16"
            isReadonly: true
            isPointer: true
        }
        Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Method { name: "initDefaultInputMethod"; type: "QVariant" }
        Method {
            name: "showLanguagePopup"
            type: "QVariant"
            Parameter { name: "parentItem"; type: "QVariant" }
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method { name: "hideLanguagePopup"; type: "QVariant" }
        Method {
            name: "showWordCandidateContextMenu"
            type: "QVariant"
            Parameter { name: "wordCandidateIndex"; type: "QVariant" }
        }
        Method { name: "hideWordCandidateContextMenu"; type: "QVariant" }
        Method { name: "updateInputMethod"; type: "QVariant" }
        Method { name: "updateLayout"; type: "QVariant" }
        Method { name: "updateDefaultLocale"; type: "QVariant" }
        Method {
            name: "filterLocaleIndices"
            type: "QVariant"
            Parameter { name: "filterCb"; type: "QVariant" }
        }
        Method { name: "updateAvailableLocaleIndices"; type: "QVariant" }
        Method {
            name: "listLocales"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
            Parameter { name: "localeNameOnly"; type: "QVariant" }
        }
        Method {
            name: "nextLocaleIndex"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "changeInputLanguage"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "canChangeInputLanguage"
            type: "QVariant"
            Parameter { name: "customLayoutsOnly"; type: "QVariant" }
        }
        Method {
            name: "findLocale"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "defaultValue"; type: "QVariant" }
        }
        Method { name: "findFallbackIndex"; type: "QVariant" }
        Method {
            name: "isValidLocale"
            type: "QVariant"
            Parameter { name: "localeNameOrIndex"; type: "QVariant" }
            Parameter { name: "ignoreActiveLocales"; type: "QVariant" }
        }
        Method {
            name: "getLayoutFile"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "getFallbackFile"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "layoutExists"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method {
            name: "findLayout"
            type: "QVariant"
            Parameter { name: "localeName"; type: "QVariant" }
            Parameter { name: "layoutType"; type: "QVariant" }
        }
        Method { name: "isHandwritingAvailable"; type: "QVariant" }
        Method {
            name: "setHandwritingMode"
            type: "QVariant"
            Parameter { name: "enabled"; type: "QVariant" }
            Parameter { name: "resetInputMode"; type: "QVariant" }
        }
    }
    Component {
        prototype: "QQuickColumnLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardColumn 1.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardColumn 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
    }
    Component {
        prototype: "QQuickColumnLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardColumn 2.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardColumn 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
    }
    Component {
        prototype: "QQuickColumnLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardLayout 1.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardLayout 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputMethod"; type: "QVariant" }
        Property { name: "sharedLayouts"; type: "QVariant" }
        Property { name: "inputMode"; type: "int" }
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
        Method { name: "createInputMethod"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickColumnLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardLayout 2.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardLayout 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputMethod"; type: "QVariant" }
        Property { name: "sharedLayouts"; type: "QVariant" }
        Property { name: "inputMode"; type: "int" }
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
        Method { name: "createInputMethod"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickLoader"
        name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1"
        exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1"]
        exportMetaObjectRevisions: [1]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputMethod"; type: "QVariant" }
        Property { name: "sharedLayouts"; type: "QVariant" }
        Property { name: "inputMode"; type: "int" }
        Property { name: "__updateCount"; type: "int" }
        Method { name: "createInputMethod"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickLoader"
        name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "inputMethod"; type: "QVariant" }
        Property { name: "sharedLayouts"; type: "QVariant" }
        Property { name: "inputMode"; type: "int" }
        Property { name: "__updateCount"; type: "int" }
        Method { name: "createInputMethod"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickRowLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardRow 1.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardRow 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
    }
    Component {
        prototype: "QQuickRowLayout"
        name: "QtQuick.VirtualKeyboard/KeyboardRow 2.0"
        exports: ["QtQuick.VirtualKeyboard/KeyboardRow 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "keyWeight"; type: "double" }
        Property { name: "smallTextVisible"; type: "bool" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/ModeKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/ModeKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "mode"; type: "bool" }
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/MultiSoundEffect 1.1"
        exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 1.1"]
        exportMetaObjectRevisions: [1]
        isComposite: true
        defaultProperty: "data"
        Property { name: "source"; type: "QUrl" }
        Property { name: "maxInstances"; type: "int" }
        Property { name: "__cachedInstances"; type: "QVariant" }
        Property { name: "__currentIndex"; type: "int" }
        Signal {
            name: "playingChanged"
            Parameter { name: "source"; type: "QUrl" }
            Parameter { name: "playing"; type: "bool" }
        }
        Method { name: "play"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/MultiSoundEffect 2.0"
        exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "source"; type: "QUrl" }
        Property { name: "maxInstances"; type: "int" }
        Property { name: "__cachedInstances"; type: "QVariant" }
        Property { name: "__currentIndex"; type: "int" }
        Signal {
            name: "playingChanged"
            Parameter { name: "source"; type: "QUrl" }
            Parameter { name: "playing"; type: "bool" }
        }
        Method { name: "play"; type: "QVariant" }
    }
    Component {
        prototype: "QObject"
        name: "QtQuick.VirtualKeyboard/MultitapInputMethod 1.0"
        exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        Property { name: "multitapSequence"; type: "string" }
        Property { name: "multitapIndex"; type: "int" }
        Property { name: "multiTapTimer"; type: "QVariant" }
        Method {
            name: "inputModes"
            type: "QVariant"
            Parameter { name: "locale"; type: "QVariant" }
        }
        Method {
            name: "setInputMode"
            type: "QVariant"
            Parameter { name: "locale"; type: "QVariant" }
            Parameter { name: "inputMode"; type: "QVariant" }
        }
        Method {
            name: "setTextCase"
            type: "QVariant"
            Parameter { name: "textCase"; type: "QVariant" }
        }
        Method { name: "reset"; type: "QVariant" }
        Method { name: "update"; type: "QVariant" }
        Method {
            name: "keyEvent"
            type: "QVariant"
            Parameter { name: "key"; type: "QVariant" }
            Parameter { name: "text"; type: "QVariant" }
            Parameter { name: "modifiers"; type: "QVariant" }
        }
        Method { name: "selectionLists"; type: "QVariant" }
        Method {
            name: "selectionListItemCount"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
        }
        Method {
            name: "selectionListData"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
            Parameter { name: "index"; type: "QVariant" }
            Parameter { name: "role"; type: "QVariant" }
        }
        Method {
            name: "selectionListItemSelected"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
            Parameter { name: "index"; type: "QVariant" }
        }
        Property {
            name: "inputContext"
            type: "QVirtualKeyboardInputContext"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "inputEngine"
            type: "QVirtualKeyboardInputEngine"
            isReadonly: true
            isPointer: true
        }
        Signal {
            name: "selectionListChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
        }
        Signal {
            name: "selectionListActiveItemChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
            Parameter { name: "index"; type: "int" }
        }
        Signal { name: "selectionListsChanged" }
    }
    Component {
        prototype: "QObject"
        name: "QtQuick.VirtualKeyboard/MultitapInputMethod 2.0"
        exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        Property { name: "multitapSequence"; type: "string" }
        Property { name: "multitapIndex"; type: "int" }
        Property { name: "multiTapTimer"; type: "QVariant" }
        Method {
            name: "inputModes"
            type: "QVariant"
            Parameter { name: "locale"; type: "QVariant" }
        }
        Method {
            name: "setInputMode"
            type: "QVariant"
            Parameter { name: "locale"; type: "QVariant" }
            Parameter { name: "inputMode"; type: "QVariant" }
        }
        Method {
            name: "setTextCase"
            type: "QVariant"
            Parameter { name: "textCase"; type: "QVariant" }
        }
        Method { name: "reset"; type: "QVariant" }
        Method { name: "update"; type: "QVariant" }
        Method {
            name: "keyEvent"
            type: "QVariant"
            Parameter { name: "key"; type: "QVariant" }
            Parameter { name: "text"; type: "QVariant" }
            Parameter { name: "modifiers"; type: "QVariant" }
        }
        Method { name: "selectionLists"; type: "QVariant" }
        Method {
            name: "selectionListItemCount"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
        }
        Method {
            name: "selectionListData"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
            Parameter { name: "index"; type: "QVariant" }
            Parameter { name: "role"; type: "QVariant" }
        }
        Method {
            name: "selectionListItemSelected"
            type: "QVariant"
            Parameter { name: "type"; type: "QVariant" }
            Parameter { name: "index"; type: "QVariant" }
        }
        Property {
            name: "inputContext"
            type: "QVirtualKeyboardInputContext"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "inputEngine"
            type: "QVirtualKeyboardInputEngine"
            isReadonly: true
            isPointer: true
        }
        Signal {
            name: "selectionListChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
        }
        Signal {
            name: "selectionListActiveItemChanged"
            Parameter { name: "type"; type: "QVirtualKeyboardSelectionListModel::Type" }
            Parameter { name: "index"; type: "int" }
        }
        Signal { name: "selectionListsChanged" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/NumberKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/NumberKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/NumberKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/NumberKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickListView"
        name: "QtQuick.VirtualKeyboard/PopupList 2.3"
        exports: ["QtQuick.VirtualKeyboard/PopupList 2.3"]
        exportMetaObjectRevisions: [3]
        isComposite: true
        defaultProperty: "data"
        Property { name: "maxVisibleItems"; type: "int" }
        Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true }
        Property { name: "contentWidth"; type: "double"; isReadonly: true }
        Property { name: "background"; type: "QQmlComponent"; isPointer: true }
        Property { name: "defaultHighlight"; type: "QQmlComponent"; isReadonly: true; isPointer: true }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/SelectionControl 2.1"
        exports: ["QtQuick.VirtualKeyboard/SelectionControl 2.1"]
        exportMetaObjectRevisions: [1]
        isComposite: true
        defaultProperty: "data"
        Property { name: "handleIsMoving"; type: "bool" }
        Property { name: "inputContext"; type: "QVariant" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/ShiftKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/ShiftKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/ShiftKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/ShiftKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/SpaceKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/SpaceKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/SpaceKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/SpaceKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/SymbolModeKey 1.0"
        exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/SymbolModeKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "text"; type: "string" }
        Property { name: "displayText"; type: "string" }
        Property { name: "smallText"; type: "string" }
        Property { name: "smallTextVisible"; type: "bool" }
        Property { name: "alternativeKeys"; type: "QVariant" }
        Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true }
        Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true }
        Property { name: "key"; type: "int" }
        Property { name: "noKeyEvent"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "noModifier"; type: "bool" }
        Property { name: "repeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "functionKey"; type: "bool" }
        Property { name: "showPreview"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "uppercased"; type: "bool" }
        Property { name: "soundEffect"; type: "QUrl"; isReadonly: true }
        Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "clicked" }
    }
    Component {
        prototype: "QQuickMultiPointTouchArea"
        name: "QtQuick.VirtualKeyboard/TraceInputArea 2.0"
        exports: ["QtQuick.VirtualKeyboard/TraceInputArea 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "patternRecognitionMode"; type: "int" }
        Property { name: "horizontalRulers"; type: "QVariant" }
        Property { name: "verticalRulers"; type: "QVariant" }
        Property { name: "boundingBox"; type: "QRectF"; isReadonly: true }
        Property { name: "canvasType"; type: "string" }
        Property { name: "__traceCanvasList"; type: "QVariant" }
        Property { name: "__traceCaptureDeviceInfo"; type: "QVariant" }
        Property { name: "__traceScreenInfo"; type: "QVariant" }
        Method {
            name: "findTraceCanvasById"
            type: "QVariant"
            Parameter { name: "traceId"; type: "QVariant" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.VirtualKeyboard/TraceInputKey 2.0"
        exports: ["QtQuick.VirtualKeyboard/TraceInputKey 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "weight"; type: "double" }
        Property { name: "patternRecognitionMode"; type: "int" }
        Property { name: "horizontalRulers"; type: "QVariant" }
        Property { name: "verticalRulers"; type: "QVariant" }
        Property { name: "boundingBox"; type: "QRectF"; isReadonly: true }
        Property { name: "canvasType"; type: "string" }
    }
    Component {
        prototype: "QQuickListView"
        name: "QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0"
        exports: ["QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true }
        Property { name: "flipVertical"; type: "bool"; isReadonly: true }
        Property { name: "maxVisibleItems"; type: "int" }
        Property { name: "contentWidth"; type: "double"; isReadonly: true }
        Property { name: "background"; type: "QQmlComponent"; isPointer: true }
        Property { name: "defaultHighlight"; type: "QQmlComponent"; isReadonly: true; isPointer: true }
    }
}
