I never use caps lock, in fact, I usually disable it. Remember, we use VNC to monitor our SuperLab computers, so the kind of special event marking I’m talking about would generally come in that way. The use of shift keys for this is simply a stratagem so that the experiment control program can be configured to respond differently to a “q” than to a “Q”, and so we can spot them more easily in logfiles.
But yes, I’m sure we could live quite well without case sensitivity in single-key mode. In fact, since I am using an external switch-to-keyboard emulator, I routinely achieve case insensitivity by programming the switch inputs all to be digits.
Just to keep gnawing this bone, it seems to me that as much as possible, the “raw” keys should be responses in single-key mode. Therefore, alphabetics would be case-insensitive, but you would not be able to distinguish between a “5” and a “%” either, and a “shift” would be a response in and of itself. The setting of capslock and numlock, or of shift, ctrl, option, alt, fn, or any other modifier would not matter, except that each time one of those keys was pressed, it would be a response.
Obviously, in a dedicated machine, this is simple, but in a high-level OS, it can either be simple or basically impossible, depending on the API. But it seems to me that it would be the ideal method.