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