aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2016-07-27 13:28:10 -0400
committerChris Michael <cp.michael@samsung.com>2016-07-27 13:28:10 -0400
commit1bbc23b08634444edee9a19603aaf3360489f483 (patch)
tree85b7233c185e81f56e3c798ba5bbfe56de28a26a
parentelementary: Reduce variable usage (diff)
downloadefl-1bbc23b08634444edee9a19603aaf3360489f483.tar.gz
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 <cp.michael@samsung.com>
-rw-r--r--src/lib/ecore_drm2/Ecore_Drm2.h13
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_device.c8
2 files changed, 21 insertions, 0 deletions
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
@@ -303,6 +303,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
*
* Functions that deal with setup of outputs
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);
+}