Hi,
we (Willi Spiegl) have a machine, where depending on the the FreeDOS boot menu
selection, keys on his german keyboard like {}[] are not recognized.
I remotely narrowed this down to the extended keyboard flag at 0040:0096
getting cleared (to me randomly). Normally for Willis machine, the byte at
0040:0096 contains value 10h, indicating the extended keyboard being present.
Recent mKeyb versions make use of this flag [1]. Loading mKeyb with parameter
/E indeed fixes the problem.
However, right after the kernel is loaded and the boot menu option was chosen,
even before the first device driver is being loaded, the byte at 0040:0096 is
set to zero depending on the boot option (is set to zero if boot option 3 is
chosen), making mKeyb auto detection fail. Willi put as first device a test
program [2] of mine indicating whether the extended flag is set.
I have no explanation why the byte at 0040:0096 gets changed. In the kernel
source I found no obvious place where this byte gets written (and see no reason
why it should).
It's hard for me to debug this without the machine being at my hands. Anyone
with a clever idea how Willi may narrow this down further?
[1]
https://github.com/davidebreso/mkeyb/blob/518d24d578dcb094b7f74800cd982bb4e4b7178b/mkeyb.c#L233
[2] https://nextcloud.iww.rwth-aachen.de/index.php/s/LJBx5cdkbiFtksk
Bernd
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel