Re: Keyboard delay and repeat rate

From: Geert Uytterhoeven (geert@linux-m68k.org)
Date: Tue Apr 04 2000 - 05:26:33 EST


On Tue, 4 Apr 2000, David Balazic wrote:
> Rik Faith wrote:
> > On Thu 30 Mar 2000 13:33:19 +0100,
> > David Balazic <david.balazic@uni-mb.si> wrote:
> > > Hi , the man page kbdrate(8) , which mentions you in the CREDITS section,
> > > says that in Intel the choices for delay times are 250,500,750 and 1000 ms.
> > >
> > > But doesn't the keyboard just send key-down and key-up messages , so
> > > the OS could implement any delay ( and also any repeat rate ) ?
> >
> > It's been a number of years, but my understanding was that the keyboard
> > controller chip detected a lengthy key-down state and then started to send
> > fake key-up and key-down messages until the key was actually raised. This
> > is why the delay and rate depend on the keyboard controller chip.
> >
> > > At least that is the way it works on Amiga , and I think
> > > PC and amiga keyboards are pretty compatible, but I could be mistaken too...
>
> But then how do games work ?
> I mean moving forward in quake would be jerky it this was the case, no ?

Amiga keyboards don't handle repeat: they just send key down/up events (Caps
Lock is different: if you press it once, a down event is sent, if you press it
again, an up event is sent). Repeat is handled by the keyboard driver
(divers/char/amikeyb.c) using a timer.

PC keyboard are different, they can be programmed to auto-repeat.

Gr{oetje,eeting}s,

                                                Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:11 EST