From 2b075e97ec913ebe19290181e36bb169410b820b Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 2 Oct 2007 13:28:40 +0930 Subject: [PATCH] mi: switch core keyboard on XI events, not only on core events. We only get core events through the EQ in exceptional cases, so make sure we actually swap the core keymap for XI events as well. Gives us back the ability to have multiple keyboard layouts simultaneously. --- mi/mieq.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mi/mieq.c b/mi/mieq.c index 9e0f5befb..f5e119efb 100644 --- a/mi/mieq.c +++ b/mi/mieq.c @@ -267,10 +267,12 @@ mieqProcessInputEvents(void) return; } - /* If this is a core event, make sure our keymap, et al, is - * changed to suit. */ - if (e->events->event[0].u.u.type == KeyPress || - e->events->event[0].u.u.type == KeyRelease) { + /* Make sure our keymap, et al, is changed to suit. */ + if ((e->events->event[0].u.u.type == DeviceKeyPress || + e->events->event[0].u.u.type == DeviceKeyRelease || + e->events->event[0].u.u.type == KeyPress || + e->events->event[0].u.u.type == KeyRelease) && + e->pDev->coreEvents) { SwitchCoreKeyboard(e->pDev); }