📄 jiurl键盘驱动 3.htm
字号:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (17)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>i8042 isr (mou): (200)<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xd4 to command port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf3 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (16)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xc8 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (17)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>i8042 isr (mou): (200)<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xd4 to command port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf3 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (16)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0x50 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (17)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>i8042 isr (mou): (80)<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xd4 to command port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf2 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (27)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>i8042 isr (mou): exit<BR>i8042 isr
(mou): enter<BR>8042: I8xGetByteAsynchronous: enter<BR>8042:
I8xGetByteAsynchronous: mouse<BR>8042: I8xGetByteAsynchronous: exit with
Byte 0x3<BR>i8042 isr (mou): byte 0x3<BR>i8042 isr (mou): state (5)
substate (28)<BR>i8042 isr (mou): got a device ID of 3<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xd4 to command port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf3 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (29)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0x3c to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (30)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xe8 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (32)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending 0x3
to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr (mou):
exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (33)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>8042: I8xPutByteAsynchronous:
enter<BR>8042: I8xPutByteAsynchronous: sending 0xd4 to command
port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf4 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>i8042 isr
(mou): exit<BR>i8042 isr (mou): enter<BR>8042: I8xGetByteAsynchronous:
enter<BR>8042: I8xGetByteAsynchronous: mouse<BR>8042:
I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr (mou): byte
0xfa<BR>i8042 isr (mou): state (5) substate (31)<BR>i8042 isr (mou):
expecting ACK (0xfa), got 0xfa<BR>i8042 isr (mou): exit<BR>8042:
I8xPutBytePolled: exit<BR>8042: I8042StartIo: exit<BR>8042: synch routine
enter<BR>8042: I8042CompletionDpc: enter<BR>8042: I8042CompletionDpc:
mouse reset complete<BR>8042: I8042CompletionDpc: exit<BR><BR>8042:
I8xMouseStartDevice successful<BR>8042: I8xMouseStartDevice exit
(0x0)<BR><BR>8042: I8xPnP (mou) exit (status=0x0)<BR>8042: I8xPnP (mou),
enter (min func=0x9)<BR>8042: I8xPnP (mou) exit (status=0x0)<BR>8042:
I8xPnP (mou), enter (min func=0x9)<BR>8042: I8xPnP (mou) exit
(status=0x0)<BR>8042: I8xPnP (mou), enter (min func=0x14)<BR>8042: I8xPnP
(mou) exit (status=0x0)<BR>8042: I8xPnP (mou), enter (min
func=0x7)<BR>8042: I8xPnP (mou) exit (status=0x0)<BR><BR>[注释]
kbdclass!KeyboardClassFindMorePorts<BR>jiurl
KeyboardClassFindMorePorts<BR>jiurl
KbdDeterminePortsServiced<BR>KBDCLASS-KbdDeterminePortsServiced:
RtlQueryRegistryValues failed with 0xc0000034
<P><IMG src="JIURL键盘驱动 3.files/init2.gif" border=0>
<P>[注释] ps/2 鼠标的调试信息,我们不关心<BR>8042: Create enter<BR>8042: Enabling Mouse
(1)<BR>8042: Create (0)<BR>8042: IOCTL: enter<BR>8042: IOCTL: mouse query
attributes<BR>8042: IOCTL: exit (0x0)<BR>8042: I8xPnP (mou), enter (min
func=0x7)<BR>8042: I8xPnP (mou) exit (status=0x0)<BR><BR>[注释]
IRP_MJ_CREATE<BR>jiurl
KeyboardClassCreate<BR>KBDCLASS-KeyboardClassCreate: enter<BR>jiurl
KbdEnableDisablePort<BR>KBDCLASS-KbdEnableDisablePort: enter<BR>jiurl
KeyboardSendIrpSynchronously<BR>8042: Create enter<BR>8042: Enabling
Keyboard (1)<BR>jiurl KbdSyncComplete<BR>8042: Create
(0)<BR>KBDCLASS-KbdEnableDisablePort:
exit<BR>KBDCLASS-KeyboardClassOpenClose: exit<BR><BR>[注释]
IRP_MJ_DEVICE_CONTROL IOCTL: IOCTL_KEYBOARD_QUERY_ATTRIBUTES<BR>jiurl
KeyboardClassDeviceControl<BR>KBDCLASS-KeyboardClassDeviceControl:
enter<BR>8042: IOCTL: enter<BR>8042: IOCTL: keyboard query
attributes<BR>8042: IOCTL: exit
(0x0)<BR>KBDCLASS-KeyboardClassDeviceControl: exit<BR><BR>[注释] IRP_MJ_PNP
IRP_MN_QUERY_DEVICE_RELATIONS<BR>jiurl KeyboardPnP<BR>8042: I8xPnP (kb),
enter (min func=0x7)<BR>8042: I8xPnP (kb) exit (status=0x0)<BR><BR>[注释]
IRP_MJ_READ<BR>jiurl KeyboardClassRead<BR>KBDCLASS-KeyboardClassRead:
enter<BR>jiurl KeyboardClassStartIo<BR>KBDCLASS-KeyboardClassStartIo:
enter<BR>KBDCLASS-KeyboardClassStartIo: DataIn 0xfe4f5908, DataOut
0xfe4f5908<BR>KBDCLASS-KeyboardClassStartIo: entries in queue
0<BR>KBDCLASS-KeyboardClassStartIo: exit<BR>KBDCLASS-KeyboardClassRead:
exit<BR><BR>[注释] IRP_MJ_DEVICE_CONTROL IOCTL:
IOCTL_KEYBOARD_QUERY_INDICATORS<BR>jiurl
KeyboardClassDeviceControl<BR>KBDCLASS-KeyboardClassDeviceControl:
enter<BR>8042: IOCTL: enter<BR>8042: IOCTL: keyboard query
indicators<BR>8042: IOCTL: exit
(0x0)<BR>KBDCLASS-KeyboardClassDeviceControl: exit<BR><BR>[注释]
IRP_MJ_DEVICE_CONTROL IOCTL: IOCTL_KEYBOARD_SET_INDICATORS<BR>jiurl
KeyboardClassDeviceControl<BR>KBDCLASS-KeyboardClassDeviceControl:
enter<BR>8042: IOCTL: enter<BR>8042: IOCTL: keyboard set
indicators<BR>8042: I8042StartIo: enter<BR>8042: I8xControllerRoutine:
keyboard set indicators<BR>8042: I8042StartIo: exit<BR>8042: IOCTL: exit
(0x103)<BR>KBDCLASS-KeyboardClassDeviceControl: exit<BR><BR>[注释]
IRP_MJ_DEVICE_CONTROL IOCTL: IOCTL_KEYBOARD_SET_TYPEMATIC<BR>jiurl
KeyboardClassDeviceControl<BR>KBDCLASS-KeyboardClassDeviceControl:
enter<BR>8042: IOCTL: enter<BR>8042: IOCTL: keyboard set
typematic<BR>8042: I8042StartIo: enter<BR>8042: I8xControllerRoutine:
keyboard set typematic<BR>8042: I8xConvertTypematicParameters:
enter<BR>8042: I8xConvertTypematicParameters: exit<BR>8042: I8xInitiateIo:
enter<BR>8042: I8xInitiateIo: sending byte #0 (0xf3)<BR>8042:
I8xPutByteAsynchronous: enter<BR>8042: I8xPutByteAsynchronous: sending
0xf3 to data port<BR>8042: I8xPutByteAsynchronous: exit<BR>8042:
I8xInitiateIo: exit<BR>i8042 isr (kb): enter<BR>8042:
I8xGetByteAsynchronous: enter<BR>8042: I8xGetByteAsynchronous:
keyboard<BR>8042: I8xGetByteAsynchronous: exit with Byte 0xfa<BR>i8042 isr
(kb): scanCode 0xfa<BR>i8042 isr (kb): : ACK, i8042 isr (kb): now initiate
send of byte #1<BR>8042: I8xInitiateIo: enter<BR>8042: I8xInitiateIo:
sending byte #1 (0x20)<BR>8042: I8xPutByteAsynchronous: enter<BR>8042:
I8xPutByteAsynchronous: sending 0x20 to data port<BR>8042:
I8xPutByteAsynchronous: exit<BR>8042: I8xInitiateIo: exit<BR>i8042 isr
(kb): exit<BR>i8042 isr (kb): enter<BR>8042: I8xGetByteAsynchro
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -