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]