Was this page helpful?
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Keyboard Input Issues

Published: June 11, 2010

Updated: June 11, 2010

Applies To: Windows 7, Windows Vista

There are several known keyboard input issues addressed by the Compatibility Administrator using compatibility fixes and compatibility modes.


Fix Name Symptom Fix Description


You receive an error message stating "Unexpected Error" when you attempt to type logon information.

Returns the same device context (DC) for a particular drawing device returned by DirectDraw, and then reverts the behavior when GDI functions are called. The Microsoft Windows®°95 operating system, the Microsoft Windows®°98 operating system, and the Microsoft Windows®°2000 Professional operating system cache DirectDraw DC handles internally. This guarantees that the same DC is returned for a device drawing area, regardless of how many times it was released and acquired.


The application does not display the shortcut keys correctly.

Disables Keyboard Cues messages.


The application window becomes blank when you use the ALT+TAB key combination.

Disables the ALT+TAB, CTRL+ESC, ALT+ESC key combinations, and the Windows key because many applications written for Windows 95 and Windows 98 were not designed to use these keys and key combinations.

CTRL+ALT+DEL cannot be ignored in Windows XP Professional.


The application stops responding if you use the SHIFT key, CTRL key, or the ALT key 5 times or more in succession.

Disables the Sticky Keys option at application startup, re-enabling it when the application closes.


The keyboard locks up during normal operation.

Modifies the following APIs to emulate Windows 95 and Windows 98:

  • SetWindowsHookEx

  • SetWindowLong

  • RegisterClass

  • ChangeDisplaySettings/ChangeDisplaySettingsEx

  • ToAscii/ToAsciiEx

  • GetMessage/PeekMessage

  • ShowWindow

In addition, this compatibility fix causes the palette state to persist through mode changes.


The keyboard is sluggish or does not function, and the system becomes generally unresponsive.

Modifies the SetThreadPriority function so that if a new priority is THREAD_PRIORITY_TIME_CRITICAL, it is changed to THREAD_PRIORITY_HIGHEST. It also modifies the SetPriorityClass function so that if the new priority is HIGH_PRIORITY_CLASS or REALTIME_PRIORITY_CLASS, it is changed to NORMAL_PRIORITY_CLASS.

See Also

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft