discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=476ebdc0a16140a8d9e07ae3814c1475b51cd1aa

commit 476ebdc0a16140a8d9e07ae3814c1475b51cd1aa
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Mon Jun 29 13:09:56 2015 -0400

    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
---
 src/lib/ecore_x/Ecore_X.h              | 10 ++++++++++
 src/lib/ecore_x/xcb/ecore_xcb_keymap.c |  6 ++++++
 src/lib/ecore_x/xlib/ecore_x_test.c    |  6 ++++++
 3 files changed, 22 insertions(+)

diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 8c3a41f..f933aee 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 530a3d4..35a559c 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 4eec6b7..f552910 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);
+}

-- 


Reply via email to