[PATCH evdev] Write a SYN_REPORT after the last LED
Daniel Stone
daniel at fooishbar.org
Tue Aug 13 01:02:22 PDT 2013
Hi,
On 13 August 2013 06:29, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> When writing LED values to the device, append a SYN_REPORT to the list to
> ensure other clients are updated immediately. Otherwise, the LED events
> will be queued and not sent to other clients until the next input event
> arrives.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Reviewed-by: Daniel Stone <daniel at fooishbar.org>
> src/evdev.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/src/evdev.c b/src/evdev.c
> index ba2a98c..456c7aa 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -1157,7 +1157,7 @@ EvdevKbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl)
> };
>
> InputInfoPtr pInfo;
> - struct input_event ev[ArrayLength(bits)];
> + struct input_event ev[ArrayLength(bits) + 1];
> int i;
>
> memset(ev, 0, sizeof(ev));
> @@ -1169,6 +1169,10 @@ EvdevKbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl)
> ev[i].value = (ctrl->leds & bits[i].xbit) > 0;
> }
>
> + ev[i].type = EV_SYN;
> + ev[i].code = SYN_REPORT;
> + ev[i].value = 0;
> +
> write(pInfo->fd, ev, sizeof ev);
> }
>
> --
> 1.8.2.1
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
More information about the xorg-devel
mailing list