primary_output = e_display_primary_output_get();
#else
primary_output = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
-#endif
+#endif
EINA_SAFETY_ON_NULL_RETURN(primary_output);
EINA_LIST_FOREACH(dev->seats, l, seat)
primary_output = e_display_primary_output_get();
#else
primary_output = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
-#endif
+#endif
e_output_size_get(primary_output, &output_w, &output_h);
default_w = (float)output_w;
default_h = (float)output_h;
primary_output = e_display_primary_output_get();
#else
primary_output = e_comp_screen_primary_output_get(e_comp->e_comp_screen);
-#endif
+#endif
e_output_size_get(primary_output, &output_w, &output_h);
default_w = (float)output_w;
default_h = (float)output_h;
EINTERN Eina_Bool
e_input_device_input_backend_create(E_Input_Device *dev, E_Input_Libinput_Backend backend)
{
- Eina_Bool res = EINA_FALSE;
+ E_Input_Backend *input;
+ char *env;
+ int ndevices = 0;
EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);
if (backend == E_INPUT_LIBINPUT_BACKEND_UDEV)
{
- TRACE_INPUT_BEGIN(e_input_device_input_create_libinput_udev);
- res = e_input_device_input_create_libinput_udev(dev);
+ TRACE_INPUT_BEGIN(e_input_backend_create_libinput_udev);
+ input = e_input_backend_create_libinput_udev();
TRACE_INPUT_END();
+ if (!input) return EINA_FALSE;
+
+ /* set reference for parent device */
+ input->dev = dev; // TODO: make a api to set dev
}
- else if (backend == E_INPUT_LIBINPUT_BACKEND_PATH)
+ else // (backend == E_INPUT_LIBINPUT_BACKEND_PATH)
{
- TRACE_INPUT_BEGIN(e_input_device_input_create_libinput_path);
- res = e_input_device_input_create_libinput_path(dev);
+ TRACE_INPUT_BEGIN(e_input_backend_create_libinput_path);
+ env = e_util_env_get("PATH_DEVICES_NUM");
+ if (env)
+ {
+ ndevices = atoi(env);
+ E_FREE(env);
+ }
+
+ if (ndevices <= 0 || ndevices >= INT_MAX)
+ return EINA_TRUE;
+
+ INF("PATH_DEVICES_NUM : %d", ndevices);
+
+ input = e_input_backend_create_libinput_path(ndevices);
TRACE_INPUT_END();
+ if (!input) return EINA_FALSE;
+
+ /* set reference for parent device */
+ input->dev = dev; // TODO: make a api to set dev
}
- return res;
+ /* append this input */
+ dev->inputs = eina_list_append(dev->inputs, input);
+
+ return EINA_TRUE;
}
static void
}
/* public functions */
-EINTERN Eina_Bool
-e_input_device_input_create_libinput_udev(E_Input_Device *dev)
+EINTERN E_Input_Backend *
+e_input_backend_create_libinput_udev()
{
E_Input_Backend *input;
char *env = NULL;
int buf_size = 0;
int res = 0;
- /* check for valid device */
- EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);
-
/* try to allocate space for new input structure */
if (!(input = calloc(1, sizeof(E_Input_Backend))))
{
- return EINA_FALSE;
+ return NULL;
}
- /* set reference for parent device */
- input->dev = dev;
-
input->backend = E_INPUT_LIBINPUT_BACKEND_UDEV;
input->log_disable = EINA_FALSE;
input->log_use_eina = EINA_FALSE;
if (e_input_thread_mode_get())
{
e_input_backend_thread_input_backend_set(input);
- return EINA_TRUE;
+ return input;
}
if (e_input_thread_enabled_get())
goto err;
}
- return EINA_TRUE;
+ return input;
}
if (!e_input_libinput_context_create(input))
goto err;
}
- /* append this input */
- dev->inputs = eina_list_append(dev->inputs, input);
-
/* process pending events */
e_input_backend_events_process(input);
- return EINA_TRUE;
+ return input;
err:
if (input->libinput) libinput_unref(input->libinput);
free(input);
- return EINA_FALSE;
+ return NULL;
}
EINTERN Eina_Bool
return !!(input->thread);
}
-EINTERN Eina_Bool
-e_input_device_input_create_libinput_path(E_Input_Device *dev)
+EINTERN E_Input_Backend *
+e_input_backend_create_libinput_path(int ndevices)
{
E_Input_Backend *input;
struct libinput_device *device;
- int ndevices = 0;
char *env;
- /* check for valid device */
- EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);
-
- env = e_util_env_get("PATH_DEVICES_NUM");
- if (env)
- {
- ndevices = atoi(env);
- E_FREE(env);
- }
-
- if (ndevices <= 0 || ndevices >= INT_MAX)
- {
- return EINA_TRUE;
- }
-
- INF("PATH_DEVICES_NUM : %d", ndevices);
-
/* try to allocate space for new input structure */
if (!(input = calloc(1, sizeof(E_Input_Backend))))
{
- return EINA_FALSE;
+ return NULL;
}
- /* set reference for parent device */
- input->dev = dev;
-
input->backend = E_INPUT_LIBINPUT_BACKEND_PATH;
input->path_ndevices = ndevices;
input->log_disable = EINA_FALSE;
goto err;
}
- return EINA_TRUE;
+ return input;
}
/* try to create libinput context */
goto err;
}
- /* append this input */
- dev->inputs = eina_list_append(dev->inputs, input);
-
/* process pending events */
e_input_backend_events_process(input);
- return EINA_TRUE;
+ return input;
err:
if (input->libinput) libinput_unref(input->libinput);
free(input);
- return EINA_FALSE;
+ return NULL;
}
void