sddm blocks screen with on-screen keyboard in Ubuntu 20.04

Solution 1:

I have had a similar problem and just discovered a solution.

First up, don't try another display manager with Plasma. I was using another one until recently and my sytem (Ubuntu 20.04 server) was stalling on boot. I had to put it to sleep and then wake it to get a login screen. I switched to sddm and solved that problem immediately (also clearing an error with notifications in the Plasma GUI), only to be confronted with the annoying on screen keyboard.

Everything online said there should be a configuration file, sddm.conf, in /etc/. They said you should find the line that starts with InputMethod= and make sure there is nothing after the equals sign. On my system, there was no such file.

I saw somewhere that it might work if I added the file. At the command line, I typed:

sudo nano /etc/sddm.conf

and it opened a new file. I simply typed InputMethod= on the first line (nothing else) and saved the file.

Problem solved, no more on screen keyboard at login. From what I've read, I think I know what's happening but I'm really not sure (I'm an ignorant noob). I just know it worked for me.

Solution 2:

The full correct solution is as follows:

cd /etc/sddm.conf.d

In this directory you will find several files:

ls -l

Output:

michael@Kubuntu-VM:/etc/sddm.conf.d$ ls -la
total 20
drwxr-xr-x   2 root root  4096 Oct  8 11:08 .
drwxr-xr-x 186 root root 12288 Oct  8 11:05 ..
-rw-r--r--   1 root root   167 Oct  8 11:08 kde_settings.conf

Open up the kde_settings.conf in your editor of choice (as superuser, because it is owned by root):

sudo vim kde_settings.conf

You should see something like the following:

[Autologin]
Relogin=false
Session=
User=

[General]
HaltCommand=
RebootCommand=

[Theme]
Current=Your-login-theme

[Users]
MaximumUid=60000
MinimumUid=1000

Now, right under whatever is the last entry in your General group, add the setting InputMethod=. You can optionally add the comments shown in the example below above this line for future reference. I included a link to this answer, explaining the line's necessity, for additional info. I did this in case you encounter this file and its change at some time in the distant future, probably while upgrading your Linux distro or some package which wants to reset this file, by which point you will have likely forgotten all of this and the reason why you made this change - it happens to all of us:

...
[General]
HaltCommand=
RebootCommand=
# This disables the on-screen keyboard from popping up when
# Username and Password are being entered at the Login screen.
#
# For additional info, see: https://askubuntu.com/a/1368158/4197
InputMethod=

[Theme]
...

Log out and test by trying to reenter your username and password, hopefully without that annoying gratuitous on-screen keyboard popping up and obscuring the entire Login screen, including the field you are trying to populate - an excellent example of horrible UI design.

Shout, "Finally!", and get on with whatever task you were trying to do before encountering this frustration and winding up here in askubuntu (e.g., updating your SDDM Login theme and getting hijacked by this keyboard gremlin).

Bonus

For those still here and desiring to understand the "why of it all," enter the following command:

/usr/bin/sddm --example-config | grep Input

Output:

# Input method module
InputMethod=qtvirtualkeyboard

The above default for the InputMethod, which is probably this way for phone/tablet support, is the reason you are here.