I’m using openSUSE on an old tablet PC, and would like to be able have multiple user accounts, and log in without plugging in a keyboard. I would like to make an on-screen keyboard appear at the login screen, preferably kvkbd. I have seen other posts around the web about doing this, but they have been for other distributions, for which some files are in different locations, and are not exactly the same as they are in openSUSE. If anybody could provide me with some instructions specific to openSUSE, that are easy to follow (I’m still kind of a novice) that would be great!
Thank you in advance.
Just call kvkbd in /etc/X11/xdm/Xsetup, as explained in kvkbd’s handbook (you can open that in KHelpcenter or via kvkbd’s “Help” menu).
Actually the file did this autmatically on tablet PCs in earlier openSUSE versions (<=11.4), but as the code depends on HAL to detect a tablet PC, it has been commented out:
## Check if the machine is a TabletPC and start
# xvkbd in xdm do be able to input username and password
#
#$halporp --key system.formfactor.subtype --string tabletpc
#if test $? -eq 0 -a -x $xvkbd ; then
# # Bug 149957, Bug #408736
# ( declare -i t=100
# while test $((t--)) -gt 0 ; do
# case "$(xwininfo -root -children)" in
# *greet*|xlogin) break ;;
# esac
# sleep 0.1
# done
# HOME=/root exec $xvkbd $xvkbdargs
# ) & echo $! > /var/run/xvkbd.pid
#fi
Just add the following (preferably just before or after those lines) to run kxvkbd:
HOME=/root ekvkbd --loginhelper
It worked! Kvkbd now appears at the login screen! Thank you!
Is there a way to make it appear on the lock screen as well?
I don’t think so. At least not since KDE 4.8 or something like that (since then the screen locker is supposed to absolutely not allow anything from the desktop being shown for security reasons, so those screensavers that modify the desktop image don’t really work as intended any more).
It is possible to set the screenlocker to show a plasma overlay and then add a keyboard widget, but it’s apparently not possible to enter the password with that.
So you would have to modify the lockscreen greeter’s source code (and compile it yourself) to launch kvkbd I suppose.
There’s this bug report by the way:
https://bugs.kde.org/show_bug.cgi?id=306596
A “solution” is proposed there (and a link to a blog post describing it), but I haven’t tried that.