From 067f26f7ba4c8cf37af7ddf0eb204b7e1d06096d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 6 Mar 2009 19:42:27 +1000 Subject: [PATCH] Xi: set the modifier + group state during POE. Signed-off-by: Peter Hutterer --- Xi/exevents.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Xi/exevents.c b/Xi/exevents.c index 456e0791f..90005f487 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -911,6 +911,17 @@ ProcessOtherEvent(InternalEvent *ev, DeviceIntPtr device) if (BitIsOn(mouse->button->down, i)) SetBit(event->buttons, i); + if (kbd && kbd->key) + { + event->mods.base = kbd->key->xkbInfo->state.base_mods; + event->mods.latched = kbd->key->xkbInfo->state.latched_mods; + event->mods.locked = kbd->key->xkbInfo->state.locked_mods; + + event->group.base = kbd->key->xkbInfo->state.base_group; + event->group.latched = kbd->key->xkbInfo->state.latched_group; + event->group.locked = kbd->key->xkbInfo->state.locked_group; + } + ret = UpdateDeviceState(device, event); if (ret == DONT_PROCESS) return;