Bug 338018

Summary: Keyboard input ignored in kdm/greeter
Product: [Unmaintained] kdm Reporter: Volker Kuhlmann <bugz57>
Component: generalAssignee: kdm bugs tracker <kdm-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: martin.holec, opensource, rdieter, t.bubeck, wbauer1
Priority: NOR    
Version: 4.10.5   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.11.22
Sentry Crash Report:

Description Volker Kuhlmann 2014-08-04 07:40:45 UTC
In many cases keyboard input is not functional in kdm/greeter.

A) At the kdm login screen, press alt-R. It tends to be ignored with the cursor in the password input field.

B) At the kdm login screen, enter remote login, either by pressing alt-R (if it works), or by selecting it from the menu. In the remote host list, select "local login" from the menu. It is now not possible to type into either user name or password fields, even after clicking into them.

C) Enter remote login (alt-R, menu). It is impossible to type into the host input field to add another host.

D) In the remote login screen every keyboard input is frequently ignored, like all of the alt-XX kenu shortcuts. Luckily the menu still works with the mouse.

These I have found with 5 minutes of playing around and the list may not be complete. Some of these problems have been around for a long time, at least C) was reported years ago.

Reproducible: Always

Steps to Reproduce:
See above


Expected Results:  
Keyboard shortcuts to work.
Text input fields to accept keyboard input.
Comment 1 Wolfgang Bauer 2014-12-16 12:58:06 UTC
*** Bug 280422 has been marked as a duplicate of this bug. ***
Comment 2 Wolfgang Bauer 2014-12-16 12:58:34 UTC
*** Bug 293617 has been marked as a duplicate of this bug. ***
Comment 3 Wolfgang Bauer 2014-12-16 12:59:10 UTC
*** Bug 313021 has been marked as a duplicate of this bug. ***
Comment 4 Wolfgang Bauer 2014-12-16 13:03:01 UTC
There's a general problem with switching the input focus in kdm's dialogs, caused by the fact that no window manager is running I suppose.

Setting the option "GrabInput=Always" in /usr/share/kde4/config/kdm/kdmrc (in
 the "[X-*-Greeter]" section) should "fix" the issue.

But this option's comment says:
# Whether to grab keyboard and mouse while the greeter is visible. Grabs
# may improve security, but make on-screen keyboards, etc. unusable.
Comment 5 Wolfgang Bauer 2015-08-04 17:53:33 UTC
Git commit 46f1055ffdcd2e068296576a7824012f42e9b9a8 by Wolfgang Bauer.
Committed on 04/08/2015 at 17:51.
Pushed by wbauer into branch 'KDE/4.11'.

Fix input focus for KDM's dialogs when GrabInput is not active

Commit d03df616 made input grabbing optional in KDM. But without it,
input dialogs do not correctly get focus and keyboard shortcuts don't
work.

KDM does call activateWindow() on opened dialogs, but this doesn't seem
to have the desired effect without a window manager running. And if you
hover the mouse over a widget, it visually looks like it has focus, but
often it doesn't accept input anyway.

This patch sets the input focus via XSetInputFocus() instead, this also
has the positive side-effect that a widget retains the focus if you move
the mouse away.
Related: bug 268988
REVIEW: 121755

M  +2    -2    kdm/kfrontend/kfdialog.cpp

http://commits.kde.org/kde-workspace/46f1055ffdcd2e068296576a7824012f42e9b9a8