Add xkbcommon macro for XkbKSIsKeypad and XkbKSIsDeadKey(k)
authorDan Nicholson <dbn.lists@gmail.com>
Sat, 28 Mar 2009 22:51:06 +0000 (15:51 -0700)
committerDan Nicholson <dbn.lists@gmail.com>
Sat, 28 Mar 2009 22:51:06 +0000 (15:51 -0700)
IsKeypad is used in symbols, but we'll just grab them both. It might be
better to split parts of XKBfile.h out eventually.

include/X11/extensions/XKBcommon.h
src/xkbcomp/symbols.c

index b207219..3e6852a 100644 (file)
@@ -52,6 +52,11 @@ typedef struct _XkbcDesc {
     XkbGeometryPtr      geom;
 } XkbcDescRec, *XkbcDescPtr;
 
+#define XkbcKSIsKeypad(k) \
+    (((k) >= XK_KP_Space) && ((k) <= XK_KP_Equal))
+#define XkbcKSIsDeadKey(k) \
+    (((k) >= XK_dead_grave) && ((k) <= XK_dead_semivoiced_sound))
+
 _XFUNCPROTOBEGIN
 
 extern char *
index f8d8ddf..f200a5c 100644 (file)
@@ -1802,7 +1802,7 @@ FindAutomaticType(int width, KeySym * syms, Atom * typeNameRtrn,
         {
             *typeNameRtrn = XkbcInternAtom("ALPHABETIC", False);
         }
-        else if (syms && (XkbKSIsKeypad(syms[0]) || XkbKSIsKeypad(syms[1])))
+        else if (syms && (XkbcKSIsKeypad(syms[0]) || XkbcKSIsKeypad(syms[1])))
         {
             *typeNameRtrn = XkbcInternAtom("KEYPAD", False);
             *autoType = True;
@@ -1823,7 +1823,7 @@ FindAutomaticType(int width, KeySym * syms, Atom * typeNameRtrn,
                 *typeNameRtrn = XkbcInternAtom("FOUR_LEVEL_SEMIALPHABETIC",
                                               False);
 
-        else if (syms && (XkbKSIsKeypad(syms[0]) || XkbKSIsKeypad(syms[1])))
+        else if (syms && (XkbcKSIsKeypad(syms[0]) || XkbcKSIsKeypad(syms[1])))
             *typeNameRtrn = XkbcInternAtom("FOUR_LEVEL_KEYPAD", False);
         else
             *typeNameRtrn = XkbcInternAtom("FOUR_LEVEL", False);