BUG: Locked Keyboard When SHIFT or CTRL Key Is Pressed

Last reviewed: November 20, 1995
Article ID: Q139293
The information in this article applies to:
  • Microsoft Windows Device Development Kit (DDK) for Windows 95, version 4.0

SYMPTOMS

The keyboard driver sample in the Windows 95 DDK as of November 1995 includes the DDL code for Kbd.drv which is intended to be substituted for the Keyboard.drv in System.ini. In other words, use "KEYBOARD.DRV=KBD.DRV" to test it. It is in the Keyb\Samples\DriverS subdirectory. Unfortunately, there is a bug in the sample code that, when made, locks up the operating system when SHIFT or CTRL keys are pressed.

CAUSE

There is an indirect call to Int16 in the file Toascii.asm. You can find it near the end of the file by searching for [LightsAddr]. The call requires AH to be set to 0x01 but the register is not loaded with any value.

RESOLUTION

Insert a line immediately before the line that places an indirect call to Int16 in the file Toascii.asm to load the register:

   MOV AH,1  ;bug fix

This had been tested successfully.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

REFERENCES

MicroSoft 1995 DDK for Windows 95 on MSDN


Additional reference words: 4.00 win95
KBCategory: kbprg kbbuglist
KBSubcategory:


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 20, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.