What is HKLM\System\CurrentControlSet\Services\KBDHID\Parameters\WorkNicely? What does this parameter control? Is it related to the user-generated BSOD/crash-control function?
There doesn’t seem to be any information about this on the Internet, the only search results that include it are of registry dumps of the key which of course say nothing about what it actually does.
It seems to default to 0 which from its name seems like the opposite of what would be desirable. My best guess is that instead of immediately performing a raw BSOD, it tries to avoid data-corruption by closing file and device handles before initiating the crash.
I happened to be looking over my blog just now and decided to look it up again. Curiously enough, there’s a website that has an answer which posted the same day as this Super User question about this, August 19, 2024.
Unfortunately, the linked sources are dead now that Microsoft has restructured its site and they weren’t archived on the Way Back Machine.
I posted an answer, expounding on the one given in that site.
(The only other relevant search-results is someone making a joke on one of Raymond Chen’s post on Old New Thing.)
The long and short of it is that setting it to 0 causes the KBDHID service to prioritize its own resource-allocation over that of other processes, ostensibly to ensure that the keyboard is always functional, likely to try to guarantee that Ctrl+Alt+Delete and/or Ctrl+Shift+Escape to access the lock-screen and to open the Task Manager, respectively, will always work. Likely also to ensure the CrashOnCtrlScroll function works for user-generated BSODs.
Setting it to 1 makes the system more stable overall, but might make the keyboard unresponsive if a process hangs. It's generally better to leave it at 0 unless debugging a nasty process that really freezes the system.
(Of note is that it only applies to KBDHID which governs USB keyboards that have to share resources with other devices, but not to i8042prt for PS/2 keyboards which have their own dedicated signal-line, IRQ, etc.)