Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Aug 2009 13:50:02 -0500
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        src-committers@freebsd.org, Bruce Evans <brde@optusnet.com.au>, svn-src-all@freebsd.org, alfred@freebsd.org, rwatson@freebsd.org, nparhar@gmail.com, svn-src-head@freebsd.org, "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: svn commit: r195960 - in head/sys/dev/usb: . controller input
Message-ID:  <4A77315A.3050606@freebsd.org>
In-Reply-To: <200908032033.08169.hselasky@c2i.net>
References:  <20090802192902.GS47463@elvis.mu.org> <20090803.012206.1492586399.imp@bsdimp.com> <20090804032402.J21599@delplex.bde.org> <200908032033.08169.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hans Petter Selasky wrote:
> On Monday 03 August 2009 19:46:16 Bruce Evans wrote:
>   
>> On Mon, 3 Aug 2009, M. Warner Losh wrote:
>>     
>>> In message: <200908030827.21108.hselasky@c2i.net>
>>>
>>> : I see two solutions:
>>> :
>>> : 1) Disable the timekeeping if no keys are pressed.
>>> :
>>> : 2) Second option is to use getmicrotime. Actually what I need is just a
>>> : millisecond time reference so I know when to repeat the last key.
>>> :
>>> : Any opinions? DELAY() or getmicrotime() ?
>>>       
>> DELAY(1) is somewhet usable.
>>     
>
> I think DELAY(1) is not accurate enough.
>
> I suggest that the DELAY(1000) is only active while a key is actually pressed.
>
> See attached patch. Please test and report back.
>   

Having recently written a keyboard driver, it is silly that the keyboard 
driver itself has to handle key repeat at all -- this kind of thing 
should be in the general kdb driver, along with AT KBD scancode 
emulation. Of the four keyboard drivers currently in the tree, three 
(sunkbd, akbd, ukbd) have a huge amount of code copied and pasted 
between them in order to emulate an AT keyboard, which are becoming less 
and less common.
-Nathan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A77315A.3050606>