Subject: Re: port-i386/17865: i386 boot-blocks hate function keys
To: <>
From: David Laight <david@l8s.co.uk>
List: netbsd-bugs
Date: 08/07/2002 18:05:43
> nah...that'd have the unfortunate side-effect that regular unattended
> booting would take longer.  the point is not that i don't have enough
> time to press the key, the point is that i get distracted at the
> crucial moment and then the bootblocks stop behaving as expected
> (after i punch f3).  they shouldn't stop acknowledging keypresses
> while they're counting down.

Ok can you remember whether F3 had the effect of aborting the
countdown? ie acting the same as enter?

The bios call used to read the keyboard returns the raw keycode
in ah and the ascii value in al.  For function keys the ascii
value could easily be 0.  This would terminate the timeout.

awaitkey() (in sys/arch/i386/stand/lib/pcio.c) has the following:

	/* flush input buffer */
	while (iskey())
		c = getchar();
	goto out; /* XXX what happens if c == 0? */

Maybe it would be better to add:
	if (!c)
		c = -1;

So that keys with an ascii value of 0 aren't treated as
timeout.

	David

-- 
David Laight: david@l8s.co.uk