From 1bbc23b08634444edee9a19603aaf3360489f483 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 27 Jul 2016 13:28:10 -0400 Subject: [PATCH] ecore-drm2: Add API for vt-switching This commit adds a function we can call from inside Enlightenment in order to fix an issue with VT-Switching. The problem was when a client application is open, the compositor does not pass along the key-combo for vt-switch but rather sends it to an application. This patch (along with upcoming Enlightenment one) fixes the issue. NB: This late API add approved by Stefan ;) @feature Signed-off-by: Chris Michael --- src/lib/ecore_drm2/Ecore_Drm2.h | 13 +++++++++++++ src/lib/ecore_drm2/ecore_drm2_device.c | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index fa2e916c76..3de799933b 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -302,6 +302,19 @@ EAPI void ecore_drm2_device_screen_size_range_get(Ecore_Drm2_Device *device, int */ EAPI void ecore_drm2_device_calibrate(Ecore_Drm2_Device *device, int w, int h); +/** + * Try to switch to a given virtual terminal + * + * @param device + * @param vt + * + * @return EINA_TRUE on success, EINA_FALSE otherwise + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI Eina_Bool ecore_drm2_device_vt_set(Ecore_Drm2_Device *device, int vt); + /** * @defgroup Ecore_Drm2_Output_Group Drm output functions * diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index 8794063a2a..8f2e43cfde 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -363,3 +363,11 @@ ecore_drm2_device_calibrate(Ecore_Drm2_Device *device, int w, int h) elput_input_devices_calibrate(device->em, w, h); } + +EAPI Eina_Bool +ecore_drm2_device_vt_set(Ecore_Drm2_Device *device, int vt) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE); + + return elput_manager_vt_set(device->em, vt); +}