Auto-repeat with evdev 2.2.0
Marty Jack
martyj19 at comcast.net
Mon Mar 9 21:25:23 PDT 2009
Good as new.
Peter Hutterer wrote:
> On Mon, Mar 09, 2009 at 11:58:57PM -0400, Marty Jack wrote:
>> I suppose, given this realization, one could make an argument that 2.2.0 should have required 1.6.
>> Which would render moot the change
>> Define MAX_VALUATORS if it's missing to allow for builds against 1.5.
>>
>> I might try messing with the revert. FWIW I did not notice any other issues.
>
> Does this (untested) patch work?
>
> diff --git a/src/evdev.c b/src/evdev.c
> index 04bce96..bc29ac9 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -263,8 +263,17 @@ PostKbdEvent(InputInfoPtr pInfo, struct input_event *ev, int value)
> static char warned[KEY_CNT];
>
> /* Filter all repeated events from device.
> - We'll do softrepeat in the server */
> - if (value == 2)
> + We'll do softrepeat in the server, but only since 1.6 */
> + if (value == 2
> +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) <= 2
> + && (ev->code == KEY_LEFTCTRL || ev->code == KEY_RIGHTCTRL ||
> + ev->code == KEY_LEFTSHIFT || ev->code == KEY_RIGHTSHIFT ||
> + ev->code == KEY_LEFTALT || ev->code == KEY_RIGHTALT ||
> + ev->code == KEY_LEFTMETA || ev->code == KEY_RIGHTMETA ||
> + ev->code == KEY_CAPSLOCK || ev->code == KEY_NUMLOCK ||
> + ev->code == KEY_SCROLLLOCK) /* XXX windows keys? */
> +#endif
> + )
> return;
>
> if (code > 255)
>
>
More information about the xorg
mailing list