[SVN] r3862 - in branches/gsoc2008_manymouse/src: events video/x11
svn-owner at libsdl.org
svn-owner at libsdl.org
Mon Aug 4 04:18:10 PDT 2008
Author: wilku
Date: 2008-08-04 04:18:10 -0700 (Mon, 04 Aug 2008)
New Revision: 3862
Modified:
branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h
branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c
branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c
Log:
Further x11 code improvments + comments
Modified: branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h
===================================================================
--- branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h 2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h 2008-08-04 11:18:10 UTC (rev 3862)
@@ -56,6 +56,13 @@
/* Free the mouse when it's time */
void (*FreeMouse) (SDL_Mouse * mouse);
+ /*data common for tablets*/
+ int pressure;
+ int pressure_max;
+ int pressure_min;
+ int tilt;/*for future use*/
+ int rotation;/*for future use*/
+
/* Data common to all mice */
SDL_WindowID focus;
int which;
@@ -64,11 +71,7 @@
int z;/*for future use*/
int xdelta;
int ydelta;
- int pressure;
- int pressure_max;
- int pressure_min;
- int tilt;/*for future use*/
- int rotation;/*for future use*/
+
char* name;
Uint8 buttonstate;
SDL_bool relative_mode;
Modified: branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c
===================================================================
--- branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c 2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c 2008-08-04 11:18:10 UTC (rev 3862)
@@ -220,7 +220,7 @@
int
X11_VideoInit(_THIS)
{
- int i,index=0,c_not_needed;
+ int i,index=0,event_code;
XEventClass xEvent;
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
@@ -250,91 +250,47 @@
return -1;
}
X11_InitMouse(_this);
+
/*we're generating the table of events that should be recognized*/
for(i=0;i<SDL_NumOfXDevices;++i)
- {
- DeviceKeyPress(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceKeyRelease(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
+ {
+ /*button events*/
+ DeviceButtonPress(SDL_XDevices[i],event_code,xEvent);
+ if (xEvent)
+ {
+ SDL_XEvents[index++] = xEvent;
+ button_pressed=event_code;
+ }
+ DeviceButtonRelease(SDL_XDevices[i],event_code,xEvent);
+ if (xEvent)
+ {
+ SDL_XEvents[index++] = xEvent;
+ button_released=event_code;
+ }
- /*focus events*/
- DeviceFocusIn(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceFocusOut(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
+ /*proximity events*/
+ ProximityIn(SDL_XDevices[i],event_code,xEvent);
+ if (xEvent)
+ {
+ SDL_XEvents[index++] = xEvent;
+ proximity_in=event_code;
+ }
+ ProximityOut(SDL_XDevices[i],event_code,xEvent);
+ if (xEvent)
+ {
+ SDL_XEvents[index++] = xEvent;
+ proximity_out=event_code;
+ }
- /*button events*/
- DeviceButtonPress(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent)
- {
- SDL_XEvents[index++] = xEvent;
- button_pressed=c_not_needed;
- }
- DeviceButtonRelease(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent)
- {
- SDL_XEvents[index++] = xEvent;
- button_released=c_not_needed;
- }
+ /*motion events*/
+ DeviceMotionNotify(SDL_XDevices[i],event_code,xEvent);
+ if (xEvent)
+ {
+ SDL_XEvents[index++] = xEvent;
+ motion=event_code;
+ }
- /*proximity events*/
- ProximityIn(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent)
- {
- SDL_XEvents[index++] = xEvent;
- proximity_in=c_not_needed;
}
- ProximityOut(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent)
- {
- SDL_XEvents[index++] = xEvent;
- proximity_out=c_not_needed;
- }
- /*motion events*/
- DeviceMotionNotify(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent)
- {
- SDL_XEvents[index++] = xEvent;
- motion=c_not_needed;
- }
-
- /*device state*/
- DeviceStateNotify(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceMappingNotify(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- ChangeDeviceNotify(SDL_XDevices[i],c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
-
-#if 0
- /* this cuts the motion data down - not sure if this is useful */
- DevicePointerMotionHint(SDL_XDevices[i],
- c_not_neededINPUTEVENT_DEVICE_POINTER_MOTION_HINT],xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
-#endif
-
- /*button motion*/
- DeviceButtonMotion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceButton1Motion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceButton2Motion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceButton3Motion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceButton4Motion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- DeviceButton5Motion(SDL_XDevices[i],
- c_not_needed,xEvent);
- if (xEvent) SDL_XEvents[index++] = xEvent;
- }
SDL_NumOfXEvents=index;
return 0;
Modified: branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c
===================================================================
--- branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c 2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c 2008-08-04 11:18:10 UTC (rev 3862)
@@ -490,7 +490,6 @@
PointerMotionMask | KeyPressMask | KeyReleaseMask |
PropertyChangeMask | StructureNotifyMask |
KeymapStateMask | fevent));
- XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
}
#else
XMapWindow(data->display,w);
@@ -500,9 +499,11 @@
PointerMotionMask | KeyPressMask | KeyReleaseMask |
PropertyChangeMask | StructureNotifyMask |
KeymapStateMask));
- XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
#endif
+ /*we're informing the display what extension events we want to receive from it*/
+ XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
+
return 0;
}
More information about the commits
mailing list