// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \title Qt Virtual Keyboard
    \page qtvirtualkeyboard-index.html

    The Qt Virtual Keyboard project provides an input framework and reference
    keyboard frontend for Qt 6 on Linux Desktop/X11, Windows Desktop, and
    Boot2Qt targets.

    The input framework makes it easy to write custom input methods or to
    integrate 3rd party input engines. The input methods can be implemented
    in C++ or QML.

    \section1 Features

    Key features of the Qt Virtual Keyboard include:

    \list
        \li Customizable keyboard layouts and styles with dynamic switching.
        \li Predictive text input with word selection.
        \li Character preview and alternative character view.
        \li Automatic capitalization and space insertion.
        \li Scalability to different resolutions.
        \li Support for different character sets (Latin, Simplified/Traditional Chinese,
            Hindi, Japanese, Arabic, Hebrew, Korean, and others).
        \li Support for most common input \l {Supported Languages}{languages},
            with possibility to easily extend the language support.
        \li Left-to-right and right-to-left input.
        \li Hardware key support for 2-way and 5-way navigation.
        \li \l {Handwriting Recognition}{Handwriting support}, with gestures for fullscreen input.
        \li Audio feedback.
        \li Cross-platform functionality.
        \li Supports both \l {Integration Method}{Qt Quick and Qt Widgets applications}.
    \endlist

    \section1 Supported Languages

    \include layouts.qdocinc layout-list

    \section1 Third-party Plugins

    The Qt Virtual Keyboard supports third-party plugins from the following vendors:
    \list
        \li \l {Cerence XT9 Advanced Input}{Cerence XT9} advanced input.
        \li \l {Handwriting Recognition#Cerence Handwriting}{Cerence Handwriting} text input.
        \li \l {Handwriting Recognition#MyScript}{MyScript} Text handwriting recognition
    \endlist

    \l {Building Qt Virtual Keyboard} describes how to integrate these plugins
    into the Qt Virtual Keyboard.

    \section1 Guides

    \list
    \li \l {Building Qt Virtual Keyboard}
    \li \l {Deployment Guide}
    \li \l {Technical Guide}
    \li \l {User Guide}
    \endlist

    \section1 API Reference

    \list
        \li \l{Qt Virtual Keyboard API for Applications}
        \li \l{Qt Virtual Keyboard API for Advanced Use Cases}
        \li \l{Qt Virtual Keyboard QML Types}
        \li \l{Qt Virtual Keyboard C++ Classes}
    \endlist

    \section1 Examples

     \list
      \li \l{Qt Virtual Keyboard Examples}
     \endlist

    \section1 Licenses and Attributions

    Qt Virtual Keyboard is available under commercial licenses from \l{The Qt Company}.
    In addition, it is available under the \l{GNU General Public License, version 3}.
    See \l{Qt Licensing} for further details.

    Furthermore Qt Virtual Keyboard potentially contains third party
    modules under following permissive licenses:

    \generatelist{groupsbymodule attributions-qtvirtualkeyboard}
*/

/*!
    \page qtquick-virtualkeyboard-for-application.html
    \title Qt Virtual Keyboard API for Applications
    \brief Provides API for integrating the virtual keyboard into an application.

    The QML types can be imported into your application using the following
    import statements in your .qml file:

    \qml
    import QtQuick.VirtualKeyboard
    import QtQuick.VirtualKeyboard.Settings
    \endqml

    In addition to importing the types, the \c QT_IM_MODULE environment
    variable must be set to \c qtvirtualkeyboard. For more information, see
    \l {Loading the Plugin}.

    \section1 \l {Qt Virtual Keyboard Module QML Types} {Virtual Keyboard}

    QML types

    \generatelist groupsbymodule qtvirtualkeyboard-qml

    C++ types

    \generatelist groupsbymodule qtvirtualkeyboard-cpp-for-apps

    \section1 \l {Qt Quick Virtual Keyboard Settings QML Types} {Virtual Keyboard Settings}

    QML types

    \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Settings
*/

/*!
    \page qtquick-virtualkeyboard-for-advanced-use-cases.html
    \title Qt Virtual Keyboard API for Advanced Use Cases
    \brief Provides API for extending or modifying virtual keyboard functionality.

    These QML types fall under the categories of virtual keyboard plugin vendors,
    style providers, and keyboard layouts. They should not be used by application
    or middleware.

    \section1 \l {Qt Quick Virtual Keyboard Styles QML Types} {Styles}

    QML types

    \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Styles

    \section1 \l {Qt Quick Virtual Keyboard Components QML Types} {Components}

    QML types

    \generatelist qmltypesbymodule QtQuick.VirtualKeyboard.Components

    C++ types

    \generatelist groupsbymodule qtvirtualkeyboard-cpp-for-devs
*/

/*!
    \qmlmodule QtQuick.VirtualKeyboard
    \title Qt Virtual Keyboard Module QML Types
    \brief Provides QML types for the virtual keyboard.
*/

/*!
    \page qtvirtualkeyboard-qmltypes.html
    \title Qt Virtual Keyboard QML Types
    \brief QML types for the virtual keyboard.

    \generatelist groupsbymodule qmlclass
*/
