elput: Add new APIs to suspend/resume input

When we VT-Switch away from E, we should suspend input process, and
resume it when we switch back

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2016-07-27 15:44:14 -04:00
parent 4431ff01ff
commit ee3e495a2a
2 changed files with 27 additions and 0 deletions

View File

@ -413,6 +413,10 @@ EAPI void elput_input_keyboard_cached_keymap_set(Elput_Manager *manager, void *k
*/
EAPI Eina_Stringshare *elput_input_device_output_name_get(Elput_Device *device);
EAPI void elput_input_devices_suspend(Elput_Manager *manager);
EAPI void elput_input_devices_resume(Elput_Manager *manager);
# endif
# undef EAPI

View File

@ -546,6 +546,29 @@ elput_input_devices_calibrate(Elput_Manager *manager, int w, int h)
}
}
EAPI void
elput_input_devices_suspend(Elput_Manager *manager)
{
EINA_SAFETY_ON_NULL_RETURN(manager);
if (manager->input.suspended) return;
libinput_suspend(manager->input.lib);
manager->input.suspended = EINA_TRUE;
_process_events(&manager->input);
}
EAPI void
elput_input_devices_resume(Elput_Manager *manager)
{
EINA_SAFETY_ON_NULL_RETURN(manager);
if (!manager->input.suspended) return;
libinput_resume(manager->input.lib);
manager->input.suspended = EINA_FALSE;
_process_events(&manager->input);
}
EAPI Eina_Bool
elput_input_key_remap_enable(Elput_Manager *manager, Eina_Bool enable)
{