PATCH lightdm-gtk-greeter on screen keyboard support

Bug #905809 reported by Padfoot
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
LightDM GTK Greeter
Fix Released
Wishlist
Unassigned

Bug Description

I am currently maintaining a LightDM 1.0.6 package in Archlinux AUR repository which patches the gtk-greeter to add on screen keyboard support.

Please find attached the patch for your consideration/comment/improvement.

Cheers.

Tags: patch
Revision history for this message
Faheem Pervez (qwerty12) wrote :

I'm not a LightDM developer, but:

You may want to switch to GLib's asynchronous spawning functions - this way you don't need to have people put an ampersand after the command, and you can get the PID so you can SIGTERM etc. yourself.

Revision history for this message
Padfoot (padfoot) wrote :

Thanks Faheem. I will look at modifying the patch and re-submitting it.

I am not an experienced C programmer, and knew my method of launching and terminating the keyboard was not the best.

I have been hoping someone like yourself could point me in the right direction.

Cheers.

Changed in lightdm:
status: New → Triaged
importance: Undecided → Wishlist
Revision history for this message
Padfoot (padfoot) wrote :

Updated patch now attached.

The keyboard command is now launched using glib g_spawn_async.

The patch adds a section to lightdm-gtk-greeter.conf:

[a11y]
keyboard =

The keyboard launch command is added here.

I am currently using it with florence (florence --no-gnome --focus) and it is working beautifully.

Cheers

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Hi Padfoot,

Thanks for the patch. I've reassigned this bug to the LightDM GTK greeter project. I'm not actively maintaining this project but as other people are using it I hope someone will step up and review / merge this patch.

affects: lightdm → lightdm-gtk-greeter
Revision history for this message
Padfoot (padfoot) wrote :

Updated patch attached.

Patch now applies directly to lightdm-gtk-greeter-1.1.5 source instead of the lightdm-1.0.x source.

Cheers.

Revision history for this message
Cédric Dufour (cdufour-keyword-ubuntu-086000) wrote :

I can confirm this patch works when applied on the 1.3.1 version of lightdm-gtk-greeter (in Quantal).
Sole problem is that changes applied by the patch to the lightdm-gtk-greeter.conf file do not appear in the /etc/lightdm/lightdm-gtk-greeter.conf (actually a simlink to /etc/alternatives/lightdm-gtk-greeter-config-derivative). This is bad,because lacking the '[a11y]' entry in the config file, lightdm segfaults (and respawns) as soon as one tries to launch the keyboard (I found this by having mistyping '[ally]' for '[a11y]').
Hope this helps.
Cheers
PS: OSK is really a MUST for tablet devices. And in *X*ubuntu Quantal, unity-greeter is no longer an alternative (for it simply won't show the login/password box).

Revision history for this message
Padfoot (padfoot) wrote :

Hi Cedric,

Thanks for your feedback. The patch you tried was for version 1.1.5. A few changes affecting the patch have entered the source since.

Please try the new patch attached below. I just built from source and can confirm it is correctly applied to lightdm-gtk-greeter.conf.

Cheers.

Revision history for this message
Padfoot (padfoot) wrote :

Hi,

I have attached an updated patch compatible with the source for v 1.5.1.

The patch has been "refined" in that if no command for a keyboard is added to lightdm-gtk-greeter.conf, the menu option is hidden, whereas if a keyboard command is added to lightdm-gtk-greeter.conf, the keyboard is automatically started on greeter launch.

The patch also makes the panel and menu icons larger to be more compatible with touch interfaces.

The patch is compatible with compiling for both gtk3 and gtk2.

Cheers.

Revision history for this message
Padfoot (padfoot) wrote :

Forgot to add, the patch now just adds the keyboard command option to the [greeter] section of lightdm-gtk-greeter.conf. There is no longer a separate [a11y] section, keeping the conf file as tidy as possible.

Cheers.

Revision history for this message
Sean Davis (bluesabre) wrote :

I've committed initial support for the keyboard. I intend to extend the functionality to allow the greeter to properly place the keyboard at the bottom of the screen.

Changed in lightdm-gtk-greeter:
status: Triaged → Fix Committed
Revision history for this message
Sean Davis (bluesabre) wrote :

Thanks for your patch, it was helpful to quickly implement this feature!

Revision history for this message
Padfoot (padfoot) wrote :

This is great news.

If there is anything I can do to assist, testing for example, please let me know.

Cheers.

Revision history for this message
Sean Davis (bluesabre) wrote :

I've added positioning for the "onboard" application since it supports it as a commandline argument. If you're interested in testing, you can pull the latest code from bzr or install the lightdm-gtk-greeter PPA. New packages are built daily, and the positioning code should be available in the next build.

PPA:
https://launchpad.net/~lightdm-gtk-greeter-team/+archive/daily

Sean Davis (bluesabre)
Changed in lightdm-gtk-greeter:
milestone: none → 1.5.2
Sean Davis (bluesabre)
Changed in lightdm-gtk-greeter:
status: Fix Committed → Fix Released
Revision history for this message
My name (plmalternate) wrote :

Pardon my confusion, please. The way I read this page this is supposed to be fixed. Am I misinterpreting it? Is it fixed or is it just fixed for Arch? I can't make it work in Ubuntu 14.04, 32 bit, using plain Openbox as a DE, lightdm, and lightdm-gtk-greeter 1.8.4-0ubuntu1, everything updated to the latest in the Ubuntu repo.

Skipping the commented out stuff, here is my /etc/lightdm/lightdm-gtk-greeter.conf:

[greeter]
keyboard=onboard
background=#000000
#theme-name=Ambiance
theme-name=0_user,_large_font
icon-theme-name=LoginIcons
font-name=Ubuntu 60
xft-antialias=true
xft-dpi=96
xft-hintstyle=slight
xft-rgba=rgb
indicators=~language;~session;~power
show-language-selector=false
show-clock=true
clock-format=%a %l:%M

Revision history for this message
Sean Davis (bluesabre) wrote :

@My name, you're missing the accessibility menu, which houses the on-screen keyboard. Try this:

indicators=~language;~a11y;~session;~power;

Revision history for this message
My name (plmalternate) wrote :

@Sean Davis,
Thank you very much, sir! Cool! That worked. I even understood why.

@ Anyone Interested,
When invoked like this Onboard doesn't honor it's preference settings (I just thought: I bet it would have if I had set them AS ROOT, duh) and the greeter won't pass on anything after the first space in the "keyboard=" value, with or without double quotes, but I was able to work around that and get Onboard to take options (placement, size, theme) by putting the command in a script , /usr/bin/onboardd, and making the line in /etc/lightdm/lightdm-gtk-greeter.conf:
keyboard=onboardd.

Revision history for this message
My name (plmalternate) wrote :

mea culpa, my punctuation above could mislead. The line is:

 keyboard=onboardd

There is no period.

Revision history for this message
Andrew P. (kalgasnik) wrote :

You always can use F3 key to run onboard, "~a11y" icon is not necessary in this case.

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.