In a bout of nostalgia, I’ve wanted to do something with DOS again, so I installed the latest release of DOSBox 0.74 for Windows (it’s from 2010, so not that new). First thing I noticed was that some keys didn’t work, mostly on the right side of the keyboard (no backslash, right shift, brackets). I started the internal key mapper (Ctrl-F1) and noticed that while I could remap some of the bad keys, right shift didn’t seem to send any signal at all!
Google results were full of misleading instructions about environment variables to control SDL, the key mapper, or manually deleting keyboard drivers from C:\WINDOWS. None of those helped.
In the end, it turned out that it’s probably caused by my having an external keyboard connected to a laptop. The laptop keyboard gets recognized as “Standard PS/2 keyboard”, and the problem goes away when I force it to use the driver for “Standard PS/2 101/102 keyboard” through device manager. One reboot later, all the keys in DOSbox work as they should. Here’s hoping that I didn’t break anything else.