12 static int initialised=0;
16 extern ggi_visual_t *screenvis;
20 extern void keyboard_handler(int key, ubyte state);
21 extern void mouse_handler_button(int button, ubyte state);
22 extern void mouse_handler_relative(int x, int y);
23 extern void mouse_handler_absolute(int x, int y);
35 // Error("GII error: no inputs (perhaps you need to set GII_INPUT env var)\n");
40 giiEventPoll(inputs, emAll, &tv);
42 n = giiEventsQueued(inputs, emAll);
46 giiEventRead(inputs, &event, emAll);
47 switch (event.any.type)
50 keyboard_handler(event.key.label, 1);
53 keyboard_handler(event.key.label, 0);
56 mouse_handler_absolute(event.pmove.x, event.pmove.y);
59 mouse_handler_relative(event.pmove.x, event.pmove.y);
61 case evPtrButtonPress:
62 mouse_handler_button(event.pbutton.button, 1);
64 case evPtrButtonRelease:
65 mouse_handler_button(event.pbutton.button, 0);
79 int gii_xwin_initialized=0;
80 #include <ggi/input/xwin.h>
81 //void lock_nothing(void){return;}
82 void init_gii_xwin(Display *disp,Window win){
83 printf("gii xwin %i %i\n",initialised,gii_xwin_initialized);
86 if (gii_xwin_initialized){
88 gii_xwin_cmddata_setparam *giiargs=(gii_xwin_cmddata_setparam *) &ev.cmd.data;
89 memset(&ev,0,sizeof(gii_cmd_nodata_event)+sizeof(gii_xwin_cmddata_setparam));
90 ev.cmd.code=GII_CMDCODE_XWINSETPARAM;
91 ev.any.type = evCommand;
92 ev.any.size=sizeof(gii_cmd_nodata_event)+sizeof(gii_xwin_cmddata_setparam);
94 giiargs->ptralwaysrel=1;
95 giiEventSend(inputs,&ev);
98 gii_inputxwin_arg giiargs;
99 memset(&giiargs,0,sizeof(giiargs));
102 giiargs.ptralwaysrel=1;
103 //giiargs.gglock=lock_nothing;
104 inputs2=giiOpen("xwin",&giiargs,NULL);
106 gii_xwin_initialized=1;
108 inputs=giiJoinInputs(inputs,inputs2);
121 inputs = ggiJoinInputs(screenvis, NULL);
123 inputs=giiOpen(NULL);