SUMMARY Plasma mobile only allows a virtual keyboard to enter a pin. However, some systems may never set a pin. This issue causes an awkward login situation when the system does not have an attach physical keyboard. Some systems like a steam deck is a tablet with mouse button. I will need to either pair a bluetooth keyboard or attach one through usbc in order to login or else I am locked out of my system. STEPS TO REPRODUCE 1. Install KDE plasma mobile with alphabetic characters 2. Set the appearance to KDE mobile including the plasma lock screen 3. Start KDE plasma mobile 4. Engage the lock screen. OBSERVED RESULT You are effectively locked out until you can find an external keyboard to send characters to the lock screen. The virtual lockscreen only support a number pad. EXPECTED RESULT A button to reveal the virtual keyboard fallback. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Opensuse tumbleweed (available in About System) KDE Plasma Version: 5.26.3 KDE Frameworks Version: 5.100.1-1.1 Qt Version: lsb_release -a LSB Version: n/a Distributor ID: openSUSE Description: openSUSE Tumbleweed Release: 20221129 Codename: n/a Linux steamdeck.lan 6.1.0-rc7-1.gbd1d686-default #1 SMP PREEMPT_DYNAMIC Mon Nov 28 00:36:04 UTC 2022 (bd1d686) x86_64 x86_64 x86_64 GNU/Linux ADDITIONAL INFORMATION
Created attachment 154237 [details] Lockscreen bring up vkbd button The mobile lockscreen should have a button that you can press to toggle on the virtual keyboard.
(In reply to Devin Lin from comment #1) > Created attachment 154237 [details] > Lockscreen bring up vkbd button > > The mobile lockscreen should have a button that you can press to toggle on > the virtual keyboard. Ahh, if that is the case then I might be a victim of Opensuse maliit keyboard packaging issue. The keyboard keeps breaking on opensuse since they do not officially package it.
It seems like the virtual keyboard doesn't work on steam deck. What debug information do you need? kwin_wayland --version kwin 5.27.4 Information for package maliit-keyboard: ---------------------------------------- Repository : home:dmitry-s (openSUSE_Tumbleweed) Name : maliit-keyboard Version : 2.3.1-9.35 Arch : x86_64 Vendor : obs://build.opensuse.org/home:dmitry-s Installed Size : 6.5 MiB Installed : Yes Status : up-to-date Source package : maliit-keyboard-2.3.1-9.35.src Upstream URL : https://github.com/maliit/keyboard Summary : Maliit virtual keyboard Description : Maliit provides a flexible and cross-platform input method framework. It has a plugin-based client-server architecture where applications act as clients and communicate with the Maliit server via input context plugins. The communication link currently uses D-Bus. Maliit is an open source framework (LGPL 2) with open source plugins (BSD). Information for package plasma5-mobile: --------------------------------------- Repository : openSUSE-Tumbleweed-Oss Name : plasma5-mobile Version : 5.27.5-1.1 Arch : x86_64 Vendor : openSUSE Installed Size : 2.3 MiB Installed : Yes Status : out-of-date (version 5.27.4-1.1 installed) Source package : plasma5-mobile-5.27.5-1.1.src Upstream URL : http://www.kde.org/ Summary : Plasma Mobile Description : Plasma shell and components targeted for phones.
lsb_release -a LSB Version: n/a Distributor ID: openSUSE Description: openSUSE Tumbleweed Release: 20230605 Codename: n/a
``` ░░ The unit user-464.slice completed and consumed the indicated resources. Jun 15 03:18:13 steamdeck.lan maliit-keyboard[4704]: maliit.connection.wayland: virtual void Maliit::Wayland::InputMethodContext::zwp_input_method_context_v1_content_type(uint32_t, uint32_t) Jun 15 03:18:13 steamdeck.lan maliit-keyboard[4704]: maliit.connection.wayland: virtual void Maliit::Wayland::InputMethodContext::zwp_input_method_context_v1_commit_state(uint32_t) Jun 15 03:18:16 steamdeck.lan kscreenlocker_greet[4657]: pam_kwallet5(kde:auth): pam_kwallet5: pam_sm_authenticate Jun 15 03:18:16 steamdeck.lan kscreenlocker_greet[4657]: pam_kwallet5(kde:auth): pam_kwallet5: we were already executed Jun 15 03:18:16 steamdeck.lan kscreenlocker_greet[4657]: qml: prompt secret: Password: Jun 15 03:18:16 steamdeck.lan maliit-keyboard[4704]: maliit.connection.wayland: virtual void Maliit::Wayland::InputMethodContext::zwp_input_method_context_v1_content_type(uint32_t, uint32_t) Jun 15 03:18:16 steamdeck.lan maliit-keyboard[4704]: maliit.connection.wayland: virtual void Maliit::Wayland::InputMethodContext::zwp_input_method_context_v1_commit_state(uint32_t) Jun 15 03:18:16 steamdeck.lan kscreenlocker_greet[4657]: pam_kwallet5(kde:setcred): pam_kwallet5: pam_sm_setcred Jun 15 03:18:16 steamdeck.lan kscreenlocker_greet[4657]: qml: login succeeded Jun 15 03:18:17 steamdeck.lan systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully. ░░ Subject: Unit succeeded ```` I tried sudo journalctl -xe. I do not know whether these logs mean anything.
Have you been able to trigger the virtual keyboard at all? Like from within the shell. I wonder if KWin is disabling the virtual keyboard because it detects a hardware one.
(In reply to Devin Lin from comment #6) > Have you been able to trigger the virtual keyboard at all? Like from within > the shell. > > I wonder if KWin is disabling the virtual keyboard because it detects a > hardware one. Not once. I never was able to trigger it.
Is there a keyboard setting in /etc/xdg/kscreenlockerrc ?
I forgot I reported it ages ago. I might ask sddm https://invent.kde.org/teams/plasma-mobile/issues/-/issues/238
Created attachment 162438 [details] sudo libinput list-devices
sudo systemctl sddm # /usr/lib/systemd/system/sddm.service [Unit] Description=Simple Desktop Display Manager Documentation=man:sddm(1) man:sddm.conf(5) Conflicts=getty@tty1.service After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service systemd-logind.service PartOf=graphical.target StartLimitIntervalSec=30 StartLimitBurst=2 [Service] ExecStart=/usr/bin/sddm ExecStartPre=-/usr/bin/plymouth quit --retain-splash Restart=always [Install] Alias=display-manager.service
Created attachment 162439 [details] QT_IM_MODULE=qtvirtualkeyboard /usr/libexec/kscreenlocker_greet --testing qt.qpa.wayland: qtvirtualkeyboard currently is not supported at client-side, use QT_IM_MODULE=qtvirtualkeyboard at compositor-side. Cyclic dependency detected between "qrc:/org/kde/plasma/private/mobileshell/qml/dataproviders/AudioProvider.qml" and "qrc:/org/kde/plasma/private/mobileshell/qml/osd/volume/VolumeOSD.qml" Cyclic dependency detected between "qrc:/org/kde/plasma/private/mobileshell/qml/dataproviders/AudioProvider.qml" and "qrc:/org/kde/plasma/private/mobileshell/state/qml/HomeScreenControls.qml" file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment" No modems available qt.qpa.wayland: Wayland does not support QWindow::requestActivate() Error: DataSource type expected Error: DataSource type expected file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment" file:///usr/share/plasma/look-and-feel/org.kde.plasma.phone/contents/lockscreen/LockScreen.qml:34: TypeError: Cannot read property 'passwordBar' of null file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment" Error: DataSource type expected Error: DataSource type expected file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment" file:///usr/share/plasma/look-and-feel/org.kde.plasma.phone/contents/lockscreen/LockScreen.qml:34: TypeError: Cannot read property 'passwordBar' of null Locked at 1697753509 qml: prompt secret: Password: qml: prompt secret: Password: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. qml: prompt secret: Password: qml: prompt secret: Password: qt.qpa.wayland: Wayland does not support QWindow::requestActivate() qt.qpa.wayland: Wayland does not support QWindow::requestActivate() qml: prompt secret: Password: qml: prompt secret: Password: qt.qpa.wayland: Wayland does not support QWindow::requestActivate() qt.qpa.wayland: Wayland does not support QWindow::requestActivate() qml: prompt secret: Password: qml: prompt secret: Password: qt.virtualkeyboard.hunspell: Hunspell dictionary is missing for "en_GB" . Search paths ("/usr/share/qt5/qtvirtualkeyboard/hunspell", "/usr/share/hunspell", "/usr/share/myspell/dicts") qml: prompt secret: Password: qml: prompt secret: Password: qml: login failed org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_04_00.1.pro-output-8" org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_04_00.1.pro-output-8"
I attempted these launch options. QT_IM_MODULE=qtvirtualkeyboard KWIN_IM_SHOW_ALWAYS=1 /usr/libexec/kscreenlocker_greet --testing Doesn't work
works with maliit and kde6. You need to use a touch screen to reveal the keyboard. The gamepad doesn't work