summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-06-29 13:09:56 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-06-29 13:18:01 -0400
commit476ebdc0a16140a8d9e07ae3814c1475b51cd1aa (patch)
tree6e306aaa6f8695f72351edd94001049828712476
parent4d417782518901ff5786536711d8b853079a24d6 (diff)
downloadefl-476ebdc0a16140a8d9e07ae3814c1475b51cd1aa.tar.gz
ecore-x: add ecore_x_keysym_get()
this is a less invasive solution for retrieving a keysym. X keysyms are not portable, and so this function should not be used for any code which is meant to run on other platforms. @feature
-rw-r--r--src/lib/ecore_x/Ecore_X.h10
-rw-r--r--src/lib/ecore_x/xcb/ecore_xcb_keymap.c6
-rw-r--r--src/lib/ecore_x/xlib/ecore_x_test.c6
3 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 8c3a41f4dc..f933aeea40 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -2520,6 +2520,16 @@ EAPI const char *ecore_x_keysym_string_get(int keysym);
*/
EAPI int ecore_x_keysym_keycode_get(const char *keyname);
+/**
+ * Return the X-specific keysym for a given key string
+ * @param string The key to get the keysym for
+ * @return the keysym value
+ *
+ * @since 1.15
+ * @note The returned value is not portable.
+ */
+EAPI unsigned int ecore_x_keysym_get(const char *string);
+
typedef struct _Ecore_X_Image Ecore_X_Image;
EAPI Ecore_X_Image *ecore_x_image_new(int w, int h, Ecore_X_Visual vis, int depth);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_keymap.c b/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
index 530a3d4e37..35a559c1ed 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
@@ -330,6 +330,12 @@ ecore_x_keysym_keycode_get(const char *keyname)
return _ecore_xcb_keymap_string_to_keycode(keyname);
}
+EAPI unsigned int
+ecore_x_keysym_get(const char *string)
+{
+ return _ecore_xcb_keymap_string_to_keysym(string);
+}
+
/* local functions */
static int
_ecore_xcb_keymap_mask_get(void *reply,
diff --git a/src/lib/ecore_x/xlib/ecore_x_test.c b/src/lib/ecore_x/xlib/ecore_x_test.c
index 4eec6b74b3..f55291069e 100644
--- a/src/lib/ecore_x/xlib/ecore_x_test.c
+++ b/src/lib/ecore_x/xlib/ecore_x_test.c
@@ -165,3 +165,9 @@ ecore_x_keysym_keycode_get(const char *keyname)
return keycode;
}
+
+EAPI unsigned int
+ecore_x_keysym_get(const char *string)
+{
+ return XStringToKeysym(string);
+}