PI8042_KEYBOARD_ISR callback function

A PI8042_KEYBOARD_ISR-typed callback routine customizes the operation of the I8042prt keyboard ISR.

Syntax

PI8042_KEYBOARD_ISR Pi8042KeyboardIsr;

BOOLEAN Pi8042KeyboardIsr(
  PVOID IsrContext,
  PKEYBOARD_INPUT_DATA CurrentInput,
  POUTPUT_PACKET CurrentOutput,
  UCHAR StatusByte,
  PUCHAR Byte,
  PBOOLEAN ContinueProcessing,
  PKEYBOARD_SCAN_STATE ScanState
)
{...}

Parameters

IsrContext

Pointer to the filter device object of the driver that supplies a callback.

CurrentInput

Pointer to the input KEYBOARD_INPUT_DATA structure that is being constructed by the ISR.

CurrentOutput

Pointer to an OUTPUT_PACKET structure, which specifies an array of bytes that is being written to the hardware device.

StatusByte

Specifies the status byte that is read from I/O port 60 when an interrupt occurs.

Byte

Specifies the data byte that is read from I/O port 64 when an interrupt occurs.

ContinueProcessing

Specifies, if TRUE, that processing in the I8042prt keyboard ISR will continue after this callback completes. Otherwise, processing does not continue.

ScanState

Pointer to a KEYBOARD_SCAN_STATE enumeration value, which identifies the keyboard scan state.

Return Value

A PI8042_KEYBOARD_ISR callback returns TRUE if the I8042prt keyboard ISR should continue; otherwise it returns FALSE.

Remarks

A PI8042_KEYBOARD_ISR callback is not needed if the default operation of the I8042prt keyboard ISR is sufficient.

An optional, vendor-supplied, upper-level keyboard filter driver can provide a PI8042_KEYBOARD_ISR callback. The I8042prt ISR calls the callback after it validates the interrupt and reads the scan code.

The PI8042_KEYBOARD_ISR callback runs in kernel mode at the IRQL of the I8042prt keyboard ISR.

Requirements

   
Target Platform Desktop
Header ntdd8042.h (include Ntdd8042.h)
IRQL See Remarks section.

See Also

KEYBOARD_INPUT_DATA

KEYBOARD_SCAN_STATE

KbFilter_IsrHook

OUTPUT_PACKET

PI8042_KEYBOARD_ISR