Browse Prior Art Database

Restoring Keyboard Indicator State After Disconnect

IP.com Disclosure Number: IPCOM000035996D
Original Publication Date: 1989-Aug-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 1 page(s) / 11K

Publishing Venue

IBM

Related People

Trinh, HC: AUTHOR

Abstract

This article describes a personal computer keyboard interrupt handler to detect the presence of basic assurance test (BAT) code generated each time the keyboard is plugged in. Indicator bits O, 1 and 2 are set to O, causing a mismatch to indicator bits 4, 5 and 6, forcing the keyboard interrupt handler to set the keyboard indicator according to the bit value in indicator bits 4, 5 and 6, thereby restoring the previous state.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 99% of the total text.

Page 1 of 1

Restoring Keyboard Indicator State After Disconnect

This article describes a personal computer keyboard interrupt handler to detect the presence of basic assurance test (BAT) code generated each time the keyboard is plugged in. Indicator bits O, 1 and 2 are set to O, causing a mismatch to indicator bits 4, 5 and 6, forcing the keyboard interrupt handler to set the keyboard indicator according to the bit value in indicator bits 4, 5 and 6, thereby restoring the previous state.

When a keyboard is disconnected and then plugged back in, the Cap Lock, Num Lock and Scroll Lock indicators are off irrespective of previous states. Therefore, the state of the keyboard does not match the indicators. For example, Cap Lock may be active even though the Cap Lock indicator is off.

To properly restore the indicators to the state prior to the disconnect of the keyboard, the keyboard interrupt handler (INT 9) must detect the presence of a BAT code (AA Hex) generated by the keyboard everytime it is plugged in.

Once a BAT code is detected, the indicator bits O, 1 and 2 of memory location 40:97 (keyboard LED flag or KB_FLAG_2) are set to O (cleared). This causes a mismatch with the indicator bits 4, 5, and 6 maintained at memory location 40:17 (keyboard control or KB_FLAG), which represents the state prior to the keyboard disconnect.

The mismatch will force the keyboard interrupt handler to set the keyboard indicator according to the bit value in memory location 40:17, thus restoring...