From 28de09e51564f32fe96924889b32d08808b12677 Mon Sep 17 00:00:00 2001 From: Dan Nicholson Date: Sat, 28 Mar 2009 15:51:06 -0700 Subject: [PATCH] Add xkbcommon macro for XkbKSIsKeypad and XkbKSIsDeadKey(k) 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 | 5 +++++ src/xkbcomp/symbols.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/X11/extensions/XKBcommon.h b/include/X11/extensions/XKBcommon.h index b207219..3e6852a 100644 --- a/include/X11/extensions/XKBcommon.h +++ b/include/X11/extensions/XKBcommon.h @@ -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 * diff --git a/src/xkbcomp/symbols.c b/src/xkbcomp/symbols.c index f8d8ddf..f200a5c 100644 --- a/src/xkbcomp/symbols.c +++ b/src/xkbcomp/symbols.c @@ -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); -- 2.7.4