svn commit: r195960 - in head/sys/dev/usb: . controller input

Nathan Whitehorn nwhitehorn at freebsd.org
Mon Aug 3 18:50:07 UTC 2009


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


More information about the svn-src-head mailing list