An old client of mine is still using a billing system I developed in another life, in FoxPro for DOS.
They recently moved up to Win XP from Win 98 (after at long last solving problems of getting the system to run cooperatively and at a decent speed under XP).
Here’s the challenge: the company is in Québec and uses the French Canadian keyboard setting - accents are essential. Under XP, for some mysterious reason FoxPro DOS reverts to the plain vanilla US keyboard. Whereas at the cmd prompt the keyboard behaves as it should. (Ha - just paused to check another DOS application - edit.com - and the same problem occurs - no accents, even when the program is launched from the cmd line.)
Obviously the cmd application and the Win XP DOS emulator, whatever that is, are processing keystrokes differently. The client uses XP professional but I also have the problem at home, under XP home edition.
Can anybody suggest a solution? I’ve tried asking the question on a pro developers’ troubleshooting forum and nobody bit.
(PS please don’t suggest using Alt-number commands to enter accented characters - this is simply not a viable solution. Also don’t suggest porting or replacing the application - it’s a complex system and doing this would cost big bucks.)
Possibly… but loading a driver apparently last updated in 1997 seems like asking for trouble. In any case the download link is broken. Might hunt around for something similar but I can’t believe Microsoft didn’t think of this… well yes I can.
James, the multilingual code page is already active in cmd (typing chcp with no parameters displays the active code page). Loading it again makes no diff, but thanks for trying!
It’s definitely a DOS related issue, not really XP. In the good old times, you used to have to load a driver in DOS, as someone else stated, to have french canadian keyboard in DOS. You will definitely need to install that driver on each machine, if not there already, and load the driver in the DOS “bootup” sequence (in the good old time, autoexec.bat and config.sys).
I’m wondering if there’s some Virtual OS software that would emulate DOS but still keep Win XP’s settings, there must be such a thing out there.
No solution, but I recognise the problem. In fact, we have it at home where some applications recognise our default setting as UK keyboard, and others just think it’s a US keyboard. (It means the @ and the " swap places, and some of the other punctuation moves around).
We are still looking into this one.
Its easy for people to turn up their noses, but I too have MS FoxPro apps still running fine on SCO Openserver 12 years after initiation, and they are stable and running well. Our company asked an outside contractor to replace the OS as well as the db base, and were quoted half a million to come up with an equivalent on WinXP. The old app has never been so satisfactory.
These days it’s autoexec.nt and config.nt or whatever files you specify in the properties for the DOS app.
I just tried loading those old commands (country=…, keyb cf,c:..\keyboard.sys, mode con codepage prepare…) and DOS apps refused to load at all. Since those commands and drivers exist in the XP system directories, they are presumably intended to be used… I can see a few hours’ experimentation ahead.
Thanks for the link to the MS page, fearfoin. [Edit: it applies to Windows ME, so it’s of no use. It also describes the settings not applying at a DOS prompt, but as I said above, in XP the keyboard works correctly at the command prompt, it’s in DOS apps that it disappears.]
Yes smile away at the dates - but there’s a bit of a difference between a major application development environment marketed by (but not written by, phew) Microsoft and still used for critical applications by thousands of companies and a TSR program written by students in Germany, don’t you think?)
And djm, I’m really not surprised at the $0.5 million figure. My client looked into replacing my system with something more modern a couple of years ago and came up with a figure of $200-250K for an off-the-shelf system with some customization. Even if he could afford that, he and I are both certain that it wouldn’t work anything like as well as what he has - judging by the experience of two former clients who had related systems rewritten in a Windows development environment!
I point it out not as a solution, but to show that they seem to have the same problem. There may not be an easy fix.
Press the euro key on your keyboard layout; the euro should appear. (Unfortunately, the euro key does not seem to work > within > DOS applications, so you will need to write a macro to use the euro easily in WPDOS.)
Back in old dos, you had files like DISPLAY.SYS and KEYB.SYS in order to show and type international characters respectively..you may want to see if you can get an equivalent somewhere to put in your config.nt file
That’s because the developers simply sucked. If they were using good developers like… hmmmm… yourself and myself for example, they would have a neat, modern, expandable system on Windows XP But that’s the type of system you can’t simply develop if you don’t have extensive knowledge of coding big applications, or the project might turn into a nightmare down the line.
Isn’t that a wonderful site? Pages and pages of information for people who want to carry on using WordPerfect for DOS (6.0 must be one of the best apps ever written for any OS). I’m almost tempted.
I found that site a while back while looking for ways to adjust the rows and columns in the Win XP DOS console and discovered TameDOS, which yer man recommends. This is a very capable manager for DOS apps under WinXP and handles FoxPro DOS wonderfully (stopping it from grabbing all available system resources). Unfortunately it doesn’t fix the keyboard problem - yet (I have written to the developer)
I tried briefly loading the keyb etc. commands into the configuration files, as I mentioned above, but so far have only succeeded in preventing any DOS programs from running at all
Fearfoin, maybe it’s not so weird - cmd.exe is a 32-bit Windows app and DOS programs are, well, not. I read somewhere today that DOS apps aren’t able to swap code pages under XP, so maybe your suggestion of a 3rd-party keyboard driver might be the best in the end.
Fixed! Putting all the old DOS commands in config.nt and autoexec.nt worked - but only once I’d discovered a crucial bit of information deep in the entrails of microsoft.com
I couldn’t get the old “keyb” command to work, and this turned out to be because it doesn’t exist in XP. However, on this page http://support.microsoft.com/default.aspx?scid=kb;en-us;262283, which is not supposed to be about XP at all, but NT, I found a reference to “The Kb16.com utility, previously known as the Keyb.com utility…” (GRRR!)
There it was in the system32 folder. I put kb16 instead of keyb into autoexec.nt and bingo!
Four hours of buggerizing around and the problem finally solved in 30 seconds.
Thanks to all of you for putting me on the right path - Wanderer was close and fearfoin gave me the idea of restricting my Googling to microsoft.com. The client is going to be verrry happy.
Cheers
Steve
config.nt commands:
%SystemRoot%\system32\display.sys con=(ega,,1)
mode con codepage prepare=((850) %SystemRoot%\system32\ega.cpi)
mode con codepage select=850
autoexec.nt
kb16 cf,,%SystemRoot%\system32\keyboard.sys
Up until recently, I used to use a Datahand keyboard (http://www.datahand.com, check em out if you want to wierd up your day) - you might have seen one on TV as it was used as the control panel for the alien spacecraft in the movie Contact.
Now this thing caused me no end of problems with keyboard layouts - it’s an American layout, and it appeared to have some magic key combination which flipped the OS back into UK keyboard layout, as somedays my " and @ were mixed up, and then they would magically sort themselves out again, mid session. Could never figure out if it was XP being crap or whether the Datahand was doing something wierd. Definitely one of the more bizarre input devices, but it saw me through a rough patch when I would otherwise have been unable to continue working due to my knackered hands.
Any hardcore geeks out there - try using vi with a datahand - it’s like a random control character generator with a mind of its own…