This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
When you press the Windows key on your Universal Serial Bus (USB) keyboard, the key may not work.
This issue can occur if all of the following conditions exist:
The USB keyboard is the only keyboard attached to your computer.
The information (.inf) file used for installing the keyboard driver did not add the proper setting to the System.ini file to correctly identify the keyboard type.
Your computer is a contains no legacy devices, having only USB ports for a keyboard and mouse, and has no PS/2-based keyboard and mouse ports.
To resolve this issue, contact the manufacturer of your USB keyboard to inquire about the availability of a fix for this issue.
To work around this issue, either click Start, press CTRL+ESC, or edit the System.ini file:
Verify that the following line exists in the [Keyboard] section of the System.ini file, and if does not exist, add it:
To view the System.ini file, click Start, click Run, type sysedit, click System.ini, and then view the contents of the [Keyboard] section. If the line exists, skip the remaining steps. If the line does not exist, continue to the next step.
Add the following line to the [Keyboard] section of the System.ini file:
On the File menu, click Save, quit the System Configuration Editor, and then restart your computer.
If a USB keyboard is the only keyboard attached to your computer when you start it, the keyboard may not be automatically identified as the correct type of keyboard. The "type=4" setting in the [Keyboard] section of the System.ini file overrides this automatic detection, so that Windows may correctly interpret the keyboard scan codes. The keyboard is being detected as an IBM AT keyboard ("type 3" to the Keyboard.drv file), instead of being detected as an extended keyboard ("type 4"). Because of this, the keyboard driver is not able to correctly process the extended scan codes that this extended keyboard type is generating.
This System.ini setting is necessary (in this example) because the normal automatic check for an extended keyboard (checking the flag at 40:96) does not indicate that this is an extended keyboard. Note that this would normally be set by the 8042 keyboard controller when your computer starts.