int root_x, root_y, x, y;
unsigned int mask;
+ if (!ssi->real_screen_p) continue;
+
if (!XQueryPointer (si->dpy, ssi->screensaver_window, &root, &child,
&root_x, &root_y, &x, &y, &mask))
{
break;
fprintf (stderr,"%s: %d: %s on 0x%lx",
blurb(), i, type, (unsigned long) window);
+
+ /* Be careful never to do this unless in -debug mode, as
+ this could expose characters from the unlock password. */
+ if (p->debug_p && event.xany.type == KeyPress)
+ {
+ KeySym keysym;
+ char c = 0;
+ XLookupString (&event.xkey, &c, 1, &keysym, 0);
+ fprintf (stderr, " (%s%s)",
+ (event.xkey.send_event ? "synthetic " : ""),
+ XKeysymToString (keysym));
+ }
+
if (x == -1)
fprintf (stderr, "\n");
else
while (fgets (new_line, sizeof(new_line)-1, f1))
{
- if (!checked_kbd && strstr (new_line, "keyboard"))
+ if (strchr (new_line, ','))
+ {
+ /* Ignore any line that has a comma on it: this is because
+ a setup like this:
+
+ 12: 930935 XT-PIC usb-uhci, PS/2 Mouse
+
+ is really bad news. It *looks* like we can note mouse
+ activity from that line, but really, that interrupt gets
+ fired any time any USB device has activity! So we have
+ to ignore any shared IRQs.
+ */
+ }
+ else if (!checked_kbd && strstr (new_line, "keyboard"))
{
kbd_changed = (*last_kbd_line && !!strcmp (new_line, last_kbd_line));
strcpy (last_kbd_line, new_line);