Celeb Glow
general | March 13, 2026

Why does Windows still have the BSOD on Ctrl+Scroll+Scroll "feature"?

Background information

While Windows XP came out I heard about a testing feature that existed to manually cause a BSOD (Blue Screen Of Death). I also heard this was supposed to be removed in XP Service Pack 2. It didn't get removed. It's also in Vista, Windows 7, and all later Windows versions. To enable the feature, navigate to this Registry location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

Add CrashOnCtrlScroll as a REG_DWORD with the value of 1.

Next, reboot. Finally, press Right Ctrl+Scroll Lock+Scroll Lock on any PS/2-compatible keyboard. You'll get a BSOD.

My question

Why is this feature still here?

10

7 Answers

It's there to allow a break into the Kernel Debugger or generate a kernel-mode dump file. Typically an expert would want to do this when the OS looks locked up and won't even respond to CTRL+ALT+DELETE in order to get the dump file and investigate it for which driver is having trouble.

It's logically equivelent to calling the kernel API KeBugCheck with bugcheck 0xE2 (MANUALLY_INITIATED_CRASH). Also note that the reg values can be set in different reg keys for the USB (kbdhid) keyboard driver versus the ps2 (i8042prt) driver. There is more information on that and customizing which keystoke is used in KB Article 244139.

Since this is implemented in the actual keyboard drivers, I don't expect this would work from and RDP session even if it was enabled.

1

If we're generous, could it perhaps be used as an over-enthusiastic way of forcing a crash dump for manually investigating the system state? (primarily for debugging)

OK - a pretty weird way to do it, but...

1

Let's call it an easter egg.

Congratulations.....you found it!

This sounds like a fun practical joke, really.

4

I'd imagine Microsoft performs unit testing on their OS before releasing updates etc. Presumably one of the tests would be to see if BSOD still behaves as it should. It also makes sense to run unit tests on the real active code-version for a more reliable test.

1

You should watch Mark Russinovich's videos where he shows how to diagnose system hangs with this "feature". I think it was just set to off in SP2, not removed.

It sounds like something that wasn't worth the time and effort to remove from the codebase.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy