Subject: Re: port-i386/17865: i386 boot-blocks hate function keys
To: David Laight <david@l8s.co.uk>
From: Andrew Brown <atatat@atatdot.net>
List: netbsd-bugs
Date: 08/07/2002 13:13:35
>> 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?
i didn't. that was the problem. if it did abort the countdown, we
wouldn't be here now.
>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.
they probably *are* 0 because function keys, iirc, return an extended
keycode from the keyboard port first. i dunno if that's confusing
things...it might be.
>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.
or perhaps just something as simple as a space so that the countdown
gets aborted? hmm...i dunno. maybe not.
--
|-----< "CODE WARRIOR" >-----|
codewarrior@daemon.org * "ah! i see you have the internet
twofsonet@graffiti.com (Andrew Brown) that goes *ping*!"
andrew@crossbar.com * "information is power -- share the wealth."