Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-virtualkeyboard for 
openSUSE:Factory checked in at 2026-08-21 16:51:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-virtualkeyboard (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-virtualkeyboard"

Fri Aug 21 16:51:33 2026 rev:42 rq:1372268 version:6.11.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-virtualkeyboard/qt6-virtualkeyboard.changes  
2026-05-28 17:26:27.682532329 +0200
+++ 
/work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.1258/qt6-virtualkeyboard.changes
        2026-08-21 16:52:27.010112312 +0200
@@ -1,0 +2,6 @@
+Tue Aug 18 11:49:33 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.11.2
+  https://www.qt.io/blog/qt-6.11.2-released
+
+-------------------------------------------------------------------

Old:
----
  qtvirtualkeyboard-everywhere-src-6.11.1.tar.xz

New:
----
  qtvirtualkeyboard-everywhere-src-6.11.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-virtualkeyboard.spec ++++++
--- /var/tmp/diff_new_pack.dasOCg/_old  2026-08-21 16:52:27.926144884 +0200
+++ /var/tmp/diff_new_pack.dasOCg/_new  2026-08-21 16:52:27.927144920 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define real_version 6.11.1
+%define real_version 6.11.2
 %define short_version 6.11
 %define tar_name qtvirtualkeyboard-everywhere-src
 %define tar_suffix %{nil}
@@ -27,7 +27,7 @@
 %endif
 #
 Name:           qt6-virtualkeyboard%{?pkg_suffix}
-Version:        6.11.1
+Version:        6.11.2
 Release:        0
 Summary:        Framework for writing or integrating input methods and engines 
for Qt 6
 License:        GPL-3.0-only

++++++ qtvirtualkeyboard-everywhere-src-6.11.1.tar.xz -> 
qtvirtualkeyboard-everywhere-src-6.11.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.11.1/.cmake.conf 
new/qtvirtualkeyboard-everywhere-src-6.11.2/.cmake.conf
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/.cmake.conf     2026-05-08 
06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/.cmake.conf     2026-08-12 
18:35:10.000000000 +0200
@@ -1,8 +1,9 @@
-set(QT_REPO_MODULE_VERSION "6.11.1")
+set(QT_REPO_MODULE_VERSION "6.11.2")
 set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
 set(QT_EXTRA_INTERNAL_TARGET_DEFINES
     "QT_NO_CONTEXTLESS_CONNECT=1"
     "QT_NO_FOREACH=1"
     "QT_NO_QASCONST=1"
+    "QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1"
     "QT_NO_URL_CAST_FROM_STRING=1"
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.11.1/.tag 
new/qtvirtualkeyboard-everywhere-src-6.11.2/.tag
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/.tag    2026-05-08 
06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/.tag    2026-08-12 
18:35:10.000000000 +0200
@@ -1 +1 @@
-2eb5eda48077645a88609f7e6237cd5598253d8a
+043d7629ccb62ce09b8c30cba7cc2a97248dfea9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/dependencies.yaml 
new/qtvirtualkeyboard-everywhere-src-6.11.2/dependencies.yaml
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/dependencies.yaml       
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/dependencies.yaml       
2026-08-12 18:35:10.000000000 +0200
@@ -1,13 +1,13 @@
 dependencies:
   ../qtbase:
-    ref: 59c81a3c2247b821b9b84b4eb8d939b77e07e276
+    ref: ef55f427f2c8b410d34f8a7681020a3000cf6866
     required: true
   ../qtdeclarative:
-    ref: a02bed441965ee1f18f856352c7d5ee5ba35d795
+    ref: 4e3399c26ec57246c08de019cfcbda8d23604cfa
     required: true
   ../qtmultimedia:
-    ref: 1cdfe8d416a173a85051e0028dd94d24311022e2
+    ref: 6f162ccac1425edbd7b4d1582fabab5973b43d6c
     required: false
   ../qtsvg:
-    ref: 2596f43da2dc72d2afecc084355b0f5f87922a6c
+    ref: 17ca512f903f935282ebeca496aac5d11ba4199a
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/components/Keyboard.qml 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/components/Keyboard.qml
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/components/Keyboard.qml     
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/components/Keyboard.qml     
2026-08-12 18:35:10.000000000 +0200
@@ -1057,7 +1057,11 @@
                                         break
                                     y -= height
                                 }
-                                nextKey = keyOnPoint(x, y)
+                                // Pixel-grid snapping in Qt Quick Layouts can 
leave a
+                                // sub-pixel gap next to fixed-width keys 
(QTBUG-146018).
+                                // The gap never contains an integer x, so 
floor the scan
+                                // position to avoid landing in it.
+                                nextKey = keyOnPoint(Math.floor(x), y)
                                 if (nextKey) {
                                     // Check if key is visible. Only the 
visible keys have keyPanelDelegate set.
                                     if (nextKey != initialKey && 
nextKey.hasOwnProperty("keyPanelDelegate") && nextKey.keyPanelDelegate)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugin/plugin.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugin/plugin.h
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugin/plugin.h     
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugin/plugin.h     
2026-08-12 18:35:10.000000000 +0200
@@ -2,8 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#ifndef PLUGIN_H
-#define PLUGIN_H
+#pragma once
 
 #include <qpa/qplatforminputcontextplugin_p.h>
 
@@ -20,5 +19,3 @@
 };
 
 QT_END_NAMESPACE
-
-#endif // PLUGIN_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/CMakeLists.txt 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/CMakeLists.txt
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/CMakeLists.txt   
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/CMakeLists.txt   
    2026-08-12 18:35:10.000000000 +0200
@@ -14,8 +14,8 @@
     DEPENDENCIES
         QtQuick.VirtualKeyboard.Core/auto
     SOURCES
-        hangul.cpp hangul_p.h
-        hangulinputmethod.cpp hangulinputmethod_p.h
+        hangul.cpp hangul.h
+        hangulinputmethod.cpp hangulinputmethod.h
     DEFINES
         QT_ASCII_CAST_WARNINGS
         QT_NO_CAST_FROM_ASCII
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul.cpp 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul.cpp
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul.cpp   
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul.cpp   
2026-08-12 18:35:10.000000000 +0200
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "hangul_p.h"
+#include "hangul.h"
 
 QT_BEGIN_NAMESPACE
 namespace QtVirtualKeyboard {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul.h
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul.h     
1970-01-01 01:00:00.000000000 +0100
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul.h     
2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,112 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QString>
+#include <QList>
+#include <QMap>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class Hangul
+{
+    Q_DISABLE_COPY(Hangul)
+
+    enum HangulMedialIndex {          // VIndex    Letter Jungseong   Double 
Jamo
+        // 
----------------------------------------------------------------------
+        HANGUL_MEDIAL_A,              //      0      314F      1161
+        HANGUL_MEDIAL_AE,             //      1      3150      1162
+        HANGUL_MEDIAL_YA,             //      2      3151      1163
+        HANGUL_MEDIAL_YAE,            //      3      3152      1164
+        HANGUL_MEDIAL_EO,             //      4      3153      1165
+        HANGUL_MEDIAL_E,              //      5      3154      1166
+        HANGUL_MEDIAL_YEO,            //      6      3155      1167
+        HANGUL_MEDIAL_YE,             //      7      3156      1168
+        HANGUL_MEDIAL_O,              //      8      3157      1169
+        HANGUL_MEDIAL_WA,             //      9      3158      116A     
3157+314F
+        HANGUL_MEDIAL_WAE,            //     10      3159      116B     
3157+3150
+        HANGUL_MEDIAL_OE,             //     11      315A      116C     
3157+3163
+        HANGUL_MEDIAL_YO,             //     12      315B      116D
+        HANGUL_MEDIAL_U,              //     13      315C      116E
+        HANGUL_MEDIAL_WEO,            //     14      315D      116F     
315C+3153
+        HANGUL_MEDIAL_WE,             //     15      315E      1170     
315C+3154
+        HANGUL_MEDIAL_WI,             //     16      315F      1171     
315C+3163
+        HANGUL_MEDIAL_YU,             //     17      3160      1172
+        HANGUL_MEDIAL_EU,             //     18      3161      1173
+        HANGUL_MEDIAL_YI,             //     19      3162      1174     
3161+3163
+        HANGUL_MEDIAL_I               //     20      3163      1175
+    };
+
+    enum HangulFinalIndex {           // TIndex    Letter Jongseong   Double 
Jamo
+        // 
----------------------------------------------------------------------
+        HANGUL_FINAL_NONE,            //      0       n/a       n/a
+        HANGUL_FINAL_KIYEOK,          //      1      3131      11A8
+        HANGUL_FINAL_SSANGKIYEOK,     //      2      3132      11A9
+        HANGUL_FINAL_KIYEOK_SIOS,     //      3      3133      11AA     
3131+3145
+        HANGUL_FINAL_NIEUN,           //      4      3134      11AB
+        HANGUL_FINAL_NIEUN_CIEUC,     //      5      3135      11AC     
3134+3148
+        HANGUL_FINAL_NIEUN_HIEUH,     //      6      3136      11AD     
3134+314E
+        HANGUL_FINAL_TIKEUT,          //      7      3137      11AE
+        HANGUL_FINAL_RIEUL,           //      8      3139      11AF
+        HANGUL_FINAL_RIEUL_KIYEOK,    //      9      313A      11B0     
3139+3131
+        HANGUL_FINAL_RIEUL_MIEUM,     //     10      313B      11B1     
3139+3141
+        HANGUL_FINAL_RIEUL_PIEUP,     //     11      313C      11B2     
3139+3142
+        HANGUL_FINAL_RIEUL_SIOS,      //     12      313D      11B3     
3139+3145
+        HANGUL_FINAL_RIEUL_THIEUTH,   //     13      313E      11B4     
3139+314C
+        HANGUL_FINAL_RIEUL_PHIEUPH,   //     14      313F      11B5     
3139+314D
+        HANGUL_FINAL_RIEUL_HIEUH,     //     15      3140      11B6     
3139+314E
+        HANGUL_FINAL_MIEUM,           //     16      3141      11B7
+        HANGUL_FINAL_PIEUP,           //     17      3142      11B8
+        HANGUL_FINAL_PIEUP_SIOS,      //     18      3144      11B9     
3142+3145
+        HANGUL_FINAL_SIOS,            //     19      3145      11BA
+        HANGUL_FINAL_SSANGSIOS,       //     20      3146      11BB     
3145+3145
+        HANGUL_FINAL_IEUNG,           //     21      3147      11BC
+        HANGUL_FINAL_CIEUC,           //     22      3148      11BD
+        HANGUL_FINAL_CHIEUCH,         //     23      314A      11BE
+        HANGUL_FINAL_KHIEUKH,         //     24      314B      11BF
+        HANGUL_FINAL_THIEUTH,         //     25      314C      11C0
+        HANGUL_FINAL_PHIEUPH,         //     26      314D      11C1
+        HANGUL_FINAL_HIEUH            //     27      314E      11C2
+    };
+
+    Hangul();
+
+public:
+    static QString decompose(const QString &source);
+    static QString compose(const QString &source);
+    static bool isJamo(const ushort &unicode);
+
+private:
+    static bool isMedial(HangulMedialIndex vowel);
+    static bool isFinal(HangulFinalIndex consonant);
+    static ushort findDoubleMedial(HangulMedialIndex vowel);
+    static ushort findDoubleFinal(HangulFinalIndex consonant);
+    static ushort packDoubleMedial(HangulMedialIndex a, HangulMedialIndex b);
+    static ushort packDoubleFinal(HangulFinalIndex a, HangulFinalIndex b);
+    static void unpackDoubleMedial(ushort key, HangulMedialIndex &a, 
HangulMedialIndex &b);
+    static void unpackDoubleFinal(ushort key, HangulFinalIndex &a, 
HangulFinalIndex &b);
+    static QMap<ushort, HangulMedialIndex> initDoubleMedialMap();
+    static QMap<ushort, HangulFinalIndex> initDoubleFinalMap();
+
+    static const QList<ushort> initials;
+    static const QList<ushort> finals;
+    static const QMap<ushort, HangulMedialIndex> doubleMedialMap;
+    static const QMap<ushort, HangulFinalIndex> doubleFinalMap;
+    static const int SBase;
+    static const int LBase;
+    static const int VBase;
+    static const int TBase;
+    static const int LCount;
+    static const int VCount;
+    static const int TCount;
+    static const int NCount;
+    static const int SCount;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul_p.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul_p.h
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangul_p.h   
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangul_p.h   
1970-01-01 01:00:00.000000000 +0100
@@ -1,124 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef HANGUL_P_H
-#define HANGUL_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QString>
-#include <QList>
-#include <QMap>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class Hangul
-{
-    Q_DISABLE_COPY(Hangul)
-
-    enum HangulMedialIndex {          // VIndex    Letter Jungseong   Double 
Jamo
-        // 
----------------------------------------------------------------------
-        HANGUL_MEDIAL_A,              //      0      314F      1161
-        HANGUL_MEDIAL_AE,             //      1      3150      1162
-        HANGUL_MEDIAL_YA,             //      2      3151      1163
-        HANGUL_MEDIAL_YAE,            //      3      3152      1164
-        HANGUL_MEDIAL_EO,             //      4      3153      1165
-        HANGUL_MEDIAL_E,              //      5      3154      1166
-        HANGUL_MEDIAL_YEO,            //      6      3155      1167
-        HANGUL_MEDIAL_YE,             //      7      3156      1168
-        HANGUL_MEDIAL_O,              //      8      3157      1169
-        HANGUL_MEDIAL_WA,             //      9      3158      116A     
3157+314F
-        HANGUL_MEDIAL_WAE,            //     10      3159      116B     
3157+3150
-        HANGUL_MEDIAL_OE,             //     11      315A      116C     
3157+3163
-        HANGUL_MEDIAL_YO,             //     12      315B      116D
-        HANGUL_MEDIAL_U,              //     13      315C      116E
-        HANGUL_MEDIAL_WEO,            //     14      315D      116F     
315C+3153
-        HANGUL_MEDIAL_WE,             //     15      315E      1170     
315C+3154
-        HANGUL_MEDIAL_WI,             //     16      315F      1171     
315C+3163
-        HANGUL_MEDIAL_YU,             //     17      3160      1172
-        HANGUL_MEDIAL_EU,             //     18      3161      1173
-        HANGUL_MEDIAL_YI,             //     19      3162      1174     
3161+3163
-        HANGUL_MEDIAL_I               //     20      3163      1175
-    };
-
-    enum HangulFinalIndex {           // TIndex    Letter Jongseong   Double 
Jamo
-        // 
----------------------------------------------------------------------
-        HANGUL_FINAL_NONE,            //      0       n/a       n/a
-        HANGUL_FINAL_KIYEOK,          //      1      3131      11A8
-        HANGUL_FINAL_SSANGKIYEOK,     //      2      3132      11A9
-        HANGUL_FINAL_KIYEOK_SIOS,     //      3      3133      11AA     
3131+3145
-        HANGUL_FINAL_NIEUN,           //      4      3134      11AB
-        HANGUL_FINAL_NIEUN_CIEUC,     //      5      3135      11AC     
3134+3148
-        HANGUL_FINAL_NIEUN_HIEUH,     //      6      3136      11AD     
3134+314E
-        HANGUL_FINAL_TIKEUT,          //      7      3137      11AE
-        HANGUL_FINAL_RIEUL,           //      8      3139      11AF
-        HANGUL_FINAL_RIEUL_KIYEOK,    //      9      313A      11B0     
3139+3131
-        HANGUL_FINAL_RIEUL_MIEUM,     //     10      313B      11B1     
3139+3141
-        HANGUL_FINAL_RIEUL_PIEUP,     //     11      313C      11B2     
3139+3142
-        HANGUL_FINAL_RIEUL_SIOS,      //     12      313D      11B3     
3139+3145
-        HANGUL_FINAL_RIEUL_THIEUTH,   //     13      313E      11B4     
3139+314C
-        HANGUL_FINAL_RIEUL_PHIEUPH,   //     14      313F      11B5     
3139+314D
-        HANGUL_FINAL_RIEUL_HIEUH,     //     15      3140      11B6     
3139+314E
-        HANGUL_FINAL_MIEUM,           //     16      3141      11B7
-        HANGUL_FINAL_PIEUP,           //     17      3142      11B8
-        HANGUL_FINAL_PIEUP_SIOS,      //     18      3144      11B9     
3142+3145
-        HANGUL_FINAL_SIOS,            //     19      3145      11BA
-        HANGUL_FINAL_SSANGSIOS,       //     20      3146      11BB     
3145+3145
-        HANGUL_FINAL_IEUNG,           //     21      3147      11BC
-        HANGUL_FINAL_CIEUC,           //     22      3148      11BD
-        HANGUL_FINAL_CHIEUCH,         //     23      314A      11BE
-        HANGUL_FINAL_KHIEUKH,         //     24      314B      11BF
-        HANGUL_FINAL_THIEUTH,         //     25      314C      11C0
-        HANGUL_FINAL_PHIEUPH,         //     26      314D      11C1
-        HANGUL_FINAL_HIEUH            //     27      314E      11C2
-    };
-
-    Hangul();
-
-public:
-    static QString decompose(const QString &source);
-    static QString compose(const QString &source);
-    static bool isJamo(const ushort &unicode);
-
-private:
-    static bool isMedial(HangulMedialIndex vowel);
-    static bool isFinal(HangulFinalIndex consonant);
-    static ushort findDoubleMedial(HangulMedialIndex vowel);
-    static ushort findDoubleFinal(HangulFinalIndex consonant);
-    static ushort packDoubleMedial(HangulMedialIndex a, HangulMedialIndex b);
-    static ushort packDoubleFinal(HangulFinalIndex a, HangulFinalIndex b);
-    static void unpackDoubleMedial(ushort key, HangulMedialIndex &a, 
HangulMedialIndex &b);
-    static void unpackDoubleFinal(ushort key, HangulFinalIndex &a, 
HangulFinalIndex &b);
-    static QMap<ushort, HangulMedialIndex> initDoubleMedialMap();
-    static QMap<ushort, HangulFinalIndex> initDoubleFinalMap();
-
-    static const QList<ushort> initials;
-    static const QList<ushort> finals;
-    static const QMap<ushort, HangulMedialIndex> doubleMedialMap;
-    static const QMap<ushort, HangulFinalIndex> doubleFinalMap;
-    static const int SBase;
-    static const int LBase;
-    static const int VBase;
-    static const int TBase;
-    static const int LCount;
-    static const int VCount;
-    static const int TCount;
-    static const int NCount;
-    static const int SCount;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod.cpp
        2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod.cpp
        2026-08-12 18:35:10.000000000 +0200
@@ -2,8 +2,8 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "hangulinputmethod_p.h"
-#include "hangul_p.h"
+#include "hangulinputmethod.h"
+#include "hangul.h"
 #include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
 
 QT_BEGIN_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod.h
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod.h
  2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,38 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class HangulInputMethodPrivate;
+
+class HangulInputMethod : public QVirtualKeyboardAbstractInputMethod
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(HangulInputMethod)
+    QML_ELEMENT
+    QML_ADDED_IN_VERSION(2, 0)
+
+public:
+    explicit HangulInputMethod(QObject *parent = nullptr);
+    ~HangulInputMethod();
+
+    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
+    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
+    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
+
+    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
+
+    void reset() override;
+    void update() override;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod_p.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/hangul/hangulinputmethod_p.h
        2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/hangul/hangulinputmethod_p.h
        1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef HANGULINPUTMETHOD_P_H
-#define HANGULINPUTMETHOD_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class HangulInputMethodPrivate;
-
-class HangulInputMethod : public QVirtualKeyboardAbstractInputMethod
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(HangulInputMethod)
-    QML_ELEMENT
-    QML_ADDED_IN_VERSION(2, 0)
-
-public:
-    explicit HangulInputMethod(QObject *parent = nullptr);
-    ~HangulInputMethod();
-
-    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
-    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
-    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
-
-    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
-
-    void reset() override;
-    void update() override;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif // HANGULINPUTMETHOD_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/CMakeLists.txt 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/CMakeLists.txt
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/CMakeLists.txt  
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/CMakeLists.txt  
    2026-08-12 18:35:10.000000000 +0200
@@ -16,7 +16,7 @@
     DEPENDENCIES
         QtQuick.VirtualKeyboard.Core/auto
     SOURCES
-        openwnninputmethod.cpp openwnninputmethod_p.h
+        openwnninputmethod.cpp openwnninputmethod.h
     DEFINES
         QT_ASCII_CAST_WARNINGS
         QT_NO_CAST_FROM_ASCII
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod.cpp
      2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod.cpp
      2026-08-12 18:35:10.000000000 +0200
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "openwnninputmethod_p.h"
+#include "openwnninputmethod.h"
 #include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
 #include <QLoggingCategory>
 #include <openwnnenginejajp.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod.h
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod.h
        2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,47 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class OpenWnnInputMethodPrivate;
+
+class OpenWnnInputMethod : public QVirtualKeyboardAbstractInputMethod
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(OpenWnnInputMethod)
+    QML_NAMED_ELEMENT(JapaneseInputMethod)
+    QML_ADDED_IN_VERSION(2, 0)
+
+public:
+    explicit OpenWnnInputMethod(QObject *parent = nullptr);
+    ~OpenWnnInputMethod();
+
+    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
+    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
+    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
+
+    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
+
+    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
+    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
+    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
+                               QVirtualKeyboardSelectionListModel::Role role) 
override;
+    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
+
+    void reset() override;
+    void update() override;
+
+private:
+    QScopedPointer<OpenWnnInputMethodPrivate> d_ptr;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod_p.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/openwnn/openwnninputmethod_p.h
      2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/openwnn/openwnninputmethod_p.h
      1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef OPENWNNINPUTMETHOD_P_H
-#define OPENWNNINPUTMETHOD_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class OpenWnnInputMethodPrivate;
-
-class OpenWnnInputMethod : public QVirtualKeyboardAbstractInputMethod
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(OpenWnnInputMethod)
-    QML_NAMED_ELEMENT(JapaneseInputMethod)
-    QML_ADDED_IN_VERSION(2, 0)
-
-public:
-    explicit OpenWnnInputMethod(QObject *parent = nullptr);
-    ~OpenWnnInputMethod();
-
-    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
-    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
-    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
-
-    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
-
-    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
-    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
-    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
-                               QVirtualKeyboardSelectionListModel::Role role) 
override;
-    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
-
-    void reset() override;
-    void update() override;
-
-private:
-    QScopedPointer<OpenWnnInputMethodPrivate> d_ptr;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/CMakeLists.txt 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/CMakeLists.txt
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/CMakeLists.txt   
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/CMakeLists.txt   
    2026-08-12 18:35:10.000000000 +0200
@@ -16,8 +16,8 @@
     DEPENDENCIES
         QtQuick.VirtualKeyboard.Core/auto
     SOURCES
-        pinyindecoderservice.cpp pinyindecoderservice_p.h
-        pinyininputmethod.cpp pinyininputmethod_p.h
+        pinyindecoderservice.cpp pinyindecoderservice.h
+        pinyininputmethod.cpp pinyininputmethod.h
     DEFINES
         QT_ASCII_CAST_WARNINGS
         QT_NO_CAST_FROM_ASCII
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice.cpp
     2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice.cpp
     2026-08-12 18:35:10.000000000 +0200
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "pinyindecoderservice_p.h"
+#include "pinyindecoderservice.h"
 #include "pinyinime.h"
 #include "dictdef.h"
 #include <QStandardPaths>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice.h
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice.h
       2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,49 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QObject>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class PinyinDecoderService : public QObject
+{
+    Q_OBJECT
+    Q_DISABLE_COPY(PinyinDecoderService)
+    explicit PinyinDecoderService(QObject *parent = nullptr);
+
+public:
+    ~PinyinDecoderService();
+
+    static PinyinDecoderService *getInstance();
+
+    bool init();
+    void setUserDictionary(bool enabled);
+    bool isUserDictionaryEnabled() const;
+    void setLimits(int maxSpelling, int maxHzsLen);
+    int search(const QString &spelling);
+    int deleteSearch(int pos, bool isPosInSpellingId, bool 
clearFixedInThisStep);
+    void resetSearch();
+    QString pinyinString(bool decoded);
+    int pinyinStringLength(bool decoded);
+    QList<int> spellingStartPositions();
+    QString candidateAt(int index);
+    QList<QString> fetchCandidates(int index, int count, int sentFixedLen);
+    int chooseCandidate(int index);
+    int cancelLastChoice();
+    int fixedLength();
+    void flushCache();
+    QList<QString> predictionList(const QString &history);
+
+private:
+    static QScopedPointer<PinyinDecoderService> _instance;
+    bool initDone;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice_p.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyindecoderservice_p.h
     2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyindecoderservice_p.h
     1970-01-01 01:00:00.000000000 +0100
@@ -1,61 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef PINYINDECODERSERVICE_P_H
-#define PINYINDECODERSERVICE_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class PinyinDecoderService : public QObject
-{
-    Q_OBJECT
-    Q_DISABLE_COPY(PinyinDecoderService)
-    explicit PinyinDecoderService(QObject *parent = nullptr);
-
-public:
-    ~PinyinDecoderService();
-
-    static PinyinDecoderService *getInstance();
-
-    bool init();
-    void setUserDictionary(bool enabled);
-    bool isUserDictionaryEnabled() const;
-    void setLimits(int maxSpelling, int maxHzsLen);
-    int search(const QString &spelling);
-    int deleteSearch(int pos, bool isPosInSpellingId, bool 
clearFixedInThisStep);
-    void resetSearch();
-    QString pinyinString(bool decoded);
-    int pinyinStringLength(bool decoded);
-    QList<int> spellingStartPositions();
-    QString candidateAt(int index);
-    QList<QString> fetchCandidates(int index, int count, int sentFixedLen);
-    int chooseCandidate(int index);
-    int cancelLastChoice();
-    int fixedLength();
-    void flushCache();
-    QList<QString> predictionList(const QString &history);
-
-private:
-    static QScopedPointer<PinyinDecoderService> _instance;
-    bool initDone;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif // PINYINDECODERSERVICE_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod.cpp
        2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod.cpp
        2026-08-12 18:35:10.000000000 +0200
@@ -2,8 +2,8 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "pinyininputmethod_p.h"
-#include "pinyindecoderservice_p.h"
+#include "pinyininputmethod.h"
+#include "pinyindecoderservice.h"
 #include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
 
 #include <QLoggingCategory>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod.h
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod.h
  2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,47 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class PinyinInputMethodPrivate;
+
+class PinyinInputMethod : public QVirtualKeyboardAbstractInputMethod
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(PinyinInputMethod)
+    QML_ELEMENT
+    QML_ADDED_IN_VERSION(2, 0)
+
+public:
+    explicit PinyinInputMethod(QObject *parent = nullptr);
+    ~PinyinInputMethod();
+
+    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
+    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
+    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
+
+    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
+
+    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
+    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
+    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
+                               QVirtualKeyboardSelectionListModel::Role role) 
override;
+    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
+
+    void reset() override;
+    void update() override;
+
+private:
+    QScopedPointer<PinyinInputMethodPrivate> d_ptr;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod_p.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/pinyin/pinyininputmethod_p.h
        2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/pinyin/pinyininputmethod_p.h
        1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef PINYININPUTMETHOD_P_H
-#define PINYININPUTMETHOD_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class PinyinInputMethodPrivate;
-
-class PinyinInputMethod : public QVirtualKeyboardAbstractInputMethod
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(PinyinInputMethod)
-    QML_ELEMENT
-    QML_ADDED_IN_VERSION(2, 0)
-
-public:
-    explicit PinyinInputMethod(QObject *parent = nullptr);
-    ~PinyinInputMethod();
-
-    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
-    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
-    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
-
-    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
-
-    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
-    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
-    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
-                               QVirtualKeyboardSelectionListModel::Role role) 
override;
-    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
-
-    void reset() override;
-    void update() override;
-
-private:
-    QScopedPointer<PinyinInputMethodPrivate> d_ptr;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif // PINYININPUTMETHOD_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/CMakeLists.txt 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/CMakeLists.txt
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/CMakeLists.txt    
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/CMakeLists.txt    
    2026-08-12 18:35:10.000000000 +0200
@@ -16,7 +16,7 @@
     DEPENDENCIES
         QtQuick.VirtualKeyboard.Core/auto
     SOURCES
-        tcinputmethod.cpp tcinputmethod_p.h
+        tcinputmethod.cpp tcinputmethod.h
     DEFINES
         QT_ASCII_CAST_WARNINGS
         QT_NO_CAST_FROM_ASCII
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod.cpp 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod.cpp 
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod.cpp 
    2026-08-12 18:35:10.000000000 +0200
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "tcinputmethod_p.h"
+#include "tcinputmethod.h"
 #include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
 #include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
 #if QT_CONFIG(cangjie)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod.h   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod.h   
    2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,55 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#include <QtVirtualKeyboard/private/qvirtualkeyboard_global_p.h>
+#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class TCInputMethodPrivate;
+
+class TCInputMethod : public QVirtualKeyboardAbstractInputMethod
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(TCInputMethod)
+    Q_PROPERTY(bool simplified READ simplified WRITE setSimplified NOTIFY 
simplifiedChanged)
+    QML_ELEMENT
+    QML_ADDED_IN_VERSION(2, 0)
+
+public:
+    explicit TCInputMethod(QObject *parent = nullptr);
+    ~TCInputMethod();
+
+    bool simplified() const;
+    void setSimplified(bool simplified);
+
+    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
+    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
+    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
+
+    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
+
+    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
+    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
+    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
+                               QVirtualKeyboardSelectionListModel::Role role) 
override;
+    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
+
+    void reset() override;
+    void update() override;
+
+signals:
+    void simplifiedChanged();
+
+private:
+    QScopedPointer<TCInputMethodPrivate> d_ptr;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod_p.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/tcime/tcinputmethod_p.h 
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/tcime/tcinputmethod_p.h 
    1970-01-01 01:00:00.000000000 +0100
@@ -1,67 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef TCINPUTMETHOD_P_H
-#define TCINPUTMETHOD_P_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtVirtualKeyboard/private/qvirtualkeyboard_global_p.h>
-#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class TCInputMethodPrivate;
-
-class TCInputMethod : public QVirtualKeyboardAbstractInputMethod
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(TCInputMethod)
-    Q_PROPERTY(bool simplified READ simplified WRITE setSimplified NOTIFY 
simplifiedChanged)
-    QML_ELEMENT
-    QML_ADDED_IN_VERSION(2, 0)
-
-public:
-    explicit TCInputMethod(QObject *parent = nullptr);
-    ~TCInputMethod();
-
-    bool simplified() const;
-    void setSimplified(bool simplified);
-
-    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
-    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
-    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
-
-    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
-
-    QList<QVirtualKeyboardSelectionListModel::Type> selectionLists() override;
-    int selectionListItemCount(QVirtualKeyboardSelectionListModel::Type type) 
override;
-    QVariant selectionListData(QVirtualKeyboardSelectionListModel::Type type, 
int index,
-                               QVirtualKeyboardSelectionListModel::Role role) 
override;
-    void selectionListItemSelected(QVirtualKeyboardSelectionListModel::Type 
type, int index) override;
-
-    void reset() override;
-    void update() override;
-
-signals:
-    void simplifiedChanged();
-
-private:
-    QScopedPointer<TCInputMethodPrivate> d_ptr;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/CMakeLists.txt 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/CMakeLists.txt
--- old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/CMakeLists.txt 
2026-05-08 06:33:29.000000000 +0200
+++ new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/CMakeLists.txt 
2026-08-12 18:35:10.000000000 +0200
@@ -14,7 +14,7 @@
     DEPENDENCIES
         QtQuick.VirtualKeyboard.Core/auto
     SOURCES
-        thaiinputmethod.cpp thaiinputmethod_p.h
+        thaiinputmethod.cpp thaiinputmethod.h
     DEFINES
         QT_ASCII_CAST_WARNINGS
         QT_NO_CAST_FROM_ASCII
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod.cpp
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod.cpp
    2026-08-12 18:35:10.000000000 +0200
@@ -2,7 +2,7 @@
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
 // Qt-Security score:significant reason:default
 
-#include "thaiinputmethod_p.h"
+#include "thaiinputmethod.h"
 #include <QtVirtualKeyboard/qvirtualkeyboardinputengine.h>
 #include <QtVirtualKeyboard/qvirtualkeyboardinputcontext.h>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod.h 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod.h  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod.h  
    2026-08-12 18:35:10.000000000 +0200
@@ -0,0 +1,42 @@
+// Copyright (C) 2018 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+// Qt-Security score:significant reason:default
+
+#pragma once
+
+#ifdef QT_HUNSPELLINPUTMETHOD_LIB
+#include <QtHunspellInputMethod/private/hunspellinputmethod_p.h>
+#define ThaiInputMethodBase HunspellInputMethod
+#else
+#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
+#define ThaiInputMethodBase QVirtualKeyboardAbstractInputMethod
+#endif
+
+QT_BEGIN_NAMESPACE
+
+namespace QtVirtualKeyboard {
+
+class ThaiInputMethodPrivate;
+
+class ThaiInputMethod : public ThaiInputMethodBase
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ThaiInputMethod)
+    QML_ELEMENT
+    QML_ADDED_IN_VERSION(2, 0)
+
+public:
+    explicit ThaiInputMethod(QObject *parent = nullptr);
+
+#ifndef QT_HUNSPELLINPUTMETHOD_LIB
+    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
+    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
+    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
+#endif
+
+    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
+};
+
+} // namespace QtVirtualKeyboard
+
+QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod_p.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod_p.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/plugins/thai/thaiinputmethod_p.h
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/plugins/thai/thaiinputmethod_p.h
    1970-01-01 01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-// Copyright (C) 2018 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-// Qt-Security score:significant reason:default
-
-#ifndef THAIINPUTMETHOD_H
-#define THAIINPUTMETHOD_H
-
-#ifdef QT_HUNSPELLINPUTMETHOD_LIB
-#include <QtHunspellInputMethod/private/hunspellinputmethod_p.h>
-#define ThaiInputMethodBase HunspellInputMethod
-#else
-#include <QtVirtualKeyboard/qvirtualkeyboardabstractinputmethod.h>
-#define ThaiInputMethodBase QVirtualKeyboardAbstractInputMethod
-#endif
-
-QT_BEGIN_NAMESPACE
-namespace QtVirtualKeyboard {
-
-class ThaiInputMethodPrivate;
-
-class ThaiInputMethod : public ThaiInputMethodBase
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ThaiInputMethod)
-    QML_ELEMENT
-    QML_ADDED_IN_VERSION(2, 0)
-
-public:
-    explicit ThaiInputMethod(QObject *parent = nullptr);
-
-#ifndef QT_HUNSPELLINPUTMETHOD_LIB
-    QList<QVirtualKeyboardInputEngine::InputMode> inputModes(const QString 
&locale) override;
-    bool setInputMode(const QString &locale, 
QVirtualKeyboardInputEngine::InputMode inputMode) override;
-    bool setTextCase(QVirtualKeyboardInputEngine::TextCase textCase) override;
-#endif
-
-    bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers 
modifiers) override;
-};
-
-} // namespace QtVirtualKeyboard
-QT_END_NAMESPACE
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/settings/qquickvirtualkeyboardsettings.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/settings/qquickvirtualkeyboardsettings.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/settings/qquickvirtualkeyboardsettings.cpp
  2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/settings/qquickvirtualkeyboardsettings.cpp
  2026-08-12 18:35:10.000000000 +0200
@@ -548,7 +548,8 @@
     focused input field to the fullscreen input field located at the top of the
     keyboard.
 
-    \image shadow-input.png
+    \image shadow-input.png {Keyboard in fullscreen mode with the focused
+           field contents replicated in a bar above the keys}
 
     For example, to activate the fullscreen mode when the screen aspect ratio
     is greater than 16:9:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/desktopinputpanel.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/desktopinputpanel.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/desktopinputpanel.cpp
       2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/desktopinputpanel.cpp
       2026-08-12 18:35:10.000000000 +0200
@@ -48,6 +48,8 @@
     }
 
     QScopedPointer<InputView> view;
+    QMetaObject::Connection m_focusWindowVisibleConnection;
+    QMetaObject::Connection m_focusWindowScreenConnection;
     QPointer<QScreen> m_screen;
     QRectF keyboardRect;
     QRectF previewRect;
@@ -171,12 +173,16 @@
 
 void DesktopInputPanel::focusWindowChanged(QWindow *focusWindow)
 {
-    disconnect(this, SLOT(focusWindowVisibleChanged(bool)));
-    disconnect(this, SLOT(screenChanged(QScreen*)));
+    Q_D(DesktopInputPanel);
+    disconnect(d->m_focusWindowVisibleConnection);
+    disconnect(d->m_focusWindowScreenConnection);
     if (focusWindow) {
-        connect(focusWindow, &QWindow::visibleChanged, this, 
&DesktopInputPanel::focusWindowVisibleChanged);
-        connect(focusWindow, &QWindow::screenChanged, this, 
&DesktopInputPanel::screenChanged,
-                Qt::UniqueConnection);
+        d->m_focusWindowVisibleConnection =
+                connect(focusWindow, &QWindow::visibleChanged,
+                        this, &DesktopInputPanel::focusWindowVisibleChanged);
+        d->m_focusWindowScreenConnection =
+                connect(focusWindow, &QWindow::screenChanged,
+                        this, &DesktopInputPanel::screenChanged);
         screenChanged(focusWindow->screen());
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
      2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
      2026-08-12 18:35:10.000000000 +0200
@@ -61,3 +61,6 @@
 
 # Enforce zero documentation warnings
 warninglimit = 0
+
+# Report warnings for images without alt text
+reportmissingalttextforimages = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/handwriting.qdoc
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/handwriting.qdoc
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/handwriting.qdoc
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/handwriting.qdoc
    2026-08-12 18:35:10.000000000 +0200
@@ -10,7 +10,8 @@
 Qt Virtual Keyboard supports handwriting recognition through open source and
 commercially-licensed engines.
 
-\image handwriting.gif
+\image handwriting.gif {Compact handwriting panel recognizing the word hello
+       handwritten stroke by stroke in the writing area}
 
 There are two modes in which to write: using the more compact handwriting panel
 (as shown above), or \l {HandwritingInputPanel}{fullscreen}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
     2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc
     2026-08-12 18:35:10.000000000 +0200
@@ -14,6 +14,8 @@
     \brief This example shows how to use the virtual keyboard in a Qt Quick 
application.
     \ingroup qtvirtualkeyboard-examples
     \image basic-example.webp
+           {Application window with labeled text fields above the virtual
+           keyboard for entering text}
     \meta tags {quick}
 
     The example has two implementations: one for desktop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/user-guide.qdoc
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/user-guide.qdoc
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/doc/src/user-guide.qdoc
     2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/doc/src/user-guide.qdoc
     2026-08-12 18:35:10.000000000 +0200
@@ -20,7 +20,8 @@
 The language can be changed by pressing the language key, which is illustrated
 with a "globe" icon:
 
-\image language-icon.png
+\image language-icon.png {Keyboard bottom row with the globe language key
+       highlighted next to the space bar showing British English}
 
 The current language is displayed on the space bar key.
 
@@ -29,7 +30,8 @@
 
 The handwriting mode can be activated by pressing the handwriting key:
 
-\image handwriting-mode-icon.png
+\image handwriting-mode-icon.png {Keyboard bottom row with the cursive
+       handwriting key highlighted between the globe key and the space bar}
 
 \section2 Gestures
 
@@ -40,32 +42,32 @@
     \li MyScript Text SDK
 \row
     \li Backspace
-    \li \image gesture-single-left.png
-    \li \image gesture-single-left.png
-    \li \image gesture-single-left.png
+    \li \image gesture-single-left.png {Arrow pointing left}
+    \li \image gesture-single-left.png {Arrow pointing left}
+    \li \image gesture-single-left.png {Arrow pointing left}
 \row
     \li Space
-    \li \image gesture-single-right.png
-    \li \image gesture-single-right.png
-    \li \image gesture-single-left.png
+    \li \image gesture-single-right.png {Arrow pointing right}
+    \li \image gesture-single-right.png {Arrow pointing right}
+    \li \image gesture-single-left.png {Arrow pointing left}
 \row
     \li Enter
     \li Gesture not available
-    \li \image gesture-single-down-left.png
-    \li \image gesture-single-down-left.png
+    \li \image gesture-single-down-left.png {Arrow pointing down then left}
+    \li \image gesture-single-down-left.png {Arrow pointing down then left}
 \row
     \li Reset word
-    \li \image gesture-double-left.png
+    \li \image gesture-double-left.png {Two arrows pointing left}
     \li Gesture not available
     \li Gesture not available
 \row
     \li Toggle input mode
-    \li \image gesture-single-up.png
+    \li \image gesture-single-up.png {Arrow pointing up}
     \li Gesture not available
     \li Gesture not available
 \row
     \li Toggle text case
-    \li \image gesture-double-up.png
+    \li \image gesture-double-up.png {Two arrows pointing up}
     \li Gesture not available
     \li Gesture not available
 \endtable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/qvirtualkeyboardinputengine.h
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/qvirtualkeyboardinputengine.h
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/qvirtualkeyboardinputengine.h
       2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/qvirtualkeyboardinputengine.h
       2026-08-12 18:35:10.000000000 +0200
@@ -148,7 +148,6 @@
     friend class QVirtualKeyboardInputContextPrivate;
 };
 
-Q_DECL_CONST_FUNCTION Q_DECL_CONSTEXPR inline uint 
qHash(QVirtualKeyboardInputEngine::InputMode key, uint seed = 0) Q_DECL_NOTHROW 
{ return uint(key) ^ seed; }
 Q_DECLARE_OPERATORS_FOR_FLAGS(QVirtualKeyboardInputEngine::ReselectFlags)
 
 QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/settings.cpp 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/settings.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/settings.cpp    
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/settings.cpp    
    2026-08-12 18:35:10.000000000 +0200
@@ -29,7 +29,7 @@
         wclAlwaysVisible(false),
         wclAutoCommitWord(false),
         fullScreenMode(false),
-        userDataPath(defaultUserDataPath),
+        userDataPath(defaultUserDataPath()),
         hwrTimeoutForAlphabetic(defaultHwrTimeoutForAlphabetic),
         hwrTimeoutForCjk(defaultHwrTimeoutForCjk),
         handwritingModeDisabled(false),
@@ -56,6 +56,13 @@
         }
     }
 
+    static QString defaultUserDataPath()
+    {
+        static const QString path = u"%1/qtvirtualkeyboard"_s
+                
.arg(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation));
+        return path;
+    }
+
     QString style;
     QString styleName;
     QString locale;
@@ -79,14 +86,10 @@
     bool arrowKeyNavigationEnabled;
 
     static const int defaultWclAutoHideDelay = 5000;
-    static const QString defaultUserDataPath;
     static const int defaultHwrTimeoutForAlphabetic = 500;
     static const int defaultHwrTimeoutForCjk = 500;
 };
 
-const QString SettingsPrivate::defaultUserDataPath = u"%1/qtvirtualkeyboard"_s
-        
.arg(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation));
-
 static QScopedPointer<Settings> s_settingsInstance;
 
 /*!
@@ -334,7 +337,7 @@
 
 void Settings::resetUserDataPath()
 {
-    setUserDataPath(SettingsPrivate::defaultUserDataPath);
+    setUserDataPath(SettingsPrivate::defaultUserDataPath());
 }
 
 int Settings::hwrTimeoutForAlphabetic() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/shifthandler.cpp
 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/shifthandler.cpp
--- 
old/qtvirtualkeyboard-everywhere-src-6.11.1/src/virtualkeyboard/shifthandler.cpp
    2026-05-08 06:33:29.000000000 +0200
+++ 
new/qtvirtualkeyboard-everywhere-src-6.11.2/src/virtualkeyboard/shifthandler.cpp
    2026-08-12 18:35:10.000000000 +0200
@@ -12,16 +12,68 @@
 #include <QElapsedTimer>
 #include <QStyleHints>
 
+#include <QtCore/q20algorithm.h>
+
 QT_BEGIN_NAMESPACE
 
 using namespace Qt::StringLiterals;
 
-size_t qHash(QLocale::Language lang, size_t seed)
+namespace QtVirtualKeyboard {
+
+template <typename T, size_t N>
+class SmallEnumSet
 {
-    return qHash(ushort(lang), seed);
-}
+    Q_DISABLE_COPY_MOVE(SmallEnumSet)
+    std::array<T, N> m_data;
+public:
+    // Need a ctor: CTAD doesn't work on aggregates in C++17:
+    constexpr SmallEnumSet(std::array<T, N> data) : m_data{data} {}
 
-namespace QtVirtualKeyboard {
+    constexpr bool contains(T t) const
+    {
+        return std::find(m_data.begin(), m_data.end(), t) != m_data.end();
+    }
+
+    constexpr bool isSorted() const
+    {
+        return q20::is_sorted(m_data.begin(), m_data.end());
+    }
+};
+
+constexpr SmallEnumSet manualShiftLanguageFilter = std::array{
+    QLocale::Arabic,
+    QLocale::Hindi,
+    QLocale::Korean,
+    QLocale::Persian,
+    QLocale::Thai,
+};
+static_assert(manualShiftLanguageFilter.isSorted(), "just in case");
+
+constexpr SmallEnumSet manualCapsInputModeFilter = std::array{
+    QVirtualKeyboardInputEngine::InputMode::Cangjie,
+    QVirtualKeyboardInputEngine::InputMode::Zhuyin,
+    QVirtualKeyboardInputEngine::InputMode::Hebrew,
+};
+static_assert(manualCapsInputModeFilter.isSorted(), "just in case");
+
+constexpr SmallEnumSet noAutoUppercaseInputModeFilter = std::array{
+    QVirtualKeyboardInputEngine::InputMode::Pinyin,
+    QVirtualKeyboardInputEngine::InputMode::Cangjie,
+    QVirtualKeyboardInputEngine::InputMode::Zhuyin,
+    QVirtualKeyboardInputEngine::InputMode::FullwidthLatin,
+    QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting,
+    QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting,
+    QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting,
+    QVirtualKeyboardInputEngine::InputMode::Romaji,
+};
+static_assert(noAutoUppercaseInputModeFilter.isSorted(), "just in case");
+
+constexpr SmallEnumSet allCapsInputModeFilter = std::array{
+    QVirtualKeyboardInputEngine::InputMode::Hiragana,
+    QVirtualKeyboardInputEngine::InputMode::Katakana,
+    QVirtualKeyboardInputEngine::InputMode::HiraganaFlick,
+};
+static_assert(allCapsInputModeFilter.isSorted(), "just in case");
 
 class ShiftHandlerPrivate : public QObjectPrivate
 {
@@ -36,11 +88,7 @@
         shiftChanged(false),
         shiftBeforeCapsLock(false),
         capsLock(false),
-        resetWhenVisible(false),
-        manualShiftLanguageFilter(QSet<QLocale::Language>() << QLocale::Arabic 
<< QLocale::Persian << QLocale::Hindi << QLocale::Korean << QLocale::Thai),
-        
manualCapsInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() << 
QVirtualKeyboardInputEngine::InputMode::Cangjie << 
QVirtualKeyboardInputEngine::InputMode::Zhuyin << 
QVirtualKeyboardInputEngine::InputMode::Hebrew),
-        
noAutoUppercaseInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() 
<< QVirtualKeyboardInputEngine::InputMode::FullwidthLatin << 
QVirtualKeyboardInputEngine::InputMode::Pinyin << 
QVirtualKeyboardInputEngine::InputMode::Cangjie << 
QVirtualKeyboardInputEngine::InputMode::Zhuyin << 
QVirtualKeyboardInputEngine::InputMode::ChineseHandwriting << 
QVirtualKeyboardInputEngine::InputMode::JapaneseHandwriting << 
QVirtualKeyboardInputEngine::InputMode::KoreanHandwriting << 
QVirtualKeyboardInputEngine::InputMode::Romaji),
-        allCapsInputModeFilter(QSet<QVirtualKeyboardInputEngine::InputMode>() 
<< QVirtualKeyboardInputEngine::InputMode::Hiragana << 
QVirtualKeyboardInputEngine::InputMode::HiraganaFlick << 
QVirtualKeyboardInputEngine::InputMode::Katakana)
+        resetWhenVisible(false)
     {
     }
 
@@ -55,10 +103,6 @@
     bool resetWhenVisible;
     QLocale locale;
     QElapsedTimer timer;
-    const QSet<QLocale::Language> manualShiftLanguageFilter;
-    const QSet<QVirtualKeyboardInputEngine::InputMode> 
manualCapsInputModeFilter;
-    const QSet<QVirtualKeyboardInputEngine::InputMode> 
noAutoUppercaseInputModeFilter;
-    const QSet<QVirtualKeyboardInputEngine::InputMode> allCapsInputModeFilter;
 };
 
 /*!
@@ -202,10 +246,10 @@
     Q_D(ShiftHandler);
     if (!d->toggleShiftEnabled)
         return;
-    if (d->manualShiftLanguageFilter.contains(d->locale.language())) {
+    if (manualShiftLanguageFilter.contains(d->locale.language())) {
         setCapsLockActive(false);
         setShiftActive(!d->shift);
-    } else if 
(d->manualCapsInputModeFilter.contains(d->inputContext->inputEngine()->inputMode()))
 {
+    } else if 
(manualCapsInputModeFilter.contains(d->inputContext->inputEngine()->inputMode()))
 {
         bool capsLock = d->capsLock;
         setCapsLockActive(!capsLock);
         setShiftActive(!capsLock);
@@ -248,16 +292,16 @@
         bool autoCapitalizationEnabled = !(d->inputContext->inputMethodHints() 
& (Qt::ImhNoAutoUppercase |
               Qt::ImhUppercaseOnly | Qt::ImhLowercaseOnly | 
Qt::ImhEmailCharactersOnly |
               Qt::ImhUrlCharactersOnly | Qt::ImhDialableCharactersOnly | 
Qt::ImhFormattedNumbersOnly |
-              Qt::ImhDigitsOnly)) && 
!d->noAutoUppercaseInputModeFilter.contains(inputMode);
+              Qt::ImhDigitsOnly)) && 
!noAutoUppercaseInputModeFilter.contains(inputMode);
         bool toggleShiftEnabled = !(inputMethodHints & (Qt::ImhUppercaseOnly | 
Qt::ImhLowercaseOnly));
         // For filtered languages reset the initial shift status to lower case
         // and allow manual shift change
-        if (d->manualShiftLanguageFilter.contains(d->locale.language()) ||
-                d->manualCapsInputModeFilter.contains(inputMode)) {
+        if (manualShiftLanguageFilter.contains(d->locale.language()) ||
+                manualCapsInputModeFilter.contains(inputMode)) {
             preferUpperCase = false;
             autoCapitalizationEnabled = false;
             toggleShiftEnabled = true;
-        } else if (d->allCapsInputModeFilter.contains(inputMode)) {
+        } else if (allCapsInputModeFilter.contains(inputMode)) {
             preferUpperCase = true;
             autoCapitalizationEnabled = false;
             toggleShiftEnabled = false;

Reply via email to