UK Keyboard for DOS under Vista

Hat’s off to Microsoft – they have maintained backward compatibility through numerous operating systems since 1981. Even Vista can run ancient DOS applications, although Microsoft doesn’t go out of its way to explain how.

Are you having problems with DOS programs where the keyboard doesn’t always come up with the right symbols? This is because DOS programs under Vista are assumed to be using an American keyboard layout. To change this you have to dig a bit.

There’s an equivalent to AUTOEXEC.BAT called AUTOEXEC.NT in C:\WINDOWS\system32. This won’t be news to many, it’s been around for a while. From inside this you can load the appropriate keyboard driver in the same way as you did under DOS – i.e. keyb uk

Except you can’t – they’ve renamed keyb kb16. Good name, eh?

So to get a UK keyboard back I’ve found that adding the line:

kb16 UK,850,C:\windows\system32\keyboard.sys

to

C:\windows\system32\autoexec.nt

does the trick. If you’re in some other country, you could try your two-letter country code in place of UK. 850 refers to the code page.

The probably works with Windows 7. Now that I’m just getting used to Vista.

3 Replies to “UK Keyboard for DOS under Vista”

  1. Neither keyb nor kb16 seem to exist in Windows ME. Any idea how to change the keyboard layout without reinstalling everything? (The initial setup of the OS asks for the layout)

  2. Many thanks for your explanation of this. I’ve just been having to roll out our old DOS Apps via a 2008 32-bit Terminal Server, as we’re switching workstations up to 64-bit Win 7. Really appreciate you posting this – I’ve had no end of complaints today since ‘£’ symbols were ‘#’, etc! The staff might be a little happier tomorrow now! Thanks a lot for sharing the knowledge – most appreciated :D

Leave a Reply

Your email address will not be published. Required fields are marked *