> possibly not so complicated -- what about the following patch:
> diff --git a/dix/getevents.c b/dix/getevents.c
> index 2fd4e54..79366f8 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -414,6 +414,10 @@ GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr
> pDev, int type,
> CARD32 ms = 0;
> deviceKeyButtonPointer *kbp = NULL;
>
> + if (pDev == inputInfo.keyboard)
> + pDev = dixLookupPrivate(&inputInfo.keyboard->devPrivates,
> + CoreDevicePrivateKey);
> +
> if (!events)
> return 0;
>
>
> (assuming all callers of GK{,V}E are happy with this.)
won't work, ProcXTestFakeInput doesn't use GPE/GKVE right now. I have a patch
for master in the pipe here, but it still needs some special handling for
xinerama. once it is in, it can probably be backported to 1.4.
> possibly not so complicated -- what about the following patch: atorEvents( xEvent *events, DeviceIntPtr Pointer *kbp = NULL; e(&inputInfo. keyboard- >devPrivates, teKey);
> diff --git a/dix/getevents.c b/dix/getevents.c
> index 2fd4e54..79366f8 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -414,6 +414,10 @@ GetKeyboardValu
> pDev, int type,
> CARD32 ms = 0;
> deviceKeyButton
>
> + if (pDev == inputInfo.keyboard)
> + pDev = dixLookupPrivat
> + CoreDevicePriva
> +
> if (!events)
> return 0;
>
>
> (assuming all callers of GK{,V}E are happy with this.)
won't work, ProcXTestFakeInput doesn't use GPE/GKVE right now. I have a patch
for master in the pipe here, but it still needs some special handling for
xinerama. once it is in, it can probably be backported to 1.4.