forked from enlightenment/enlightenment
e comp devices - dont try apply input dev settings if looks the same
if the list of device names is the same with a devices update event then assume its the same as before and dont go probing all their properties which takes time and round-trips which is not good.
This commit is contained in:
parent
e87ee674d3
commit
eeb015c0b9
|
@ -8,6 +8,8 @@ typedef enum
|
||||||
DEVICE_FLAG_TOUCHPAD
|
DEVICE_FLAG_TOUCHPAD
|
||||||
} Device_Flags;
|
} Device_Flags;
|
||||||
|
|
||||||
|
static char *devstring = NULL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_handle_dev_prop(int dev_slot, const char *dev, const char *prop, Device_Flags dev_flags)
|
_handle_dev_prop(int dev_slot, const char *dev, const char *prop, Device_Flags dev_flags)
|
||||||
{
|
{
|
||||||
|
@ -393,9 +395,25 @@ e_comp_x_devices_config_apply(void)
|
||||||
Eina_Bool driver_evdev = EINA_FALSE;
|
Eina_Bool driver_evdev = EINA_FALSE;
|
||||||
Eina_Bool driver_libinput = EINA_FALSE;
|
Eina_Bool driver_libinput = EINA_FALSE;
|
||||||
Eina_Bool driver_synaptics = EINA_FALSE;
|
Eina_Bool driver_synaptics = EINA_FALSE;
|
||||||
|
Eina_Strbuf *sbuf;
|
||||||
|
Eina_Bool changed = EINA_TRUE;
|
||||||
|
|
||||||
num_devs = ecore_x_input_device_num_get();
|
num_devs = ecore_x_input_device_num_get();
|
||||||
printf("DEV: CHANGES ... have %i devices\n", num_devs);
|
sbuf = eina_strbuf_new();
|
||||||
|
if (!sbuf) return;
|
||||||
|
for (i = 0; i < num_devs; i++)
|
||||||
|
{
|
||||||
|
eina_strbuf_append(sbuf, ecore_x_input_device_name_get(i));
|
||||||
|
}
|
||||||
|
if ((devstring) && (!strcmp(devstring, eina_strbuf_string_get(sbuf))))
|
||||||
|
changed = EINA_FALSE;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
free(devstring);
|
||||||
|
devstring = eina_strbuf_string_steal(sbuf);
|
||||||
|
}
|
||||||
|
eina_strbuf_free(sbuf);
|
||||||
|
printf("DEV: CHANGES ... have %i devices, changed=%i\n", num_devs, changed);
|
||||||
for (i = 0; i < num_devs; i++)
|
for (i = 0; i < num_devs; i++)
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
Loading…
Reference in New Issue