On screen keyboard partially clipped or completely off screen

Bug #1647059 reported by yoyoma2
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity-greeter (Ubuntu)
New
Undecided
Unassigned

Bug Description

The on screen keyboard is too low and partially clipped or completely off the bottom of the screen.

On a laptop with a 2000 pixel high built-in screen with the lid closed and connected to a 1080p hdmi tv. The built-in screen is turned off in the display settings in case that's relevant.

Replication steps

1) Turn on the on screen keyboard and log in using it
2) Logout or reboot
3) Lightdm remembers that the on screen keyboard is on and tries to display it

= Lightdm displays the on screen keyboard using the size of the unused 2000 pixel high screen for alignment instead of the 1080 high screen in use. Only the top of the keyboard is visible at the bottom of the screen. If lightdm is configured to use 720p then the on screen keyboard is completely clipped and invisible.

The problem only occurs when lightdm remembers that the on screen keyboard is on. Turning it on manually correctly displays it at the bottom of the screen. Toggling a misplaced keyboard off and back on unfortunately doesn't fix the problem.

Workaround 1

When logging in, after typing password, turn off the on screen keyboard and click the small login arrow instead of clicking the on screen enter key. Each time logging in you'll need to turn the on screen keyboard on and off again. Turning off an invisible/clipped keyboard and rebooting will temporarily fix the problem.

Workaround 2

Dangerous hack. Run a script to turn off the on screen keyboard in lightdm's dconf database. To make this script run as a startup application the sudo commands need to be removed and the lightdm group membership given to the user running it as well as r/w access to /var/lib/lightdm/.config/dconf/user.

#!/bin/bash
sudo cp /var/lib/lightdm/.config/dconf/user ~/.config/dconf/lightdm
printf %s\\n "user-db:lightdm" > ~/db_profile_lightdm
export ONSCREEN_KBD=$(DCONF_PROFILE=~/db_profile_lightdm dconf read /com/canonical/unity-greeter/onscreen-keyboard)
#echo 'ONSCREEN_KBD=' $ONSCREEN_KBD
if [ "$ONSCREEN_KBD" != "false" ]; then
   DCONF_PROFILE=~/db_profile_lightdm dconf write /com/canonical/unity-greeter/onscreen-keyboard false
   sudo cp ~/.config/dconf/lightdm /var/lib/lightdm/.config/dconf/user
fi
rm -f ~/db_profile_lightdm ~/.config/dconf/lightdm
exit 0

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: lightdm 1.10.6-0ubuntu1
ProcVersionSignature: Ubuntu 3.13.0-37.64-generic 3.13.11.7
Uname: Linux 3.13.0-37-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
CurrentDesktop: Unity
Date: Sat Dec 3 09:16:31 2016
InstallationDate: Installed on 2014-07-09 (877 days ago)
InstallationMedia: sonar 13.10 - Release amd64
SourcePackage: lightdm
UpgradeStatus: Upgraded to trusty on 2014-07-09 (877 days ago)

Revision history for this message
yoyoma2 (sinbad-4273) wrote :
Revision history for this message
yoyoma2 (sinbad-4273) wrote :

The bug is in the unity-greeter package not in lightdm.

affects: lightdm (Ubuntu) → unity-greeter (Ubuntu)
Revision history for this message
yoyoma2 (sinbad-4273) wrote :

Here's a patch that fixes the problem in 14.04.11-0ubuntu1 by adjusting the keyboard position whenever the monitors change.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "patch.txt" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
yoyoma2 (sinbad-4273)
description: updated
Revision history for this message
yoyoma2 (sinbad-4273) wrote :

This bug is still present in 16.04 LTS. The steps are the same. Login with the onscreen keyboard once, then logout/reboot. Then the onscreen keyboard keyboard is now invisible and turning it on/off doesn't make it come back. The two workarounds listed in the initial bug report for 14.04 LTS still work.

Environment: laptop with a 2000 pixel high built-in screen with the lid closed and connected to a 1080p hdmi tv.

Revision history for this message
yoyoma2 (sinbad-4273) wrote :

This bug is still present in 18.04 LTS. The steps are the same. The startup application workaround #2 in the OP works only temporarily as the permissions on /var/lib/lightdm/.config/dconf/user get reset and the workaround fails.

Switching from lightdm to gdm3 gives you an ugly primitive on screen keyboard but at least they get the coordinates right. This page explains how to switch display manager.

https://www.linuxuprising.com/2018/12/how-to-change-default-display-manager.html

If you do this on a laptop with an external monitor you will probably run into gdm bug:

https://gitlab.gnome.org/GNOME/gdm/issues/372

To get the gdm3 login screen to appear on the proper monitor I used the accepted solution by Aravind here:

https://askubuntu.com/questions/1043337/ubuntu-18-04-login-screen-display-settings

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.