diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-06-29 13:09:56 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-06-29 13:18:01 -0400 |
commit | 476ebdc0a16140a8d9e07ae3814c1475b51cd1aa (patch) | |
tree | 6e306aaa6f8695f72351edd94001049828712476 | |
parent | 4d417782518901ff5786536711d8b853079a24d6 (diff) | |
download | efl-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.h | 10 | ||||
-rw-r--r-- | src/lib/ecore_x/xcb/ecore_xcb_keymap.c | 6 | ||||
-rw-r--r-- | src/lib/ecore_x/xlib/ecore_x_test.c | 6 |
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); +} |