use ecore_input
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 18 May 2009 06:18:36 +0000 (06:18 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 18 May 2009 06:18:36 +0000 (06:18 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@40717 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_wince/Ecore_WinCE.h
src/lib/ecore_wince/Makefile.am
src/lib/ecore_wince/ecore_wince.c
src/lib/ecore_wince/ecore_wince_event.c

index 1ab2ac2..e3faec1 100644 (file)
@@ -44,11 +44,6 @@ typedef void Ecore_WinCE_Window;
 
 /* Events */
 
-typedef struct _Ecore_WinCE_Event_Key_Down              Ecore_WinCE_Event_Key_Down;
-typedef struct _Ecore_WinCE_Event_Key_Up                Ecore_WinCE_Event_Key_Up;
-typedef struct _Ecore_WinCE_Event_Mouse_Button_Down     Ecore_WinCE_Event_Mouse_Button_Down;
-typedef struct _Ecore_WinCE_Event_Mouse_Button_Up       Ecore_WinCE_Event_Mouse_Button_Up;
-typedef struct _Ecore_WinCE_Event_Mouse_Move            Ecore_WinCE_Event_Mouse_Move;
 typedef struct _Ecore_WinCE_Event_Mouse_In              Ecore_WinCE_Event_Mouse_In;
 typedef struct _Ecore_WinCE_Event_Mouse_Out             Ecore_WinCE_Event_Mouse_Out;
 typedef struct _Ecore_WinCE_Event_Window_Focus_In       Ecore_WinCE_Event_Window_Focus_In;
@@ -60,54 +55,6 @@ typedef struct _Ecore_WinCE_Event_Window_Hide           Ecore_WinCE_Event_Window
 typedef struct _Ecore_WinCE_Event_Window_Show           Ecore_WinCE_Event_Window_Show;
 typedef struct _Ecore_WinCE_Event_Window_Delete_Request Ecore_WinCE_Event_Window_Delete_Request;
 
-struct _Ecore_WinCE_Event_Key_Down
-{
-   Ecore_WinCE_Window *window;
-   char               *keyname;
-   char               *keysymbol;
-   char               *keycompose;
-   double              time;
-};
-
-struct _Ecore_WinCE_Event_Key_Up
-{
-   Ecore_WinCE_Window *window;
-   char               *keyname;
-   char               *keysymbol;
-   char               *keycompose;
-   double              time;
-};
-
-struct _Ecore_WinCE_Event_Mouse_Button_Down
-{
-   Ecore_WinCE_Window *window;
-   int                 button;
-   int                 x;
-   int                 y;
-   double              time;
-   unsigned int        double_click : 1;
-   unsigned int        triple_click : 1;
-};
-
-struct _Ecore_WinCE_Event_Mouse_Button_Up
-{
-   Ecore_WinCE_Window *window;
-   int                 button;
-   int                 x;
-   int                 y;
-   double              time;
-   unsigned int        double_click : 1;
-   unsigned int        triple_click : 1;
-};
-
-struct _Ecore_WinCE_Event_Mouse_Move
-{
-   Ecore_WinCE_Window *window;
-   int                 x;
-   int                 y;
-   double              time;
-};
-
 struct _Ecore_WinCE_Event_Mouse_In
 {
    Ecore_WinCE_Window *window;
@@ -177,11 +124,6 @@ struct _Ecore_WinCE_Event_Window_Delete_Request
 };
 
 
-EAPI extern int ECORE_WINCE_EVENT_KEY_DOWN;
-EAPI extern int ECORE_WINCE_EVENT_KEY_UP;
-EAPI extern int ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN;
-EAPI extern int ECORE_WINCE_EVENT_MOUSE_BUTTON_UP;
-EAPI extern int ECORE_WINCE_EVENT_MOUSE_MOVE;
 EAPI extern int ECORE_WINCE_EVENT_MOUSE_IN;
 EAPI extern int ECORE_WINCE_EVENT_MOUSE_OUT;
 EAPI extern int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN;
index e9d054c..ec519f5 100644 (file)
@@ -2,9 +2,13 @@ MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore_input \
 @EFL_ECORE_WINCE_BUILD@ \
-@EINA_CFLAGS@
+@EVAS_CFLAGS@ \
+@EINA_CFLAGS@ \
+@WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
@@ -23,7 +27,9 @@ ecore_wince_window.c
 
 libecore_wince_la_LIBADD = \
 @WIN32_LIBS@ \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
 $(top_builddir)/src/lib/ecore/libecore.la \
+@EVAS_LIBS@ \
 @EINA_LIBS@
 
 libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_wince_release_info@
index 02966d9..5403b25 100644 (file)
@@ -14,8 +14,9 @@
 #undef WIN32_LEAN_AND_MEAN
 
 #include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Input.h>
 
-#include "Ecore.h"
 #include "Ecore_WinCE.h"
 #include "ecore_wince_private.h"
 
@@ -27,11 +28,6 @@ double              _ecore_wince_event_last_time = 0.0;
 Ecore_WinCE_Window *_ecore_wince_event_last_window = NULL;
 HINSTANCE           _ecore_wince_instance = NULL;
 
-int ECORE_WINCE_EVENT_KEY_DOWN              = 0;
-int ECORE_WINCE_EVENT_KEY_UP                = 0;
-int ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN     = 0;
-int ECORE_WINCE_EVENT_MOUSE_BUTTON_UP       = 0;
-int ECORE_WINCE_EVENT_MOUSE_MOVE            = 0;
 int ECORE_WINCE_EVENT_MOUSE_IN              = 0;
 int ECORE_WINCE_EVENT_MOUSE_OUT             = 0;
 int ECORE_WINCE_EVENT_WINDOW_FOCUS_IN       = 0;
@@ -106,13 +102,8 @@ ecore_wince_init()
         return 0;
      }
 
-   if (!ECORE_WINCE_EVENT_KEY_DOWN)
+   if (!ECORE_WINCE_EVENT_MOUSE_IN)
      {
-        ECORE_WINCE_EVENT_KEY_DOWN              = ecore_event_type_new();
-        ECORE_WINCE_EVENT_KEY_UP                = ecore_event_type_new();
-        ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN     = ecore_event_type_new();
-        ECORE_WINCE_EVENT_MOUSE_BUTTON_UP       = ecore_event_type_new();
-        ECORE_WINCE_EVENT_MOUSE_MOVE            = ecore_event_type_new();
         ECORE_WINCE_EVENT_MOUSE_IN              = ecore_event_type_new();
         ECORE_WINCE_EVENT_MOUSE_OUT             = ecore_event_type_new();
         ECORE_WINCE_EVENT_WINDOW_FOCUS_IN       = ecore_event_type_new();
@@ -125,6 +116,8 @@ ecore_wince_init()
         ECORE_WINCE_EVENT_WINDOW_DELETE_REQUEST = ecore_event_type_new();
      }
 
+   ecore_event_init();
+
    _ecore_wince_init_count++;
 
    return _ecore_wince_init_count;
@@ -139,7 +132,8 @@ ecore_wince_shutdown()
 
    _ecore_wince_init_count--;
    if (_ecore_wince_init_count > 0) return _ecore_wince_init_count;
-   if (!_ecore_wince_instance) return _ecore_wince_init_count;
+
+   ecore_event_shutdown();
 
    /* force task bar to be shown (in case the application exits */
    /* while being fullscreen) */
index 7d8b198..e8ece02 100644 (file)
@@ -13,8 +13,9 @@
 #undef WIN32_LEAN_AND_MEAN
 
 #include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Input.h>
 
-#include "Ecore.h"
 #include "Ecore_WinCE.h"
 #include "ecore_wince_private.h"
 
@@ -52,19 +53,19 @@ void
 _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg,
                                     int                        is_keystroke)
 {
-   Ecore_WinCE_Event_Key_Down *e;
+   Ecore_Event_Key *e;
 
    EINA_ERROR_PINFO("key pressed\n");
 
-   e = (Ecore_WinCE_Event_Key_Down *)malloc(sizeof(Ecore_WinCE_Event_Key_Down));
+   e = (Ecore_Event_Key *)malloc(sizeof(Ecore_Event_Key));
    if (!e) return;
 
    if (is_keystroke)
      {
         if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
-                                              &e->keyname,
-                                              &e->keysymbol,
-                                              &e->keycompose))
+                                              (char **)&e->keyname,
+                                              (char **)&e->key,
+                                              (char **)&e->string))
           {
              free(e);
              return;
@@ -73,45 +74,45 @@ _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg,
    else
      {
         if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
-                                         &e->keyname,
-                                         &e->keysymbol,
-                                         &e->keycompose))
+                                         (char **)&e->keyname,
+                                         (char **)&e->key,
+                                         (char **)&e->string))
           {
              free(e);
              return;
           }
      }
 
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    if (!e->window)
      {
         free(e);
         return;
      }
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   _ecore_wince_event_last_time = e->time;
+   _ecore_wince_event_last_time = e->timestamp;
 
-   ecore_event_add(ECORE_WINCE_EVENT_KEY_DOWN, e, _ecore_wince_event_free_key_down, NULL);
+   ecore_event_add(ECORE_EVENT_KEY_DOWN, e, _ecore_wince_event_free_key_down, NULL);
 }
 
 void
 _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg,
                                       int                        is_keystroke)
 {
-   Ecore_WinCE_Event_Key_Up *e;
+   Ecore_Event_Key *e;
 
    EINA_ERROR_PINFO("key released\n");
 
-   e = (Ecore_WinCE_Event_Key_Up *)calloc(1, sizeof(Ecore_WinCE_Event_Key_Up));
+   e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key));
    if (!e) return;
 
    if (is_keystroke)
      {
         if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
-                                              &e->keyname,
-                                              &e->keysymbol,
-                                              &e->keycompose))
+                                              (char **)&e->keyname,
+                                              (char **)&e->key,
+                                              (char **)&e->string))
           {
              free(e);
              return;
@@ -120,26 +121,26 @@ _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg,
    else
      {
         if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
-                                         &e->keyname,
-                                         &e->keysymbol,
-                                         &e->keycompose))
+                                         (char **)&e->keyname,
+                                         (char **)&e->key,
+                                         (char **)&e->string))
           {
              free(e);
              return;
           }
      }
 
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    if (!e->window)
      {
         free(e);
         return;
      }
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   _ecore_wince_event_last_time = e->time;
+   _ecore_wince_event_last_time = e->timestamp;
 
-   ecore_event_add(ECORE_WINCE_EVENT_KEY_UP, e, _ecore_wince_event_free_key_up, NULL);
+   ecore_event_add(ECORE_EVENT_KEY_UP, e, _ecore_wince_event_free_key_up, NULL);
 }
 
 void
@@ -150,27 +151,27 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
 
    EINA_ERROR_PINFO("mouse button pressed\n");
 
-   window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   window = (Ecore_WinCE_Window *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
-      Ecore_WinCE_Event_Mouse_Move *e;
+      Ecore_Event_Mouse_Move *e;
 
-      e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
+      e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
       if (!e) return;
 
-      e->window = window;
+      e->window = (Ecore_Window)window;
       e->x = LOWORD(msg->data_param);
       e->y = HIWORD(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
    }
 
    {
-      Ecore_WinCE_Event_Mouse_Button_Down *e;
+      Ecore_Event_Mouse_Button *e;
 
       if (_ecore_wince_mouse_down_did_triple)
         {
@@ -180,22 +181,22 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
            _ecore_wince_mouse_down_last_last_time = 0.0;
         }
 
-      e = (Ecore_WinCE_Event_Mouse_Button_Down *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Button_Down));
+      e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
       if (!e) return;
 
-      e->window = window;
-      e->button = button;
+      e->window = (Ecore_Window)window;
+      e->buttons = button;
       e->x = LOWORD(msg->data_param);
       e->y = HIWORD(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      if (((e->time - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) &&
-          (e->window == _ecore_wince_mouse_down_last_window))
+      if (((e->timestamp - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window))
         e->double_click = 1;
 
-      if (((e->time - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) &&
-          (e->window == _ecore_wince_mouse_down_last_window) &&
-          (e->window == _ecore_wince_mouse_down_last_last_window))
+      if (((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window))
         {
            e->triple_click = 1;
            _ecore_wince_mouse_down_did_triple = 1;
@@ -206,24 +207,24 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
       if (!e->double_click && !e->triple_click)
         _ecore_wince_mouse_up_count = 0;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
       if (!_ecore_wince_mouse_down_did_triple)
         {
            _ecore_wince_mouse_down_last_last_window = _ecore_wince_mouse_down_last_window;
-           _ecore_wince_mouse_down_last_window = e->window;
+           _ecore_wince_mouse_down_last_window = (Ecore_WinCE_Window *)e->window;
            _ecore_wince_mouse_down_last_last_time = _ecore_wince_mouse_down_last_time;
-           _ecore_wince_mouse_down_last_time = e->time;
+           _ecore_wince_mouse_down_last_time = e->timestamp;
         }
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
    }
 }
 
 void
 _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg,
-                                         int                          button)
+                                         int                        button)
 {
    Ecore_WinCE_Window *window;
 
@@ -232,70 +233,70 @@ _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg,
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
-      Ecore_WinCE_Event_Mouse_Move *e;
+      Ecore_Event_Mouse_Move *e;
 
-      e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
+      e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
       if (!e) return;
 
-      e->window = window;
+      e->window = (Ecore_Window)window;
       e->x = LOWORD(msg->data_param);
       e->y = HIWORD(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
    }
 
    {
-      Ecore_WinCE_Event_Mouse_Button_Up *e;
+      Ecore_Event_Mouse_Button *e;
 
-      e = (Ecore_WinCE_Event_Mouse_Button_Up *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Button_Up));
+      e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
       if (!e) return;
 
-      e->window = window;
-      e->button = button;
+      e->window = (Ecore_Window)window;
+      e->buttons = button;
       e->x = LOWORD(msg->data_param);
       e->y = HIWORD(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
       _ecore_wince_mouse_up_count++;
 
       if ((_ecore_wince_mouse_up_count >= 2) &&
-          ((e->time - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) &&
-          (e->window == _ecore_wince_mouse_down_last_window))
+          ((e->timestamp - _ecore_wince_mouse_down_last_time) <= _ecore_wince_double_click_time) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window))
         e->double_click = 1;
 
       if ((_ecore_wince_mouse_up_count >= 3) &&
-          ((e->time - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) &&
-          (e->window == _ecore_wince_mouse_down_last_window) &&
-          (e->window == _ecore_wince_mouse_down_last_last_window))
+          ((e->timestamp - _ecore_wince_mouse_down_last_last_time) <= (2.0 * _ecore_wince_double_click_time)) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_window) &&
+          (e->window == (Ecore_Window)_ecore_wince_mouse_down_last_last_window))
         e->triple_click = 1;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
    }
 }
 
 void
 _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg)
 {
-   Ecore_WinCE_Event_Mouse_Move *e;
+   Ecore_Event_Mouse_Move *e;
 
    EINA_ERROR_PINFO("mouse moved\n");
 
-   e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
+   e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
    if (!e) return;
 
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    e->x = LOWORD(msg->data_param);
    e->y = HIWORD(msg->data_param);
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
+   ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
 }
 
 void
@@ -308,20 +309,20 @@ _ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg)
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
-      Ecore_WinCE_Event_Mouse_Move *e;
+      Ecore_Event_Mouse_Move *e;
 
-      e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
+      e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
       if (!e) return;
 
-      e->window = window;
+      e->window = (Ecore_Window)window;
       e->x = msg->x;
       e->y = msg->y;
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
    }
 
    {
@@ -351,20 +352,20 @@ _ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg)
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
-      Ecore_WinCE_Event_Mouse_Move *e;
+      Ecore_Event_Mouse_Move *e;
 
-      e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
+      e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
       if (!e) return;
 
-      e->window = window;
+      e->window = (Ecore_Window)window;
       e->x = msg->x;
       e->y = msg->y;
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      _ecore_wince_event_last_time = e->time;
-      _ecore_wince_event_last_window = e->window;
+      _ecore_wince_event_last_time = e->timestamp;
+      _ecore_wince_event_last_window = (Ecore_WinCE_Window *)e->window;
 
-      ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
    }
 
    {
@@ -587,12 +588,12 @@ static void
 _ecore_wince_event_free_key_down(void *data __UNUSED__,
                                  void *ev)
 {
-   Ecore_WinCE_Event_Key_Down *e;
+   Ecore_Event_Key *e;
 
    e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->keycompose) free(e->keycompose);
+   if (e->keyname) free((char *)e->keyname);
+   if (e->key) free((char *)e->key);
+   if (e->string) free((char *)e->string);
    free(e);
 }
 
@@ -600,12 +601,12 @@ static void
 _ecore_wince_event_free_key_up(void *data __UNUSED__,
                                void *ev)
 {
-   Ecore_WinCE_Event_Key_Up *e;
+   Ecore_Event_Key *e;
 
    e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->keycompose) free(e->keycompose);
+   if (e->keyname) free((char *)e->keyname);
+   if (e->key) free((char *)e->key);
+   if (e->string) free((char *)e->string);
    free(e);
 }
 
@@ -840,7 +841,7 @@ _ecore_wince_event_char_get(int    key,
 {
   char kn[32];
   char ks[32];
-  char *kc;
+  char kc[32];
 
   *keyname = NULL;
   *keysymbol = NULL;
@@ -852,32 +853,32 @@ _ecore_wince_event_char_get(int    key,
      case VK_BACK:
        strncpy(kn, "Backspace", 32);
        strncpy(ks, "Backspace", 32);
-       kc = "";
+       strncpy(kc, "Backspace", 32);
        break;
      case VK_APP4:
      case VK_TAB:
        strncpy(kn, "Tab", 32);
        strncpy(ks, "Tab", 32);
-       kc = "";
+       strncpy(kc, "Tab", 32);
        break;
      case VK_APP5:
      case 0x0a:
        /* Line feed (Shift + Enter) */
        strncpy(kn, "LineFeed", 32);
        strncpy(ks, "LineFeed", 32);
-       kc = "";
+       strncpy(kc, "LineFeed", 32);
        break;
      case VK_APP2:
      case VK_RETURN:
        strncpy(kn, "Return", 32);
        strncpy(ks, "Return", 32);
-       kc = "";
+       strncpy(kc, "Return", 32);
        break;
      case VK_APP1:
      case VK_ESCAPE:
        strncpy(kn, "Escape", 32);
        strncpy(ks, "Escape", 32);
-       kc = "";
+       strncpy(kc, "Escape", 32);
        break;
      default:
        /* displayable characters */
@@ -886,7 +887,8 @@ _ecore_wince_event_char_get(int    key,
        kn[1] = '\0';
        ks[0] = (TCHAR)key;
        ks[1] = '\0';
-       kc = "";
+       kc[0] = (TCHAR)key;
+       kc[1] = '\0';
        break;
      }
    *keyname = strdup(kn);