Another question for people who know a lot about XP

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.)

Steve

If you’ve not already tried it, after you open your command prompt but before running your application, enter the command

chcp 863

This should set your extended character set to be French-Canadian.

–James

I got this far and thought, “No good will come of this…”

Would something like this help? It seems to replace the Keyboard
driver in the DOS shell.
http://www.uni-bonn.de/~uzs180/FreeKEYB/frkb-eng.html

Well it was state of the art in 1992. And still works remarkably well considering. Bit like me, really.

Would something like this help? It seems to replace the Keyboard
driver in the DOS shell.
http://www.uni-bonn.de/~uzs180/FreeKEYB/frkb-eng.html

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!

Steve



This juxtaposition seems humorous… :slight_smile:

It’s a shame the download doesn’t work. I had a hard time parsing
that page anyway…

This Microsquish help page seems to describe your symptom,
perhaps it will be of help:
http://support.microsoft.com/?id=272719

But, I’m just shooting in the dark here.

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. :wink:

djm

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. :slight_smile: 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!

Steve

Crud, I’d misread that. That is seriously weird.

I know, I just smiled when I put those together out of context.

This program describes how to make the Euro show up…
http://www.columbia.edu/~em36/wpdos/eurodos.html#fullnt2000

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 :slight_smile: 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) :slight_smile:

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 :frowning:

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.

S

Hmmm. Maybe as a last resort, you could run a Virtual Machine
program, with a more suitable version of DOS running on the VM.

Whoops..so you did. I missed it :slight_smile:

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…

Cheers,

Dave

That’s just mean! Way to spelunk, Steve…

That’s just sick.
“I can bork that file in … 2 keystrokes!”