[SeaBIOS] Impossible to distinguish between two '/' keys
Christopher Gautier
krys at dryadis.org
Fri Jul 23 15:06:51 CEST 2010
Hello,
On a French keyboard, the '/' can be obtained by shifting the ':/' key
(scancode 0x34), or using the '/' keypad key which is the extended '0xe0+0x35'.
However, calling the 0x16 interrupt while pressing the keypad '/' does not
return an extended key: it returns 0x35 which maps to '!§'. This means it
is impossible to implement a correct key mapping for both '/' keys, and '!'.
It seems to me that the problem is due to the following test in the
__processkey() function (kbd.c, seabios 0.5.1 and git repository):
if (flags2 & KF2_LAST_E0
&& scancode >= 0x47 && scancode <= 0x53) {
/* extended keys handling */
...
}
which disregards the case scancode = 0x35. Changing the 0x47 boundary value
fixes the problem. Could somebody validate this micro patch?
--
k
More information about the SeaBIOS
mailing list