Entering this bug on behalf of a user, who emailed me.
(copy/paste follows)
As a German I am using the German keyboard layout, or at least I try to. Iselected 'German' during setup. The curious thing is that it reports initially as codepage 437, which would be US, I can't seem to properly switch to 850 or 858. I customized fdconfig.sys and also autoexec.bat such that 'chcp' returns this: "Aktuelle Codepage ist 858 Die richtige System-Codepage ist 437" (sorry for the German text; the setup was run in German) So, the rough translation would be: "Current codepage is 858; The correct system codepage is 437"
I don't understand why FreeDOS is saying that the 'correct' codepage should be 437. But aside from that:
Either way (regardless whether codepage 437 or 850 or 858 is selected) the German umlauts (ä, ö, ü) work but the 'y' and 'z' keys are interchanged. The '€' symbol doesn't seem to work either, but that's a really minor issue. Switched 'y' and 'z' is a much more annoying problem.
With MS DOS it used to be the case to tell 'keyb' to use keyboard layout 'gr' (provided country.sys was loaded into memory with codepage 850) and then 'y' and 'z' were the correct way. That doesn't seem work with FreeDOS 1.2 at least not out of the box. It seems that 'mkeyb' is not working for me. While I am writing to you I tried again with 'keyb gr' and now it works. But I don't quite know why it didn't before. It only seems to work from within autoexec.bat There is something very different about FreeDOS 1.2 vs. FreeDOS 1.0 in regards to keyboard layouts.
I asked the user to test with the recently-released FreeDOS 1.3 RC1. This is the reply:
(copy/paste follows)
After setup the system tells me that codepage 858 is selected, which would be correct. However initially it gives me a 'z' when I hit the 'y' key and vice versa. That I would expect if codepage 437 was selected. The 'chcp' command shows that 858 is selected but doesn't allow me to switch codepages. Maybe that's because I haven't been successful in loading 'nlsfunc'. I'll have to try harder tomorrow.
The 'keyb' command doesn't seem to work out of the box, but I have the sneaking suspicion that this is because 'mkeyb' is loaded at startup. In any event: I 'rem'-ed 'mkeyb' in the fdauto.bat and replaced it with 'keyb gr'. That at least sorts the 'z' and 'y' issue. The umlauts ('ä', 'ö' and 'ü') are working as is the 'ß'. The backslash is where it is supposed to be. All is well ... apart from the '€' symbol. No luck with that, even though I remember it being part of codepage 858, so something is still not quite right.
Initially I'd probably replace 'mkeyb' with 'keyb' at least in fdauto.bat because that corrects the 'z' and 'y' thing. Is there a particular reason why you prefer 'mkeyb'? I'm just interested, that's all.
in what environment (real HW, VirtualBox,...) do you experience this bug?
anyway, I have an idea what might go wrong; hopefully fixed in
www.drivesnapshot.de/freedos/mkeyb.zip . please report your results.
resident memory for MKEYB is ~ 1/3 of KEYB (0x200 vs. 0x670). the 'M' stands for 'MINI'
Last edit: tom ehlert 2019-03-26
as there are no more feedback, case closed.
I have this Problem to in VirtualBox and FreeDos 1.3 RC3
If I press z it prints y and vice versa.
GR and GR2 are the same.
Hi Jan-Peter!
Did you already test Tom's new
mkeyb044.zip?Cheers,
Robert
FYI: Same problem with the Swiss keyboard (keyb sg). This happens with "Freedos Keyb 2.01" and with the attached "mKEYB 0.44". With the latter, there are also no dead keys, but then again this seerms intentional. It says this right when it is started:"keine combi's" (sic).
This is also in VirtualBox, by the way. I haven't tested on a real PC yet.
Dudes, I found an easy solution ;-) for FreeDOS 1.2
In AUTOEXEC.BAT simply add
KEYB GR,,C:\FDOS\BIN\KEYBOARD.SYS
(and delete/comment the line 'mkeyb GR')
and everthing's fine ;-)
An educated guess of this would be: the message was being issued by DISPLAY, which detected that (m)KEYB was present, but not resposive to a codepage change.
Anyway, it seems to me that this all has to do with the codepage handling in mkeyb, which I believe should then be a feature request, more than a bug.
I remember this "y" and "z" mixture in virtualbox, as mkeyb history.txt says, it was fixed with version 0.45. FD12 used mkeyb 0.41 - and the thread talks about mkeyb 0.44.
The actual version 0.52 sometimes requires the option /e to be able to handle "| \ [ ]" and some other characters (third keyboard layer).
Just for info.
I think this thread can be closed.
Last edit: fritz.mueller 2024-07-29