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