Index:
[thread]
[date]
[subject]
[author]
From: Andrew Apted <ajapted@netspace.net.au>
To : ggi-develop@eskimo.com
Date: Sun, 20 Sep 1998 21:07:34 +1000
Re: Gii integration (was shmem integration)
Andy writes:
> The idea is the following :
>
> Have a gii_input_t that describes _all_ attached input systems.
> This is done by making it a linked list, what allows to attach/detach
> event sources as required.
>
> To keep compatibility, I suggest to add an entry
>
> gii_input_t visinput;
>
> to ggi_visual_t and replace the stubs for the input handling by
>
> ggiSomeInputFunc(vis,...)
> {
> return giiSomeInputFunc(vis->visinput,...);
> }
>
> This "general input interface" functions should be integrated with LibGGI,
> as they will be rather simplistic.
So far so good.
> The idea is, that going this path allows for seamless integration with the
> current implementation.
>
> Current target will override the ggi-input functions, thus giving old
> behaviour.
>
> We can then port them step by step to filling the visinput instead.
Including X, fbdev, Terminfo, ... ?
Are you proposing to separate the input code from these targets ? IMHO
that would be rather pointless (you can't get X events without a window,
etc), and what about the locking issues ? (such as one thread getting X
input, the other thread sending draw requests).
[SNIP MORE GOOD STUFF]
> This way, we can structure our input system a lot better, because we
> can write independent modules say for /dev/joystick.
>
> So e.g. the X target which will usually have no clue about that one,
> can detect if it is running on Linux (actually it can leave detection
> to the gii module) and simply call
>
> joy=giiOpenInput("joystick",NULL);
> if (joy) gii_JoinInputs(vis->visinput,joy);
>
> Would be nice, wouldn't it ?
Um, no ? :-)). What would be nice is linux having a proper notion of
a `workspace' [like GGI Console will provide ;)] instead of having mice
and joysticks and ... just `floating around' in /dev.
Hmmm. The above gii stuff looks like a good way to abstract the current
display/Linux_common/*.inc files, but I can't see what else it's good
for. Am I missing something ?
Cheers,
_____________________________________________ ____
\ /
Andrew Apted <andrew@ggi-project.org> \/
Index:
[thread]
[date]
[subject]
[author]