rethrowing events, and digests

Luke Bigum catach@tpg.com.au
Tue, 10 Feb 2004 14:20:42 +0000


On Monday 09 February 2004 01:08, Keith Packard wrote:
> Around 11 o'clock on Feb 9, Luke Bigum wrote:
> > After an application grabs the keyboard and mouse, is there a way to
> > 'rethrow' the event so that it gets passed to the correct window? Or is
> > there a way to sample each event as it occurs without stopping it?
>
> With a synchronous grab, you can receive the event, change the system and
> then 'replay' the event.  Useful for doing click-to-type without losing
> clicks.
>
> But, there's no (current) way to filter events.  We need something like
> this to deal with transformed windows.  I'm a bit worried about latency
> though; I'm wondering if the X server should have a monopoly on
> communication with the mouse.

What i was really thinking of was a daemon app like xcompmgr, that doesn't 
have a window of it's own, to grab key/mouse events and modify them (button 
pressed, x/y location, window, etc). Then throw the modified event back out 
to X (which uses the modified values to determine what window the event 
should go to) letting the receiving window handle the event as normal it 
normally would.

I can grab and modify events easily enough, but rethrowing (and to get the 
program to ignore rethrown events) is a little harder. Does fd.o use the same 
event model/handling as xfree does (is the XLib man pages roughly the same)? 
Also can anyone tell me off hand in which file the X error, request and minor 
codes are defined?

Thanks

-- 
*********************
Luke Bigum
catach@tpg.com.au
lbigum@cs.rmit.edu.au
*********************