Oh, I forgot to mention, the way you run the program is 'python test.py', and then press a key to trigger it.
Edward Excerpts from Edward Z. Yang's message of 2014-11-24 19:56:23 -0800: > I'm curious if anyone else is seeing this. > > The way I can reproduce this behavior is by using any sort of program > which generates XInput events very rapidly (in my particular case, the > program was plover). Below the fold is a test program which pretty > reliably hangs rxvt-unicode (you'll need python-xlib). Can anyone else > try to reproduce? > > Note: if you're running a WM like xmonad which can't close the terminal > if it hangs, use 'xdotool selectwindow windowkill' to kill it. > > Edward > > ~~~~ > > from Xlib import X, XK, display > from Xlib.ext import record, xtest > from Xlib.protocol import rq, event > from Xlib.xobject import drawable > import time > > display = display.Display() > screen = display.screen() > w = display.get_input_focus().focus > assert isinstance(w, drawable.Window) > > events = [ > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease), > (38,X.KeyPress), > (38,X.KeyRelease), > (39,X.KeyPress), > (39,X.KeyRelease) > ] > > w.grab_keyboard(False, X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime) > while True: > e = display.next_event() > if (e.type == X.KeyPress): > display.ungrab_keyboard(X.CurrentTime) > for keycode, event_type in events: > xtest.fake_input(w, event_type, keycode) _______________________________________________ rxvt-unicode mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode
