dix: Send KeyPress and KeyRelease events to the XACE_KEY_AVAIL hook
While it's documented in the XACE spec, the XACE_KEY_AVAIL hook is currently never actually invoked by the xserver. This hook was added in13c6713c82
(25 Aug 2006), but as the keyboard processing was moved into XKB, the hook was forgotten and silently dropped. The code calling this hook was removed by7af53799c
(4 Jan 2009), but it was probably already unused before that. This patch re-adds support for this hook. The "count" hook parameter is unused. Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
5dc2a9aae4
commit
990cf5b282
|
@ -1730,6 +1730,18 @@ ProcessDeviceEvent(InternalEvent *ev, DeviceIntPtr device)
|
|||
break;
|
||||
}
|
||||
|
||||
/* send KeyPress and KeyRelease events to XACE plugins */
|
||||
if (XaceHookIsSet(XACE_KEY_AVAIL) &&
|
||||
(event->type == ET_KeyPress || event->type == ET_KeyRelease)) {
|
||||
xEvent *core;
|
||||
int count;
|
||||
|
||||
if (EventToCore(ev, &core, &count) == Success && count > 0) {
|
||||
XaceHook(XACE_KEY_AVAIL, core, device, 0);
|
||||
free(core);
|
||||
}
|
||||
}
|
||||
|
||||
if (DeviceEventCallback && !syncEvents.playingEvents) {
|
||||
DeviceEventInfoRec eventinfo;
|
||||
SpritePtr pSprite = device->spriteInfo->sprite;
|
||||
|
|
Loading…
Reference in New Issue
Block a user