Based on discussions in Kishy's
Terminal Keyboard conversion article, here are some instructions on dealing with the DDK (should you wish to modify and build your own i8042prt driver.)
Patches and Drivers:Files (32-bit, x86):x86 i8042prt.sys and diffsFiles (64bit, x64/AMD64):x64 i8042prt.sysx64 diffsDDK Files:Direct link(no login):http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.isoIndirect link:You may need to do is have a Windows Live ID(no charge) and be willing to add the Microsoft Connect service(no charge) to it. Once you have that, you should be able to grab the SDK you need, which is named "1830_usa_ddk.iso".
https://connect.microsoft.com/site148/Downloads/DownloadDetails.aspx?DownloadID=21028Should you wish to build your own:While I have to say that this is at your own risk, it isn't too hard if you are careful in your work.
First of all:
backup your i8042prt.sys in C:\windows\system32\drivers.
Second of all, have a USB keyboard handy should things go wrong.
Notes for x64 users:Additional patches are available. Sleep/Wake keyboard button support has been removed so that it can build. It is not necessary for 32-bit only users.
Install/Build/Result:Following the download, mount the iso image. Further instructions on doing so are out of the scope of this document.
Install:Select Custom install, go to samples -> input -> items relating to 8042 input sample and add those. If you want to add the USB one, go right ahead - but the relevant sample is the 8042 one.
Install to the default directory it gives you: (e.g. C:\WINDDK\3790.1830)
Modification:The files you need will be here if you installed with the default path.
C:\WINDDK\3790.1830\src\input\pnpi8042
Build:Open a command prompt, go to C:\WINDDK\3790.1830\bin\
Use Build x86 for 32-bit.
Use Build AMD64/x64 for 64-bit.
Build x86:setenv.bat C:\WINDDK\3790.1830 fre hal
Build AMD64/x64:setenv.bat C:\WINDDK\3790.1830 fre AMD64
From there, change directory to ..\src\input\pnpi8042
run build.exe with no options (or if you wish, add options)
Result:If build went through w/o error, it will be at:
C:\WINDDK\3790.1830\src\input\pnpi8042\daytona\objfre_wnet_x86\i8042prt.sys
(ignore any spaces inserted, that's the forum software)
Some helpful hints:Should you be working from .diff's, this may be helpful. This is not a complete guide to the format of the file, but it is enough to get the reader going.
PatchingI recommend hand-patching the files based on the diffs. Here's a quick way to determine how to do this if you wish to go this route.
If you're uncomfortable with that, a proper patching tool should not be hard to find.
At the start of a new source code file.
(For the purpose of my patches, these are separated out into individual files)--- pnpi8042.orig/kbddep.c 2005-03-24 14:24:00.000000000 -0500
+++ pnpi8042.dev/kbddep.c 2009-12-08 11:25:52.000000000 -0500
Lines that state where to begin editing in a specific source code file. The relevant number is the start number. In this example, it would be 427
@@ -427,6 +427,7 @@
Lines that start with minus are lines to delete, followed by lines that start with + which are lines to add. Replace the items to delete with the items to add at the line where the deleted code started.
- }
+ // [JCE] Resetting a terminal keyboard makes it send two ID bytes
Lines that only require adding code at the specified line in the source code.
+ // [JCE] Set all keys to give make/break codes. It seems that on a terminal