return ECORE_CALLBACK_DONE;
}
-
-static Eina_Bool
-_e_devicemgr_input_cb_device_add(void *data, int type, void *event)
-{
- Ecore_Event_Device_Info *ev;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(event, ECORE_CALLBACK_PASS_ON);
- ev = (Ecore_Event_Device_Info *)event;
-
- _e_devicemgr_input_device_add(ev->name, ev->identifier, ev->seatname, ev->clas, ev->subclas);
-
- return ECORE_CALLBACK_PASS_ON;
-}
-
static Eina_Bool
-_e_devicemgr_input_cb_device_del(void *data, int type, void *event)
+_e_devicemgr_input_cb_device_changed(void *data, int type, void *event)
{
Ecore_Event_Device_Info *ev;
EINA_SAFETY_ON_NULL_RETURN_VAL(event, ECORE_CALLBACK_PASS_ON);
ev = (Ecore_Event_Device_Info *)event;
- _e_devicemgr_input_device_del(ev->name, ev->identifier, ev->seatname, ev->clas, ev->subclas);
+ if (type == ECORE_EVENT_DEVICE_ADD)
+ _e_devicemgr_input_device_add(ev->name, ev->identifier, ev->seatname, ev->clas, ev->subclas);
+ else if (type == ECORE_EVENT_DEVICE_DEL)
+ _e_devicemgr_input_device_del(ev->name, ev->identifier, ev->seatname, ev->clas, ev->subclas);
return ECORE_CALLBACK_PASS_ON;
}
E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_MOUSE_BUTTON_DOWN, _e_devicemgr_input_cb_mouse_button_event, NULL);
E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_MOUSE_BUTTON_UP, _e_devicemgr_input_cb_mouse_button_event, NULL);
E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_MOUSE_WHEEL, _e_devicemgr_input_cb_mouse_wheel, NULL);
- E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_ADD, _e_devicemgr_input_cb_device_add, NULL);
- E_LIST_HANDLER_APPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_DEL, _e_devicemgr_input_cb_device_del, NULL);
+ E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_ADD, _e_devicemgr_input_cb_device_changed, NULL);
+ E_LIST_HANDLER_APPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_DEL, _e_devicemgr_input_cb_device_changed, NULL);
E_LIST_HANDLER_PREPEND(e_devicemgr->handlers, ECORE_EVENT_DEVICE_SUBCLASS_UPDATE, _e_devicemgr_input_cb_device_update, NULL);
if (e_devicemgr->dconfig->conf->input.virtual_key_device_enable)