After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 462264 - suppress key repeat for Return in greeter
suppress key repeat for Return in greeter
Status: RESOLVED OBSOLETE
Product: gdm
Classification: Core
Component: general
2.19.x
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
: 324972 402028 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-07-31 19:48 UTC by Ian Jackson
Modified: 2010-06-17 02:41 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
patch to supress key repeat on Return in greeter (1.71 KB, patch)
2007-07-31 19:48 UTC, Ian Jackson
needs-work Details | Review

Description Ian Jackson 2007-07-31 19:48:11 UTC
If the user appears to lean on the Return key, an indefinite series of empty usernames will cause the gdm greeter and slave to beep a lot.

This is particularly a problem because this situation can be simulated occasionally when using fast user switching.  To reproduce:

1. Log in as user A
2. Switch user to B (results in starting a gdmflexiserver as B)
3. Return to A's session and log out
4. At the prompt, enter B's username and password

gdm will, if configured appropriately, automatically and without asking immediately switch VTs to B's session.

The greeter continues to run on the original VT, but the VT switch happened while the Return key was still depressed.  So the greeter sees a key repeat.

I have worked around this problem with the patch against gdm which I will attach shortly.  This suppresses all but the first KEY_PRESS event following any KEY_RELEASE event (for GDK_Return).
Comment 1 Ian Jackson 2007-07-31 19:48:35 UTC
Created attachment 92816 [details] [review]
patch to supress key repeat on Return in greeter
Comment 2 Brian Cameron 2007-07-31 20:20:11 UTC

This patch looks good.  However, you need to make the similar change to 
gdmlogin in its gdm_event function.  Note that aside from the logic for how to handle Ctrl-U the code is identical between these two functions.  It might be nice to move the common code into gui/gdmcommon.c and just call a function to handle the common things (translating mouse button and your new code).  If you don't want to bother doing this, I'd accept a patch that just continued to duplicate logic in the two files.

I will accept this patch once you fix the problem for gdmlogin also.

Comment 3 Brian Cameron 2007-07-31 20:37:48 UTC
*** Bug 402028 has been marked as a duplicate of this bug. ***
Comment 4 Brian Cameron 2007-07-31 20:45:12 UTC
Note if you are mucking around with this code anyway, it would be awesome if you also fixed bug #318958.  People complain that GDM allows spaces to be entered into the entry field, when it is not a valid character for username or password.
It should be easy to make these functions ignore the space key.
Comment 5 Brian Cameron 2007-07-31 21:20:13 UTC
Also, note related bug #308171.  Does this fix address that problem as well, or does it have a similar fix?
Comment 6 Brian Cameron 2007-08-09 23:06:59 UTC
*ping*  Is it possible to finish up this so it can go into 2.20?
Comment 7 Brian Cameron 2007-08-16 02:18:24 UTC
Can this patch be updated to be workable?  I'd like to get this into 2.20.  Would be nice to also fix bug #308171.
Comment 8 Brian Cameron 2007-08-16 02:18:56 UTC
*** Bug 324972 has been marked as a duplicate of this bug. ***
Comment 9 William Jon McCann 2010-06-17 02:41:02 UTC
Thanks for taking the time to report this bug.
However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use.

By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME.
Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.