Microsoft KB Archive/927824

From BetaArchive Wiki

Article ID: 927824

Article Last Modified on 3/28/2007



APPLIES TO

  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Starter
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Enterprise 64-bit edition



Important This article contains information about how to modify the registry. Make sure that you 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


SYMPTOMS

When you connect a USB keyboard to a computer that is running Windows Vista, Windows Vista may not use the correct keyboard layout.

For example, if you connect a USB Japanese 106/109 keyboard to the computer, or if you connect a USB ten-key keyboard to the computer, Windows Vista may use the device as if it has an English 101/102 keyboard layout.

CAUSE

This problem may occur if one of the following conditions is true:

  • The USB keyboard has a chip that has the "Plug and Play ID" defined as "USB English 101/102 keyboard."


Some USB Japanese 106/109 keyboards have an English 101/102 keyboard chip that also shares the "Plug and Play ID." If you connect this kind of USB Japanese 106/109 keyboard to the computer, Windows Vista identifies it as an English device. Therefore, Windows Vista changes the system keyboard layout to English 101/102.

  • The "Plug and Play ID" for the USB keyboard is not defined in the Keyboard.inf file.


If the "Plug and Play ID" for the USB keyboard is not defined in the Keyboard.inf file, Windows Vista cannot identify the keyboard model. When you connect this kind of keyboard, Windows Vista uses the default keyboard layout setting that was configured when you installed Windows Vista. For example, this problem may occur if you connect a Japanese 106/109 keyboard or if you connect a USB ten-key keyboard.

  • Windows Vista does not identify the keyboard correctly.


Under certain conditions, the actual keyboard layout that you use becomes unsynchronized with the keyboard layout that is defined by Windows Vista. You are more likely to experience this problem when you use a generic USB keyboard. This problem occurs because of how Windows Vista maps the generic USB keyboard to the keyboard layout that you select.


RESOLUTION

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 the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To resolve this problem, configure the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry subkey to have the registry entries that appear in the following table.

Value name Value type Value data
LayerDriver JPN REG_SZ kbd106.dll
OverrideKeyboardIdentifier REG_SZ PCAT_106KEY
OverrideKeyboardSubtype DWORD 2
OverrideKeyboardType DWORD 7

Note For more information about the corresponding registry entries for English USB keyboards and for Korean USB keyboards, see the "More Information" section.

To configure these registry entries, follow these steps:

  1. Click Start[GRAPHIC: Start button], type regedit in the Start Search box, and then click regedit in the Programs list.

    [GRAPHIC: User Account Control permission ] If you are prompted for an administrator password or for confirmation, type the password, or click Continue.
  2. Locate and then click the following registry subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

  3. Right-click LayerDriver JPN, and then click Modify.

    Note If the LayerDriver JPN registry entry does not exist, create it. To do this, right-click a blank area in the details pane, point to New, and then click String Value. Then, type LayerDriver JPN to name the new string value.
  4. In the Value data box, delete the existing value, type kbd106.dll, and then click OK.
  5. Right-click OverrideKeyboardIdentifier, and then click Modify.

    Note If the OverrideKeyboardIdentifier registry entry does not exist, create it. To do this, right-click a blank area in the details pane, point to New, and then click String Value. Then, type OverrideKeyboardIdentifier to name the new string value.
  6. In the Value data box, delete the existing value, type PCAT_106KEY, and then click OK.
  7. Right-click OverrideKeyboardSubtype, and then click Modify.

    Note If the OverrideKeyboardSubtype registry entry does not exist, create it. To do this, right-click a blank area in the details pane, point to New, and then click DWORD (32-bit) Value. Then, type OverrideKeyboardSubtype to name the new DWORD value.
  8. In the Value data box, delete the existing value, type 2, and then click OK.
  9. Right-click OverrideKeyboardType, and then click Modify.

    Note If the OverrideKeyboardType registry entry does not exist, create it. To do this, right-click a blank area in the details pane, point to New, and then click DWORD (32-bit) Value. Then, type OverrideKeyboardType to name the new DWORD value.
  10. In the Value data box, delete the existing value, type 7, and then click OK.
  11. Exit Registry Editor. Then, restart the computer.

Note If the keyboard does not work as expected after you restart the computer, you may have made a typographical error when you modified these registry settings. To work around this problem, use the on-screen keyboard to log on to the computer, and then verify the registry settings.

MORE INFORMATION

English and Korean keyboard registry entries

English US 101/102-key keyboard

The following table illustrates the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry entries for an English US 101/102 key USB keyboard.

Value name Value type Value data
LayerDriver JPN REG_SZ kbd101.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101KEY
OverrideKeyboardSubtype DWORD 0
OverrideKeyboardType DWORD 7

Korean 101-key Type 1 USB keyboard

The following table illustrates the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry entries for a Korean 101-key Type 1 USB keyboard.

Value name Value type Value data
LayerDriver KOR REG_SZ kbd101a.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101AKEY
OverrideKeyboardSubtype DWORD 3
OverrideKeyboardType DWORD 8

Korean 101-key Type 2 USB keyboard

The following table illustrates the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry entries for a Korean 101-key Type 2 USB keyboard.

Value name Value type Value data
LayerDriver KOR REG_SZ kbd101b.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101BKEY
OverrideKeyboardSubtype DWORD 4
OverrideKeyboardType DWORD 8

Korean 101-key Type 3 USB keyboard

The following table illustrates the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry entries for a Korean 101-key Type 3 USB keyboard.

Value name Value type Value data
LayerDriver KOR REG_SZ kbd101c.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101CKEY
OverrideKeyboardSubtype DWORD 5
OverrideKeyboardType DWORD 8

Korean 103/106-key USB keyboard

The following table illustrates the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters registry entries for a Korean 103/106-key USB keyboard.

Value name Value type Value data
LayerDriver KOR REG_SZ kbd103.dll
OverrideKeyboardIdentifier REG_SZ PCAT_103KEY
OverrideKeyboardSubtype DWORD 6
OverrideKeyboardType DWORD 8

Steps for a PS/2 keyboard

The "Resolution" section describes how to resolve this problem if you have a USB keyboard. If you experience a problem that resembles this problem, and if you have a PS/2 keyboard, you must use different steps to resolve the problem. To resolve this problem when you have a PS/2 keyboard, follow these steps:

  1. Click Start[GRAPHIC: Start button], type Device Manager in the Start Search box, and then click Device Manager in the Programs list.


[GRAPHIC: User Access Control permission] If you are prompted for an administrator password or for confirmation, type your password, or click Continue.

  1. In Device Manager, expand Keyboards, and then double-click the keyboard device. By default, this is Standard 101/102-Key or Microsoft Natural PS/2 Keyboard.
  2. Click the Driver tab, and then click Update Driver.
  3. Click Browse my computer for driver software, and then click Let me pick from a list of device drivers on my computer.
  4. Click to clear the Show compatible hardware check box, and then click Japanese PS/2 keyboard (106/109 key).
  5. Click Next, click Yes if you receive an update driver warning message, and then follow the remaining steps to update the keyboard.
  6. Restart the computer.

Note If you later connect an English 101/102 keyboard to the computer, modify these steps to configure Windows Vista to use the Standard 101/102-Key or Microsoft Natural PS/2 Keyboard device.

Keywords: kbexpertisebeginner kbhardware kbtshoot kbprb KB927824