Date: Thu, 23 Feb 2006 14:27:04 -0800 From: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> To: Norbert Koch <NKoch@demig.de> Cc: freebsd-hackers@freebsd.org Subject: Re: does ukbd delay break scan codes? Message-ID: <43FE36B8.7070601@savvis.net> In-Reply-To: <43FE2C4F.6030909@savvis.net> References: <000001c6379d$63036d80$4801a8c0@ws-ew-3.demig.intra> <43FE2C4F.6030909@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Maksim Yevmenkin wrote: > Norbert, > > [...] > >> 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 --- ukbd.c.orig Thu Feb 23 14:24:21 2006 +++ ukbd.c Thu Feb 23 14:25:47 2006 @@ -1145,9 +1145,7 @@ state = (ukbd_state_t *)kbd->kb_data; if (!(state->ks_flags & COMPOSE) && (state->ks_composed_char > 0)) return TRUE; - if (state->ks_inputs > 0) - return TRUE; - return FALSE; + return ukbd_check(kbd); } /* some useful control functions */ === i will try this as soon as my buildworld/buildkernel completes. thanks, max
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43FE36B8.7070601>