--- ../touchtft-0.0.4/service.h	2006-11-26 19:35:59.000000000 +0100
+++ service.h	2007-02-07 15:36:00.000000000 +0100
@@ -5,11 +5,11 @@
 // This code is distributed under the terms and conditions of the
 // GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
 //--------------------------------------------------------------------------
-// Class GraphTftTouchEvent
+// Class cGraphTftService
 //***************************************************************************
 
-#ifndef GTFT_SERVICE
-#define GTFT_SERVICE
+#ifndef __GTFT_SERVICE_HPP__
+#define __GTFT_SERVICE_HPP__
 
 #define GRAPHTFT_TOUCH_EVENT_ID "GraphTftTouchEvent-v1.0"
 #define GRAPHTFT_CALIBRATION_ID "GraphTftCalibration-v1.0"
@@ -22,10 +22,31 @@
 {
    public:
 
+      enum MouseButton
+      {
+         mbLeft   = 1,
+         mbMiddle,
+         mbRight,
+         mbWheelUp,
+         mbWheelDown
+      };
+
+      enum EventFlags
+      {
+         efNone        = 0x00,
+         efDoubleClick = 0x01,
+         efShift       = 0x02,
+         efAlt         = 0x04,
+         efStrg        = 0x08,
+         efKeyboard    = 0x10
+      };
+
       struct GraphTftTouchEvent
       {
          int x;
          int y;
+         int button;
+         int flag;
       };
 
       struct GraphTftCalibration
@@ -34,4 +55,5 @@
       };
 };
 
-#endif
+//***************************************************************************
+#endif //  __GTFT_SERVICE_HPP__
--- ../touchtft-0.0.4/touch.c	2007-01-01 14:54:21.000000000 +0100
+++ touch.c	2007-02-07 15:39:20.000000000 +0100
@@ -87,6 +87,8 @@
 
   data.x = xs;
   data.y = ys;
+  data.button = cGraphTftService::mbLeft;
+  data.flag = cGraphTftService::efNone;
 
   cPluginManager::CallAllServices( GRAPHTFT_TOUCH_EVENT_ID, &data );
 }
@@ -100,3 +102,4 @@
   rx = (int) (dx/dx_0 * TouchTFTSetup.realx);
   ry = (int) (TouchTFTSetup.realy - dy/dy_0 *TouchTFTSetup.realy);
 }
+
