packages icon indicating copy to clipboard operation
packages copied to clipboard

KDE lockscreen: onscreen keyboard doesn't show up

Open Qronikarz opened this issue 6 months ago • 10 comments

Please confirm there isn't an open report for this issue

  • [x] I have searched through bug reports

Summary

"Onscreen keyboard" button doesn't do anything in the lockscreen of Solus KDE Plasma. It isn't a big deal on desktop where you always have access to normal keyboard, but laptops with detachable keyboard may not always have physical keyboard. That's why it is important that the onscreen keyboard works so users can log in.

Not only does it not work on default Solus install, but also installing Mallit keyboard and choosing it in Plasma settings still doesn't make it work. "onscreen keyboard" button in the bottom left corner remains useless.

(tested on a PC and a laptop)

Steps to reproduce

  1. Power on the PC or lock it if it's already powered on
  2. Click on "onscreen keyboard" (or smth like that) in the bottom left corner

Expected result

Onscreen keyboard shows up

Actual result

Onscreen keyboard doesn't show up

Environment

  • [ ] Is system up to date?

Repo

Shannon (stable)

Desktop Environment

Plasma

System details

Operating System: Solus 4.7 KDE Plasma Version: 6.3.4 KDE Frameworks Version: 6.12.0 Qt Version: 6.8.3 Kernel Version: 6.12.23-317.current (64-bit) Graphics Platform: Wayland Processors: 4 × Intel® Core™ i5-3470 CPU @ 3.20GHz Memory: 7.7 GiB of RAM Graphics Processor: AMD Radeon RX 570 Series

Other comments

Forgot to add, but when I was testing Nobara KDE few months ago, the onscreen keyboard worked so it is possible.

Qronikarz avatar May 08 '25 22:05 Qronikarz

Can you test this with a live USB of another distribution? This likely is a bug in KDE and not in our packaging of it. Testing with another distro will help us determine that. Thanks.

TraceyC77 avatar May 12 '25 17:05 TraceyC77

garuda-mokka-linux-zen-250308 Plasma 6.3. It worked, but I noticed that it somehow booted to X11 on live USB so I switched to Wayland and it stopped working.

Nobara-41-Official-2024-12-31 Plasma 6.2. Booted automatically into Wayland and the onscreen keyboard didn't work. Which is weird because I am certain that I used Wayland and onscreen keyboard was working since it was required on a touchscreen laptop without keyboard.

Nvm. I have tested a new Nobara iso.

Nobara-42-Official-2025-05-13 Plasma 6.3 Booted into Wayland on live USB. For some reason it set up the fractional scaling to 145% instead of 175% (but that doesn't matter here) after I clicked on log out (don't click switch user because it crashes all 3 ISOs - nobara and garuda) the onscreen keyboard showed up and was working. Here more info from Nobara settings:

Operating System: Nobara Linux 42 KDE Plasma Version: 6.3.4 KDE Frameworks Version: 6.13.0 Qt Version: 6.9.0 Kernel Version: 6.14.6-200.nobara.fc42.x86_64 (64-bit) Graphics Platform: Wayland

So there are some differences.

Qronikarz avatar May 13 '25 20:05 Qronikarz

There is an upstream issue on the KDE bug tracker about maliit not working with the lock screen. What virtual keyboard does Nobara-42 have installed?

TraceyC77 avatar May 17 '25 02:05 TraceyC77

Maliit is pretty much the only virtual keyboard that I know about that works in Wayland.

Nobara 42 mallit:

bash-5.2$ rpm -qa | grep maliit
maliit-framework-2.3.0-9.fc42.x86_64
maliit-framework-qt5-2.3.0-9.fc42.x86_64
maliit-keyboard-2.3.1-10.fc42.x86_64

I also checked Solus after today's sync and it still doesn't work. Maybe it's because maliit was installed by default on Nobara and I had to install it manually on Solus 4.7 KDE + choose it in settings.

Qronikarz avatar May 17 '25 12:05 Qronikarz

Thanks for the extra details. I did a little more digging and found that Nobara does install Maliit, and does some configuration to make the VK work on their distro.

The root cause is this upstream bug, I've verified this on my system. The "Virtual Keyboard" button does not respond to clicks, it only responds to a touch. There's an aging patch to fix this that still has to be merged. I've poked them about this in that report.

Does the system you're using this on have a touch screen? Does the virtual keyboard show up if you tap on the Virtual Keyboard button? It does on my touchscreen laptop.

A potential workaround is to edit ~/.config/kwinrc, in the section [Wayland] add this line

VirtualKeyboardEnabled=true

and then reboot

TraceyC77 avatar May 18 '25 19:05 TraceyC77

From the point of view of Solus mitigating this for our users, I think we should look at what Nobara did.

  • Enable maliit by default
  • Make it work with both mouse and touch

This is aligned with our goal for improving the user experience on 2-in-1 devices

TraceyC77 avatar May 18 '25 19:05 TraceyC77

Do you still have the links to what Nobara does regarding configuration?

EbonJaeger avatar May 18 '25 19:05 EbonJaeger

Does the system you're using this on have a touch screen? Does the virtual keyboard show up if you tap on the Virtual Keyboard button? It does on my touchscreen laptop.

Ok. So I might overcomplicate it, but here we go.

Device that I need virtual keyboard on is Surface Go (so a detachable laptop which means you don't need the keyboard). The PC from my main report doesn't need virtual keyboard because it always has it keyboard near.

When I made this report both computers were behaving the same (not weird since they have nearly exactly the same configuration and packages) - "virtual keyboard" button never worked and it only moved the lockscreen above when you clicked it. Surface also has maliit installed but it behaved the same way. (note: Solus 4.7 KDE didn't have the maliit installed by default)

Now, after last Friday's updates I noticed that there is one instance where the virtual keyboard shows up on the lockscreen, but I need to explain more.

So Solus KDE for me currently has these states when it comes to unlocking it:

  1. disk encrypted by luks on boot - a black terminal with password prompt. My PC uses this method with autologin so I only need to input one password on boot.
  2. password login on boot - KDE lockscreen with no fractional scaling. I need to use this on Surface Go, because it can work without keyboard since it has a touchscreen (but virtual keyboard doesn't work right now). Ideally I would like to use method from point 1. with autologin, but I never even saw a linux whole disk encryption that had a working touchscreen keyboard to input the password
  3. locked after login - shows when you lock it manually or it locks automatically. It uses fractional scaling and has the exact behaviour that you described - when touching the button, the virtual keyboard shows up. When you use touchpad it just moves the lockscreen up.
  4. logged out after login - same situation as point 2.
  5. switched user after login - same situation as point 2.
  6. sleep after login - same situation as point 3.
  7. hibernate after login - same situation as point 3.

Well that's a long reply. I could write even longer review of Solus on this device (I encountered some things that I don't know where to report), but there's no place for it like in Mint's GitHub discussions (they have laptop review section there). And I don't want to make a forum account.

Anyway, back to the topic. I read that Plasma 6.5 will have a revamped login manager which might get rid of point 2. which I hope for. https://blog.davidedmundson.co.uk/blog/a-roadmap-for-a-modern-plasma-login-manager/ It still leaves the topic of whole disk encryption, but that's not the point of this issue report.

So tl;dr I agree:

  1. Add maliit keyboard to Solus KDE default packages
  2. Set it up

Qronikarz avatar May 18 '25 21:05 Qronikarz

Do you still have the links to what Nobara does regarding configuration?

I had just done a brief search on their repo and found this, mostly those are for setting up the ISO. I don't know if / how they're patching the package to make it work with mouse clicks.

TraceyC77 avatar May 19 '25 01:05 TraceyC77

@Qronikarz , thanks for detailing your use cases. This is good information for us as we consider our implementation of the maliit install and configuration.

"virtual keyboard" button never worked and it only moved the lockscreen above when you clicked it

I saw this as well on a Lenovo Flex 2-in-1 with Plasma built from git-master

cc: @ReillyBrogan as one of our Plasma maintainers, who also has a Surface to test with.

TraceyC77 avatar May 19 '25 01:05 TraceyC77

@Qronikarz , does the on-screen keyboard show up if you tap on the password input? upstream, it was determined that it isn't expected to show up when clicking the button, only when tapping it

TraceyC77 avatar Sep 19 '25 21:09 TraceyC77

Nothing has changed between then and now.

Behaviour is still the same. Doesn't matter what you tap/click, it just doesn't show up. And it doesn't matter if you have keyboard connected or disconnected.

Of course that's in the situation from points 2. 4. 5. from my post above. 3. 6. 7. do work.

Sadly it seems new login manager didn't make it to Plasma 6.5.

it was determined that it isn't expected to show up when clicking the button

Excuse me, but what? What's even the point of this button then? It should just show the keyboard no matter what. Also, the virtual keyboard is considered as accessibility improvement, not just a keyboard for touchscreen.

Right now I see this issue report as not a problem with Solus packaging, but a problem with KDE and with a possible hack fix from the Nobara.

EDIT: There's also the new virtual keyboard from KDE Plasma which seems a lot better than maliit, but it's still in testing. Maybe it can help here somehow.

Qronikarz avatar Sep 19 '25 22:09 Qronikarz

Sadly it seems new login manager didn't make it to Plasma 6.5.

The new plasma-login is still in development and likely won't be ready until at least 6.6.

Excuse me, but what? What's even the point of this button then? It should just show the keyboard no matter what.

Personally, I agree with you. There may be a feature request for this in the KDE tracker, if not you can create one.

Right now I see this issue report as not a problem with Solus packaging, but a problem with KDE and with a possible hack fix from the Nobara.

Pretty much. When we get time we can hopefully hack this ourselves until the new plasma-login software is available. Thanks for your patience.

TraceyC77 avatar Oct 23 '25 01:10 TraceyC77

Solus week 45 update - KDE Plasma 6.5.2

So... Somehow it got fixed. Points 2. 4. 5. from the https://github.com/getsolus/packages/issues/5600#issuecomment-2889214697 now act like 3. 6. 7.. What it means is that the lockscreen now has fractional support and the onscreen keyboards shows up (though you obviously need to have maliit installed).

Onscreen keyboard still has the weird issue of only opening with touch - doesn't react to mouse click. And to make it weirder you can only hide it with mouse click because touching the button doesn't do anything when it's already opened. But that doesn't matter much.

So I guess the problem's solved and all you need to do is to install maliit by default on Plasma edition? Anyway, leaving the topic open for now. Close it if you want to.

Qronikarz avatar Nov 09 '25 21:11 Qronikarz

Thanks for letting us know. At this point, what Solus can do is to install maliit by default on the Plasma Edition. I've re-titled this issue to make that clear.

TraceyC77 avatar Nov 16 '25 20:11 TraceyC77

Evan pointed out to me that plasma-workspace now has a dependency on maliit-keyboard, so the part Solus has control over has been done. (You can see the linked pull request above, from August).

The issue with needing a touch event, as mentioned earlier, is an upstream issue with a bug report in the KDE tracker. That will need to be addressed by them.

TraceyC77 avatar Nov 16 '25 20:11 TraceyC77