Re: [E-devel] About ecore XKeycodeToKeysym

2012-06-14 Thread The Rasterman
On Sat, 2 Jun 2012 18:01:31 +0900 Jérôme Pinot ngc...@gmail.com said:

 Hi,
 
 ecore_x is calling XKeycodeToKeysym from xlib, but this function has
 issues. It has been deprecated 6 months ago in X.org and it is
 suggested to use XkbKeycodeToKeysym instead:
 https://bugs.freedesktop.org/show_bug.cgi?id=25732 

wtf? they cant kill that! that has been a standard xlib func for like... what..
i don't know... 25 years! nevaah!... the BASTARDS!

 So I made a wrapper function that makes use of XkbKeycodeToKeysym when
 possible or fallback to XKeycodeToKeysym. I'm ready to commit it but I
 would like to have comments about the patch, because, well, you know the
 surrounding code better than me :-)

hmm ok. looks simple enough - wrap the old func with a compat one, make compat
one use xkb if there...

i decree that though shalt comit this!
jean-luc-picardmake it so! :)/jean-luc-picard

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] About ecore XKeycodeToKeysym

2012-06-02 Thread Jérôme Pinot
Hi,

ecore_x is calling XKeycodeToKeysym from xlib, but this function has
issues. It has been deprecated 6 months ago in X.org and it is
suggested to use XkbKeycodeToKeysym instead:
https://bugs.freedesktop.org/show_bug.cgi?id=25732 

So I made a wrapper function that makes use of XkbKeycodeToKeysym when
possible or fallback to XKeycodeToKeysym. I'm ready to commit it but I
would like to have comments about the patch, because, well, you know the
surrounding code better than me :-)

-- 
Jérôme Pinot
http://ngc891.blogdns.net/
Index: ecore/src/lib/ecore_x/xlib/ecore_x_test.c
===
--- ecore/src/lib/ecore_x/xlib/ecore_x_test.c   (revision 71640)
+++ ecore/src/lib/ecore_x/xlib/ecore_x_test.c   (working copy)
@@ -98,9 +98,9 @@
   return EINA_FALSE;
 
 keycode = XKeysymToKeycode(_ecore_x_disp, keysym);
-if (XKeycodeToKeysym(_ecore_x_disp, keycode, 0) != keysym)
+if (_ecore_x_XKeycodeToKeysym(_ecore_x_disp, keycode, 0) != keysym)
   {
- if (XKeycodeToKeysym(_ecore_x_disp, keycode, 1) == keysym)
+ if (_ecore_x_XKeycodeToKeysym(_ecore_x_disp, keycode, 1) == 
keysym)
shift = 1;
  else
keycode = 0;
Index: ecore/src/lib/ecore_x/xlib/ecore_x_private.h
===
--- ecore/src/lib/ecore_x/xlib/ecore_x_private.h(revision 71640)
+++ ecore/src/lib/ecore_x/xlib/ecore_x_private.h(working copy)
@@ -372,6 +372,7 @@
   double mry);
 
 void _ecore_x_modifiers_get(void);
+KeySym _ecore_x_XKeycodeToKeysym(Display *display, KeyCode keycode, int index);
 
 //#define LOGFNS 1
 
Index: ecore/src/lib/ecore_x/xlib/ecore_x.c
===
--- ecore/src/lib/ecore_x/xlib/ecore_x.c(revision 71640)
+++ ecore/src/lib/ecore_x/xlib/ecore_x.c(working copy)
@@ -211,6 +211,16 @@
 
 #endif /* ifdef LOGRT */
 
+/* wrapper to use XkbKeycodeToKeysym when possible */
+KeySym
+_ecore_x_XKeycodeToKeysym(Display *display, KeyCode keycode, int index)
+{
+#ifdef ECORE_XKB
+   return XkbKeycodeToKeysym(display, keycode, 0, index);
+#endif
+   return XKeycodeToKeysym(display, keycode, index);
+}
+
 void
 _ecore_x_modifiers_get(void)
 {
@@ -1056,7 +1066,8 @@
{
   for (j = 0; j  8; j++)
 {
-   sym2 = XKeycodeToKeysym(_ecore_x_disp, mod-modifiermap[i], j);
+   sym2 = _ecore_x_XKeycodeToKeysym(_ecore_x_disp,
+mod-modifiermap[i], j);
if (sym2 != 0)
  break;
 }
Index: ecore/src/lib/ecore_x/xlib/ecore_x_events.c
===
--- ecore/src/lib/ecore_x/xlib/ecore_x_events.c (revision 71640)
+++ ecore/src/lib/ecore_x/xlib/ecore_x_events.c (working copy)
@@ -278,8 +278,8 @@
int val;
 
_ecore_x_last_event_mouse_move = 0;
-   keyname = XKeysymToString(XKeycodeToKeysym(xevent-display,
-  xevent-keycode, 0));
+   keyname = XKeysymToString(_ecore_x_XKeycodeToKeysym(xevent-display,
+   xevent-keycode, 0));
if (!keyname)
  {
 snprintf(keyname_buffer,


signature.asc
Description: Digital signature
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel