Menu

#19 X Keyboard Grab Problem

open
nobody
None
5
2012-11-29
2002-10-10
Anonymous
No

Hi,

Here is the setup:

RedHat Linux 7.3, rdesktop is running against Windows
2000 Server. I just have installed CVS version of
rdesktop available on 09-Oct-2002. I use XKB, if it
matters.

The problem is: when I leave rdesktop window active
(i.e. in focus) for a while, my xscreensaver gets
activated. It spits out a message about him being
unable to grab the keyboard and continues. It does
not react on keypresses anymore; mouse events break
the screensaver and return me to the rdesktop window.
If I wait long enough for lock to activate, I get
stuck, because there is no way to enter the password
:). The only way to recover is to kill xscreensaver
from another console. Here are some good news -
before the upgrade from CVS first mouse motion (after
killing xscreensaver) killed the entire X session.
This seems to be fixed in CVS, but I still have to
kill xscreensaver if it is in the lock mode.

Did anybody take a look on this? I am ready to help
with testing this out. Please, help me fix this as I
am going to deploy rdesktop on couple of boxes in my
company and I anticipate a lot of questions on this
regard from the users.

Please respond me at alext@uazone.net

Thank you very much,
Alex

Discussion

  • Peter Åstrand

    Peter Åstrand - 2003-10-14

    Logged In: YES
    user_id=344921

    Moving to bugs.

     
  • Eric Dutko

    Eric Dutko - 2004-03-01

    Logged In: YES
    user_id=988261

    A similar problem has occurred for me with much wosre
    consequences. Xscreensaver gives the same warning, but it is
    still able to accept my password when I type it. However,
    rdesktop is still reading from the keyboard while this is
    happening. This has resulted in my password being sent over
    AOL IM because an IM window was open on my windows desktop
    while I was unlocking xscreensaver.

     
  • Jamie Zawinski

    Jamie Zawinski - 2004-03-04

    Logged In: YES
    user_id=80602

    Hi, I'm the author of xscreensaver.

    What rdesktop is doing here is very bad. I get bug reports
    about this all the time from people who assume that
    xscreensaver is doing something wrong, or could work around
    this somehow. It can't; it has to be fixed in rdesktop.

    Apparently rdesktop grabs the keyboard on FocusIn and
    ungrabs it on FocusOut? That's pointless -- the reason for
    grabbing the keyboard is to ensure that you get keyboard
    event when you *do not* have the focus! If you have focus,
    you're going to get the events anyway.

    So there's no reason to do this grab, but the side effect is
    that xscreensaver is incapable of grabbing when the time
    comes to lock the screen. Since xscreensaver is not
    receiving keyboard events, it can't tell that the user is
    typing their password to unlock the screen.

    Worse, that password goes to rdesktop instead (since it has
    the grab) and gets typed into whatever sub-window is active.

    Please fix this. Please stop grabbing the keyboard for
    indefinite periods. It breaks everything.

     
  • Peter Åstrand

    Peter Åstrand - 2004-03-04

    Logged In: YES
    user_id=344921

    To this day, I've never seen a X11 application that
    implements a fully working fullscreen mode without grabbing
    the keyboard. As the RH bug says, even GTK+ does this!
    Rdesktop is only following the behaviour of other large
    applications and toolkit.

    I have no problems with removing the keyboard grab if it is
    possible to get a fully working fullscreen mode, but I just
    haven't been able to get things working without the grab.
    And, I've never seen another application that has, either
    (with all window managers).

     
  • Peter Åstrand

    Peter Åstrand - 2004-09-03

    Logged In: YES
    user_id=344921

    Yes, we should probably do just like gqview. Thanks.