Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_evas


Modified Files:
        ecore_evas_fb.c 


Log Message:


more input devices checks.

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_fb.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- ecore_evas_fb.c     19 Nov 2007 18:27:11 -0000      1.32
+++ ecore_evas_fb.c     19 Nov 2007 23:16:29 -0000      1.33
@@ -261,49 +261,53 @@
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
    /* register all input devices */
    input_dir = opendir("/dev/input/");
-   if(!input_dir) return _ecore_evas_init_count;
+   if (!input_dir) return _ecore_evas_init_count;
    
    ecore_evas_input_devices = ecore_list_new();
-   while((input_entry = readdir(input_dir)))
-   {
-      char device_path[256];
-      if (strncmp(input_entry->d_name, "event", 5) != 0)
-         continue;
-      
-      snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
-      if (!(device = ecore_fb_input_device_open(device_path)))
-         continue;
-         
-      caps = ecore_fb_input_device_cap_get(device);
-         
-      /* Mouse */
-      if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
-      {
-         ecore_fb_input_device_axis_size_set(device, w, h);
-         ecore_fb_input_device_listen(device,1);
-        ecore_list_append(ecore_evas_input_devices, device);
-         if (!mouse_handled)
-         {
-            ecore_evas_event_handlers[2]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, 
_ecore_evas_event_mouse_button_down, NULL);
-            ecore_evas_event_handlers[3]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, 
_ecore_evas_event_mouse_button_up, NULL);
-            ecore_evas_event_handlers[4]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, 
_ecore_evas_event_mouse_move, NULL);
-           ecore_evas_event_handlers[5]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, 
_ecore_evas_event_mouse_wheel, NULL);
-           mouse_handled = 1;
-         }
-      }
-      /* Keyboard */
-      else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && !(caps & 
ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
-      {
-         ecore_fb_input_device_listen(device,1);
-        ecore_list_append(ecore_evas_input_devices, device);
-         if (!keyboard_handled)
-         {
-            ecore_evas_event_handlers[0]  = 
ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, 
NULL);
-            ecore_evas_event_handlers[1]  = 
ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
-            keyboard_handled = 1;
-         }
-      }
-   }
+   while ((input_entry = readdir(input_dir)))
+     {
+       char device_path[256];
+       
+       if (strncmp(input_entry->d_name, "event", 5) != 0)
+         continue;
+       
+       snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
+       if (!(device = ecore_fb_input_device_open(device_path)))
+         continue;
+       
+       caps = ecore_fb_input_device_cap_get(device);
+
+       if (ecore_evas_input_devices)
+         {
+            /* Mouse */
+            if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
+              {
+                 ecore_fb_input_device_axis_size_set(device, w, h);
+                 ecore_fb_input_device_listen(device,1);
+                 ecore_list_append(ecore_evas_input_devices, device);
+                 if (!mouse_handled)
+                   {
+                      ecore_evas_event_handlers[2]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, 
_ecore_evas_event_mouse_button_down, NULL);
+                      ecore_evas_event_handlers[3]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, 
_ecore_evas_event_mouse_button_up, NULL);
+                      ecore_evas_event_handlers[4]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, 
_ecore_evas_event_mouse_move, NULL);
+                      ecore_evas_event_handlers[5]  = 
ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, 
_ecore_evas_event_mouse_wheel, NULL);
+                      mouse_handled = 1;
+                   }
+              }
+            /* Keyboard */
+            else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && 
!(caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
+              {
+                 ecore_fb_input_device_listen(device,1);
+                 ecore_list_append(ecore_evas_input_devices, device);
+                 if (!keyboard_handled)
+                   {
+                      ecore_evas_event_handlers[0]  = 
ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, 
NULL);
+                      ecore_evas_event_handlers[1]  = 
ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
+                      keyboard_handled = 1;
+                   }
+              }
+         }
+     }
    return _ecore_evas_init_count;
 }
 
@@ -479,16 +483,17 @@
      }
    ee->prop.fullscreen = on;
    /* rescale the input device area */
-   {
-      Ecore_Fb_Input_Device *dev;
-
-      ecore_list_first_goto(ecore_evas_input_devices);
-      dev = ecore_list_current(ecore_evas_input_devices);
-      do
-      {
-         ecore_fb_input_device_axis_size_set(dev, ee->w, ee->h);
-      }while((dev = ecore_list_next(ecore_evas_input_devices)));
-   }
+   if (ecore_evas_input_devices)
+     {
+       Ecore_Fb_Input_Device *dev;
+       
+       ecore_list_first_goto(ecore_evas_input_devices);
+       dev = ecore_list_current(ecore_evas_input_devices);
+       do
+         {
+            ecore_fb_input_device_axis_size_set(dev, ee->w, ee->h);
+         } while ((dev = ecore_list_next(ecore_evas_input_devices)));
+     }
    if (resized)
      {
        if (ee->func.fn_resize) ee->func.fn_resize(ee); 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to