Hay un par de cosas raras cuando se inicializan las máscaras, me parece que la forma de dilucidar bien el comportamiento es mediante prueba y error.<br><br>1. BUTTON_MOTION_MASK sería lo mismo que POINTER_MOTION_MASK [1]<br>
<br>2. POINTER_MOTION_HINT_MASK lo sacaría, me parece que puede ser parte de tu problema.<br><br><div style="margin-left: 40px;">[2] The <code class="literal">gtk.gdk.POINTER_MOTION_HINT_MASK</code> is a
special mask which is used to reduce the number of
<code class="literal">gtk.gdk.MOTION_NOTIFY</code> events received. Normally a
<code class="literal">gtk.gdk.MOTION_NOTIFY</code> event is received each time the
mouse moves. However, if the application spends a lot of time processing the
event (updating the display, for example), it can easily lag behind the
position of the mouse. When using the
<code class="literal">gtk.gdk.POINTER_MOTION_HINT_MASK</code> the server will only
send a single <code class="literal">gtk.gdk.MOTION_NOTIFY</code> event (which is
marked as a hint) until the application asks for more, by calling the <a class="link" href="http://www.pygtk.org/docs/pygtk/class-gdkwindow.html#method-gdkwindow--get-pointer" title="gtk.gdk.Window.get_pointer"><code class="methodname">gtk.gdk.Window.get_pointer</code>()</a>
method.<br></div><br>Otra cosa que podés hacer es poner algún print dentro de _mousemove_cb para ver si los eventos están llegando ahí, pero no al bucle de pygame.<br><br>[1] <a href="http://xfc.xfce.org/docs/reference/html/namespaceXfc_1_1Gdk.html">http://xfc.xfce.org/docs/reference/html/namespaceXfc_1_1Gdk.html</a><br>
[2] De <a href="http://www.pygtk.org/docs/pygtk/class-gdkevent.html">http://www.pygtk.org/docs/pygtk/class-gdkevent.html</a><br><br>Saludos,<br>Pablo<br><br>