diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-03-06 19:42:27 +1000 |
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-03-12 11:03:29 +1000 |
| commit | 067f26f7ba4c8cf37af7ddf0eb204b7e1d06096d (patch) | |
| tree | 94796f53ae63ecf86a325d9938ba9abf5c26287e | |
| parent | da724e8f1d1867c36c9550a153c58829939800fc (diff) | |
Xi: set the modifier + group state during POE.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| -rw-r--r-- | Xi/exevents.c | 11 |
1 files changed, 11 insertions, 0 deletions
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; |
