[racket-dev] mouse motion events in Linux

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Jul 16 16:31:08 EDT 2011

Short answer: change pushed.

Long answer: At one point, I changed GDK_POINTER_MOTION_MASK to
GDK_POINTER_MOTION_HINT_MASK. My impression from the documentation and
from trying it out was that it generated helpfully fewer mouse-movement
events. Instead, it seems to generate zero mouse-movement events --- so
I must misread the docs and did something else wrong when trying it
out. Meanwhile, the problem that the switch seemed to solve seems to
have been fixed some better way, since things work fine with
GDK_POINTER_MOTION_MASK.

At Sat, 16 Jul 2011 20:36:53 +0200, Stephan Houben wrote:
> Dear list,
> 
> Recently I noticed that on Linux, the canvas only
> receives mouse motion events if some mouse button is
> pressed.
> 
> Since this is not mentioned in the documentation I assume
> this behaviour was not intended, please correct me if wrong.
> 
> The cause of this behaviour is the use of the flag
>   GDK_BUTTON_MOTION_MASK in
> collects/mred/private/wx/gtk/canvas.rkt
> 
> This flag indeed means "only send motion events if a button is down".
> If all motion request are desired the flag
>   GDK_POINTER_MOTION_MASK
> should be used instead.
> 
> I have sent a pull request for this one-line change on github and would
> recommend that it gets merged, if indeed receiving all motion
> events is the intended behaviour.
> 
> Thanks,
> 
> Stephan
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev


Posted on the dev mailing list.