diff options
Diffstat (limited to 'xkb/xkbUtils.c')
-rw-r--r-- | xkb/xkbUtils.c | 34 |
1 files changed, 3 insertions, 31 deletions
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c index 0bd41cd34..63b1e31c7 100644 --- a/xkb/xkbUtils.c +++ b/xkb/xkbUtils.c @@ -62,6 +62,7 @@ DEALINGS IN THE SOFTWARE. #include <X11/keysym.h> #include "misc.h" #include "inputstr.h" +#include "eventstr.h" #define XKBSRV_NEED_FILE_FUNCS #include <xkbsrv.h> @@ -183,13 +184,13 @@ register unsigned tmp; case XkbSA_SetMods: case XkbSA_LatchMods: case XkbSA_LockMods: if (act->mods.flags&XkbSA_UseModMapMods) act->mods.real_mods= act->mods.mask= mods; - if ((tmp= act->mods.vmods)!=0) + if ((tmp= XkbModActionVMods(&act->mods))!=0) act->mods.mask|= XkbMaskForVMask(xkb,tmp); break; case XkbSA_ISOLock: if (act->iso.flags&XkbSA_UseModMapMods) act->iso.real_mods= act->iso.mask= mods; - if ((tmp= act->iso.vmods)!=0) + if ((tmp= XkbModActionVMods(&act->iso))!=0) act->iso.mask|= XkbMaskForVMask(xkb,tmp); break; } @@ -2117,32 +2118,3 @@ XkbCopyDeviceKeymap(DeviceIntPtr dst, DeviceIntPtr src) return ret; } -int -XkbGetKeysym(DeviceIntPtr dev, DeviceEvent *event) -{ - XkbDescPtr xkb = dev->key->xkbInfo->desc; - XkbKeyTypePtr kt; - int group; - int i, level = 0; - int modmask; - - group = event->group.base + event->group.latched + event->group.locked; - - if (group >= xkb->ctrls->num_groups) - group = XkbAdjustGroup(group, xkb->ctrls); - - modmask = event->mods.base | event->mods.latched; /* don't care about - locked mods */ - kt = XkbKeyKeyType(xkb, event->detail.key, group); - - for (i = 0; i < kt->map_count; i++) - { - if (kt->map[i].mods.mask == modmask) - { - level = kt->map[i].level; - break; - } - } - - return XkbKeySymEntry(xkb, event->detail.key, level, group); -} |