Programs not accepting input?

Sergey Babkin babkin at verizon.net
Mon Mar 27 13:03:25 UTC 2006


>Same here.  As mentioned in the original message, I can use the mouse
>to open a new window under firefox.  The new window will accept
>keyboard input, the old one won't.  It's almost as if it's deadlocking
>on input.
>
>Reminder: my final question was "how do I go about debugging this
>problem?".

Does it happen with any kind of programs? If yes, 
can you reproduce it with "xev"? 

If yes, it would probably be something focus-related (and you'd 
be able to see that the Focus event is not coming in).
The focus management and the highlighting of the
window manager decoration are not physically connected
in any way, so a bug in the window manager might cause
it to do the highlighting but forget to give the
focus to the application. To debug that you can
add debugging printout to the WM. Or I've had
a script that sort of decoded the X protocol,
so if you can get the dump of these (maybe with ktrace),
you can decode the dump and see what happens with the focus. I'll look for it in my archives.

If no, it might be something with the keyboard event
translation to keysyms/text. You can debug this by writing
a test program that would do it own dispatch loop -
i.e. call XEvent() and then XtDispatchEvent() (or
some close names - I might not remember them right),
and print the debugging messages. So if you see that
XEvent() is getting events but then nothing comes out
of dispatching them, then the translation is broken
somewhere.

I might be able to find this kind of a program
in my archives too, I'll look around.

BTW, one place where the keyboard events might disappear
is the Input Method handling code. But I don't think
that you run any Input Methods.

-SB


More information about the freebsd-hackers mailing list