Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Feb 2006 08:25:12 +0100
From:      "Norbert Koch" <NKoch@demig.de>
To:        <freebsd-hackers@freebsd.org>
Subject:   RE: [PATCH] does ukbd delay break scan codes?
Message-ID:  <000601c63913$72cf7c00$4801a8c0@ws-ew-3.demig.intra>
In-Reply-To: <43FE64CF.6080009@savvis.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Maksim,

yes I too looked at ukbd code and found the same.
I already put a patch on the bug list yesterday.
In the mean time I compared the ukbd code to
that of NetBSD and OpenBSD. Their code is
quite different. I expect that the DragenFlyBSD
guys may have the same problem, but did not
find their cvs web site so far.

Norbert


> 
> Maksim Yevmenkin wrote:
> 
> [...]
> 
> >>> I still do not know where it comes from,
> >>> but what I found so far is,
> >>> that the usb keyboard (or ukbd driver)
> >>> seems to delay the break codes for
> >>> keys with prefix E0 (which may or may not
> >>> have anything to do with my problem).
> >>>
> >>> E.g., I press Keypad-Enter and see
> >>>   E0 1C E0
> >>>         ^prefix
> >>>      ^make code
> >>>   ^prefix
> >>> and nothing else. As soon as I press
> >>> e.g. Enter (any key works) I see
> >>>   9C 1C 9C
> >>>         ^break code
> >>>      ^make code
> >>>   ^delayed break code.
> >>>
> >>> Does anyone have an idea where that
> >>> may come from?
> >>
> >>
> >> i see this to on week old -current. if ukbd(4) delays break code then 
> >> this might explain state synchronization problem with kbdmux(4). i 
> >> guess we should start digging into ukbd(4), starting with 
> >> ukbd_interrupt() to see why this happening.
> > 
> > 
> > just by looking at the code, i think, that ukbd_check_char() 
> should also 
> > return "true" if ks_buffered_char[0] != 0, i.e. try the following 
> > untested patch
> 
> i have tested the attached patch. it works for me. with this patch usb
> keyboard return
> 
> Feb 23 17:30:54 beetle kernel: e0 1c
> Feb 23 17:30:54 beetle kernel: e0 9c
> 
> when i press "gray enter" key and ps/2 keyboard return
> 
> Feb 23 17:31:41 beetle kernel: e0
> Feb 23 17:31:41 beetle kernel: 1c
> Feb 23 17:31:41 beetle kernel: e0
> Feb 23 17:31:41 beetle kernel: 9c
> 
> also i tried to freeze my keyboards by pressing ctrl+f1 but i can not 
> reproduce it here.
> 
> thanks,
> max
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000601c63913$72cf7c00$4801a8c0>