xserver: Branch 'mpx' - 2 commits

Peter Hutterer whot at kemper.freedesktop.org
Thu Jun 21 01:45:50 PDT 2007


 dix/getevents.c  |    1 +
 xkb/xkbActions.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

New commits:
diff-tree 8431f6083076cf1e701366767d8f8d32a628200f (from 0c33dc152e372cdc8ae59d9a5696b0774bcd03b7)
Author: Peter Hutterer <peter at cs.unisa.edu.au>
Date:   Thu Jun 21 17:00:41 2007 +0930

    Save processInputProc before wrapping it and restore it later, instead of
    using a hardcoded ProcessKeyboardEvent. Otherwise we lose the ability to
    process DeviceKeyEvents after the first key press.

diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 4c3efe2..156fb26 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -1300,7 +1300,8 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEI
 	    UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
 	    dev->public.processInputProc(xE,dev,count);
 	    COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
-					 ProcessKeyboardEvent,xkbUnwrapProc);
+                (dev == inputInfo.keyboard) ?  ProcessKeyboardEvent : ProcessOtherEvent, 
+                xkbUnwrapProc);
 	    keyc->modifierMap[key] = realMods;
 	}
 	else CoreProcessPointerEvent(xE,dev,count);
diff-tree 0c33dc152e372cdc8ae59d9a5696b0774bcd03b7 (from 1f97a7647606226cde61d6ad7a94f2b0b571a06c)
Author: Peter Hutterer <peter at cs.unisa.edu.au>
Date:   Thu Jun 21 15:47:48 2007 +0930

    Set the detail field for DeviceKeyEvents to the keycode.

diff --git a/dix/getevents.c b/dix/getevents.c
index 4d1fbb7..6988b8b 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -452,6 +452,7 @@ GetKeyboardValuatorEvents(EventList *eve
     kbp = (deviceKeyButtonPointer *) events->event;
     kbp->time = ms;
     kbp->deviceid = pDev->id;
+    kbp->detail = key_code;
     if (type == KeyPress)
         kbp->type = DeviceKeyPress;
     else if (type == KeyRelease)


More information about the xorg-commit mailing list