1Intel 8042 port driver 2 3This directory contains a driver for Intels 8042 and compatible controllers. 4It is based on the information in the DDK documentation on MSDN. It is intended 5to be compatible with keyboard and mouse drivers written for Windows. It is 6not based on the i8042prt example driver that's included with the DDK. 7 8The directory contains these files: 9 10createclose.c: open/close devices functionnality 11 12i8042prt.c: Main controller functionality, things shared by keyboards and mice 13 14keyboard.c: keyboard functionality: detection, interrupt handling 15 16misc.c: misc things, mostly related to Irp passing 17 18mouse.c: mouse functionality: detection, interrupt handling, packet parsing for 19 standard ps2 and microsoft mice 20 21pnp.c: Plug&Play functionnality 22 23ps2pp.c: logitech ps2++ mouse packat parsing (basic) 24 25readwrite.c: read/write to the i8042 controller 26 27registry.c: registry reading 28 29setup.c: add keyboard support during the 1st stage setup 30 31i8042prt.rc: obvious 32 33 34Some parts of the driver make little sense. This is because it implements 35an interface that has evolved over a long time, and because the ps/2 36'standard' is really awful. 37 38Things to add: 39 40- Better AT (before ps2) keyboard handling 41- SiS keyboard controller detection 42- Mouse identification 43- General robustness: reset mouse if things go wrong 44- Handling all registry settings 45- ACPI 46 47Things not to add: 48 49- Other mouse protocols, touchpad handling etc. : Write a filter driver instead 50- Keyboard lights handling: Should be in win32k 51- Keyboard scancode translation: Should be in win32k 52 53Things requiring work elsewhere: 54 55- Debugger interface (TAB + key): 56 Currently this interface wants translated keycodes, which are not 57 implemented by this driver. As it just uses a giant switch with 58 hardcoded cases, this should not be hard to fix. 59 60- Class drivers: 61 The class drivers should be able to handle reads for more than one packet 62 at a time (kbdclass should, mouclass does not). Win32k should send such 63 requests. 64 65 66I put a lot of work in making it work like Microsofts driver does, so third party drivers can work. Please keep it that way. 67 68 69Links: 70 71Here's a link describing most of the registry settings: 72 73http://www.microsoft.com/resources/documentation/Windows/2000/server/reskit/en-us/Default.asp?url=/resources/documentation/Windows/2000/server/reskit/en-us/regentry/31493.asp 74 75PS/2 protocol documentation: 76 77http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html 78 79It also contains a link to a description of the ps2++ protocol, which has 80since disappeared. Archive.org still has it. 81