Auto-repeat with evdev 2.2.0

Peter Hutterer peter.hutterer at who-t.net
Tue Mar 10 01:09:36 PDT 2009


On Tue, Mar 10, 2009 at 12:25:23AM -0400, Marty Jack wrote:
> Good as new.

Pushed as a7fb654a68a26ad5f019a902312c6b94dbe9c3ea, thanks for testing.

Cheers,
  Peter

> 
> 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