Forcing a System Crash from the Keyboard

In the MSDN Library http://msdn.microsoft.com/en-us/cc266483.aspx shows Microsoft two ways for a Manually initiated crash (BSOD 0xE2), the default and the alternate way.

For a PS/2 keyboard under Windows XP I have tested both ways, the default way runs, the alternate way does not run. I am interested why not.

The default way goes over HKLM\System\CurrentControlSet\Services\i8042prt\Parameters, create a value named CrashOnCtrlScroll and set it equal to a REG_DWORD value of 0x01. On the keyboard then press and hold the R_CTRL key and press two times the SCROLL LOCK key.

The alternate way :
HKLM\System\CurrentControlSet\Services\i8042prt, create a subkey crashdump. Under this subkey you must create the REG_DWORD values Dump1Keys and Dump2Key .
Dump1Keys can have 6 different values: 0x01 for R_SHIFT, 0x02 for R_CTRL, 0x04 for R_ALT, 0x10 for L_SHIFT, 0x20 for L_CTRL or 0x40 for L_ALT.
For Dump2Key you must first find out the ScanCode of a choosen key from your PS/2 keyboard.
With this ScanCode (e.g. 0x46 for SCROLL LOCK) you must go in a given IndexToScanCode table. There you must count down, e.g. to 0x46 and you find an index value 0x00. This index value you must entry in the registry under Dump2Key.

After this settings I have setted the CrashOnCtrlScroll value to 0 and in the new started Windows XP pressed and holded the R_CTRL key and two times pressed the SCROLL LOCK key.

At the default way the BSOD 0xE2 was coming immediately.
At the alternate way a BSOD was not coming.

Microsoft says not, how should be coded the Press&Hold and the TwicePress of the choosen keys. Is it irrelevant I press Dump2Key 1, 2 or 3x? I think it is not. But then is Microsofts description incomplete.

In Microsofts social.technet-forum I had no help for this problem. I think OSROnline?s WinDbg forum is a better place to ask.

I have no idea, but a good place to start looking might be the source for the pnpi8042 driver. I know that it was included at least as late as the 6001.180002 WDK; not sure after that.

In particular, I8xProcessCrashDump() (kbddep.c) seems relevant.

Good luck,

mm

Thank you for your advice, I will see.