loader: ReadKeyStrokeEx may return partial keystrokes
In some systems we can receive no scancode nor unicodechar values.
FreeBSD issue: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240760
Confirmed fix from two users.
Updated by John Levon almost 2 years ago
I was curious about the spec here, it basically says:
The input stream supports Scan Codes in addition to Unicode characters. If the Scan Code is set to 0x00
then the Unicode character is valid and should be used. If the Scan Code is set to a non-0x00 value it
represents a special key as defined by Table 107.
For reasons that are entirely unclear, there are no (extended) scan codes for caps lock or shift, so an implementation seems to have two choices: either not return from GetKeyStroke at all, or return scancode=0x0,unichar=0x0. Since 0x0 is a "valid" unicode char, this seems like a reasonable thing to do.
Updated by Electric Monk almost 2 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
commit bb4b7f47acc2c683b79216e79167725745ca353b Author: Toomas Soome <email@example.com> Date: 2019-12-06T07:11:30.000Z 12049 loader: ReadKeyStrokeEx may return partial keystrokes Reviewed by: Randy Fishel <firstname.lastname@example.org> Reviewed by: John Levon <email@example.com> Reviewed by: C Fraire <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>