Difference between revisions of "I8042prt.sys"

From ReactOS Wiki
Jump to: navigation, search
(driver posted)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
i8042prt.sys is a driver for the ps/2 ports commonly found on pc's.
+
{{DISPLAYTITLE:i8042prt.sys}}
 +
<code>i8042prt.sys</code> is a driver for the ps/2 ports commonly found on pc's.
  
 
The ps/2 ports are controlled by a chip that was made by [http://www.intel.com/ Intel], the Intel 8042. It is some kind of a bus, that uses one port to talk to the controller and another one to talk to the devices. The devices have separate interrupts so they can notify the system when they have something to say. When that interrupt is received though, communication happens through the same port for both devices.
 
The ps/2 ports are controlled by a chip that was made by [http://www.intel.com/ Intel], the Intel 8042. It is some kind of a bus, that uses one port to talk to the controller and another one to talk to the devices. The devices have separate interrupts so they can notify the system when they have something to say. When that interrupt is received though, communication happens through the same port for both devices.
Line 5: Line 6:
 
This means that there has to be a driver that coordinates access to these devices, or there will be problems when for example you move your mouse while you press a key that turns on one of the keyboard leds.
 
This means that there has to be a driver that coordinates access to these devices, or there will be problems when for example you move your mouse while you press a key that turns on one of the keyboard leds.
  
The Windows i8042prt driver is pretty much documented on [http://msdn.microsoft.com/ MSDN]. Most of the documented stuff should work in the [[ReactOS]] driver too, so hopefully third-party drivers, like for touchpads and other weird mice, can be made to work.
+
The Windows i8042prt driver is pretty much documented on [http://msdn.microsoft.com/ MSDN]. Most of the documented stuff should work in the ReactOS driver too, so hopefully third-party drivers, like for touchpads and other weird mice, can be made to work.
  
 
==Progress report==
 
==Progress report==
The drivers work on [[Qemu]], [[VMware]] and on my own real hardware.
+
* The drivers work on [[QEMU]], [[VMware]] and on my own real hardware.
 +
* The drivers work during the installation
 +
* The debug hooks work
 +
* Communication with the win32k subsystem is now [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intinput/hh/intinput/kref_c761560c-3bcb-48ba-adc7-6dc19b616fa5.xml.asp like it is on windows]
 +
* Some testing has been done and newly exposed problems have been fixed.
 +
* The driver has been committed and the problems people have been experiencing have been fixed.
  
I've posted the patch [http://reactos.com/bugzilla/show_bug.cgi?id=596 here]
+
* I'm currently working on adding PNP support. This should simplify the mouse and keyboard class drivers a bit and make it easier to allow multiple keyboards and mice to be used.
 +
 
 +
{{Code history|drivers/input/i8042prt}}
 +
 
 +
 
 +
[[Category:Development]]
 +
[[Category:Drivers]]

Latest revision as of 07:32, 15 May 2014

i8042prt.sys is a driver for the ps/2 ports commonly found on pc's.

The ps/2 ports are controlled by a chip that was made by Intel, the Intel 8042. It is some kind of a bus, that uses one port to talk to the controller and another one to talk to the devices. The devices have separate interrupts so they can notify the system when they have something to say. When that interrupt is received though, communication happens through the same port for both devices.

This means that there has to be a driver that coordinates access to these devices, or there will be problems when for example you move your mouse while you press a key that turns on one of the keyboard leds.

The Windows i8042prt driver is pretty much documented on MSDN. Most of the documented stuff should work in the ReactOS driver too, so hopefully third-party drivers, like for touchpads and other weird mice, can be made to work.

Progress report

  • The drivers work on QEMU, VMware and on my own real hardware.
  • The drivers work during the installation
  • The debug hooks work
  • Communication with the win32k subsystem is now like it is on windows
  • Some testing has been done and newly exposed problems have been fixed.
  • The driver has been committed and the problems people have been experiencing have been fixed.
  • I'm currently working on adding PNP support. This should simplify the mouse and keyboard class drivers a bit and make it easier to allow multiple keyboards and mice to be used.

Commit history (Source code can be found in: /reactos/drivers/input/i8042prt)