The input locale does not type the chosen keyboard mapping in the MS-DOS window (262283)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Workstation 4.0

This article was previously published under Q262283
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SUMMARY

When you use an alternate input locale with certain MS-DOS programs, the keyboard does not map characters, as expected.

MORE INFORMATION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

The 16-bit command prompt support for localized keyboards and characters requires keyboard mapping substitutions for certain languages. This behavior is observed only when you run previous 16-bit programs, not when you run 32-bit console-mode programs.

To determine which American National Standards Institute (ANSI) 16-bit MS-DOS keyboard layout is in use:
  1. View the following registry value to determine your current locale ID (LCID):

    HKEY_Current_User\Keyboard Layout\Preload\1 value

  2. View the following registry value to determine if the LCID in use has a defined substitute:

    HKEY_Current_User\Keyboard Layout\Substitutes\LCID

    NOTE: A subkey is not listed with your LCID if locale substitution is unnecessary.
  3. Locate your LCID or LCID substitute in the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes

    This key value is the two-letter MS-DOS keyboard code in use. The following list of country/region codes and MS-DOS keyboard mappings can help you identify a more suitable keyboard configuration. It is recommended that changes to Regional Settings be completed in Control Panel rather than directly in the registry.
The Kb16.com utility, previously known as the Keyb.com utility, starts automatically when a 16-bit MS-DOS program starts. In some situations, the keyboard mapping used with the Kb16.com utility differs from the 32-bit mapping. If the 16-bit mapping that you want is unavailable, you can use a third-party keyboard definition file as an argument with the Kb16.com utility. For example:

KEYB [xx[,[yyy][,[drive:][path]filename]]] [/E] [/ID:nnn]

  • Where xx specifies a two-letter keyboard code.
  • Where yyy specifies the code page for the character set.
  • Where drive, path, and filename are the hard disk letter, folder path, and file name for an external keyboard definition file.
  • Where /E specifies that an enhanced keyboard is installed.
  • Where /ID:nnn specifies the keyboard in use.
NOTE: Microsoft does not provide external definition files.

The following mode commands are code-page related:

Select code page: mode con[:] cp select=yyy
Code page status: mode con[:] cp [/status]

The following list shows the two-letter keyboard code for each country/region name:
  • Australia=us
  • Austria=gr
  • Belgium=be
  • Bosnia/Herzegovina=yu
  • Brazil=br
  • Bulgaria=bg
  • Canada French=cf
  • Canada English=cf
  • Chile=la
  • Colombia=la
  • Croatia=yu
  • Czech Republic=cz
  • Denmark=dk
  • Ecuador=la
  • Finland=su
  • France=fr
  • Germany=gr
  • Greece=gk
  • Hungary=hu
  • Iceland=is
  • Ireland=uk
  • Italy=it
  • Japan=jp
  • Latin America=la
  • Former Yugoslav Republic of Macedonia=yc
  • Mexico=la
  • Netherlands=nl
  • New Zealand=us
  • Norway=no
  • Poland=pl
  • Portugal=po
  • Romania=ro
  • Russia=ru
  • Serbia/Montenegro=yc
  • Slovakia=sl
  • Slovenia=yu
  • South Africa=us
  • Spain=sp
  • Sweden=sv
  • Switzerland=sf
  • Turkey=tr
  • United Kingdom=uk
  • United States=us
  • Venezuela=la
The documented valid values for the XX two-letter keyboard code argument that are listed in the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes registry are:
  • 00000402="bg"
  • 00000404="ch"
  • 00000405="cz"
  • 00000406="dk"
  • 00000407="gr"
  • 00000408="gk"
  • 00000409="us"
  • 0000040A="sp"
  • 0000040B="su"
  • 0000040C="fr"
  • 0000040E="hu"
  • 0000040F="is"
  • 00000410="it"
  • 00000411="jp"
  • 00000412="ko"
  • 00000413="nl"
  • 00000414="no"
  • 00000415="pl"
  • 00000416="br"
  • 00000418="ro"
  • 00000419="ru"
  • 0000041A="yu"
  • 0000041B="sl"
  • 0000041C="us"
  • 0000041D="sv"
  • 0000041F="tr"
  • 00000422="us"
  • 00000423="us"
  • 00000424="yu"
  • 00000425="et"
  • 00000426="us"
  • 00000427="us"
  • 00000804="ch"
  • 00000807="sg"
  • 00000809="uk"
  • 0000080A="la"
  • 0000080C="be"
  • 00000813="be"
  • 00000816="po"
  • 00000C0C="cf"
  • 00000C1A="us"
  • 00001009="us"
  • 0000100C="sf"
  • 00001809="us"
  • 00010402="us"
  • 00010405="cz"
  • 00010407="gr"
  • 00010408="gk"
  • 00010409="dv"
  • 0001040A="sp"
  • 0001040E="hu"
  • 00010410="it"
  • 00010415="pl"
  • 00010419="ru"
  • 0001041B="sl"
  • 0001041F="tr"
  • 00010426="us"
  • 00010C0C="cf"
  • 00010C1A="us"
  • 00020408="gk"
  • 00020409="us"
  • 00030409="usl"
  • 00040409="usr"
  • 00050408="gk"
The documented valid values for the (optional) /Id: argument that are listed in the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs registry are:
  • 00000410="141"
  • 0000041F="179"
  • 00010408="220"
  • 00010410="142"
  • 00010415="214"
  • 0001041F="440"
  • 00020408="319"
A list of common OEM code pages (optionally used in the YYY parameter):
  • 437 (US)
  • 720 (Arabic)
  • 737 (Greek)
  • 775 (Baltic)
  • 850 (Western Europe)
  • 852 (Central Europe)
  • 855 (Cyrillic)
  • 857 (Turkish)
  • 862 (Hebrew)
  • 866 (Cyrillic II)
The following code pages are used as both Windows ANSI and OEM code pages:
  • 874 (Thai)
  • 932 (Japanese Shift-JIS)
  • 936 (Simplified Chinese GBK)
  • 949 (Korean)
  • 950 (Traditional Chinese Big5)
  • 1258 (Viet Nam)
For information about international computer-related topics, please see the following Microsoft Web site:

Modification Type:MinorLast Reviewed:1/18/2006
Keywords:kbenv kbinfo KB262283