[plasma/plasma-mobile/Plasma/6.7] quicksettings/keyboardtoggle/contents/ui: quicksettings/keyboardtoggle: Support keyboard show modes

Devin Lin <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit fa85039fb66b094abd9200198a879aab8785b7c6 by Devin Lin.
Committed on 20/07/2026 at 15:17.
Pushed by devinlin into branch 'Plasma/6.7'.

quicksettings/keyboardtoggle: Support keyboard show modes

Adapt to changes in the virtualkeyboard library to now support modes: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6548


(cherry picked from commit 1cd5659aef6decae51261973453fa93ed7afaf17)

Co-authored-by: Devin Lin <[email protected]>

M  +8    -4    quicksettings/keyboardtoggle/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-mobile/-/commit/fa85039fb66b094abd9200198a879aab8785b7c6

diff --git a/quicksettings/keyboardtoggle/contents/ui/main.qml b/quicksettings/keyboardtoggle/contents/ui/main.qml
index 97f413884..8a51ce9c1 100644
--- a/quicksettings/keyboardtoggle/contents/ui/main.qml
+++ b/quicksettings/keyboardtoggle/contents/ui/main.qml
@@ -11,17 +11,21 @@ import org.kde.plasma.workspace.keyboardlayout 1.0 as Keyboards
 QS.QuickSetting {
     text: i18n("Virtual Keyboard")
     icon: "input-keyboard-virtual"
-    status: enabled ? i18n("On") :
-                      (Keyboards.KWinVirtualKeyboard.available ? i18n("Off") : i18n("Tap to open settings"))
-    enabled: Keyboards.KWinVirtualKeyboard.enabled && Keyboards.KWinVirtualKeyboard.available
+    status: !Keyboards.KWinVirtualKeyboard.available ? i18n("Tap to open settings")
+                                                     : (keyboardEnabled ? i18n("On") : i18n("Off"))
+    enabled: keyboardEnabled && Keyboards.KWinVirtualKeyboard.available
     settingsCommand: "plasma-open-settings kcm_mobile_onscreenkeyboard"
 
+    property bool keyboardEnabled: Keyboards.KWinVirtualKeyboard.mode !== Keyboards.KWinVirtualKeyboard.Never
+
     function toggle() {
         if (!Keyboards.KWinVirtualKeyboard.available) {
             // select a keyboard in the settings (none is likely set)
             MobileShell.ShellUtil.executeCommand("plasma-open-settings kcm_virtualkeyboard");
+        } else if (keyboardEnabled) {
+            Keyboards.KWinVirtualKeyboard.mode = Keyboards.KWinVirtualKeyboard.Never;
         } else {
-            Keyboards.KWinVirtualKeyboard.enabled = !enabled;
+            Keyboards.KWinVirtualKeyboard.mode = Keyboards.KWinVirtualKeyboard.AnyInput;
         }
     }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.