Bug 462530 - Plasma mobile lockscreen does not have an alphanumeric virtual keyboard fallback
Summary: Plasma mobile lockscreen does not have an alphanumeric virtual keyboard fallback
Status: RESOLVED WORKSFORME
Alias: None
Product: kscreenlocker
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-02 01:51 UTC by idoitprone
Modified: 2024-03-21 17:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Lockscreen bring up vkbd button (182.44 KB, image/png)
2022-12-02 19:29 UTC, Devin Lin
Details
sudo libinput list-devices (6.44 KB, text/plain)
2023-10-19 22:05 UTC, idoitprone
Details
QT_IM_MODULE=qtvirtualkeyboard /usr/libexec/kscreenlocker_greet --testing (492.49 KB, image/png)
2023-10-19 22:33 UTC, idoitprone
Details

Note You need to log in before you can comment on or make changes to this bug.
Description idoitprone 2022-12-02 01:51:17 UTC
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
Comment 1 Devin Lin 2022-12-02 19:29:08 UTC
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.
Comment 2 idoitprone 2022-12-03 20:56:23 UTC
(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.
Comment 3 idoitprone 2023-06-08 02:19:51 UTC
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.
Comment 4 idoitprone 2023-06-08 02:20:29 UTC
lsb_release -a
LSB Version:    n/a
Distributor ID: openSUSE
Description:    openSUSE Tumbleweed
Release:        20230605
Codename:       n/a
Comment 5 idoitprone 2023-06-15 10:24:29 UTC
```
░░ 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.
Comment 6 Devin Lin 2023-06-15 15:07:35 UTC
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.
Comment 7 idoitprone 2023-07-15 05:23:36 UTC
(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.
Comment 8 idoitprone 2023-09-03 02:58:41 UTC
Is there a keyboard setting in /etc/xdg/kscreenlockerrc ?
Comment 9 idoitprone 2023-10-19 22:04:04 UTC
I forgot I reported it ages ago. I might ask sddm

https://invent.kde.org/teams/plasma-mobile/issues/-/issues/238
Comment 10 idoitprone 2023-10-19 22:05:32 UTC
Created attachment 162438 [details]
sudo libinput list-devices
Comment 11 idoitprone 2023-10-19 22:06:27 UTC
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
Comment 12 idoitprone 2023-10-19 22:33:17 UTC
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"
Comment 13 idoitprone 2023-10-21 14:36:26 UTC
I attempted these launch options. QT_IM_MODULE=qtvirtualkeyboard KWIN_IM_SHOW_ALWAYS=1  /usr/libexec/kscreenlocker_greet --testing
Doesn't work
Comment 14 idoitprone 2024-03-21 17:50:45 UTC
works with maliit and kde6.

You need to use a touch screen to reveal the keyboard. The gamepad doesn't work