If my title led you to believe that I am anything less than a lover of using a keyboard with my computing resources, you were misled and I apologize. The keyboard remains the best input device ever created. It’s better than the mouse, it’s better than voice. There are some other ideas for user input that are innovative and special like the LEAP Motion, Myo, Kinnect. The keyboard is still better. It’s heresy to say this in today’s world of reverence for putting fingers on screens, but the keyboard is better than touch. To really get ideas captured, to write code, to interact with a machine, there has not been an improvement over the tried and true keyboard (Dvorak keyboard could arguably be considered an improvement – I haven’t gone to the effort to decide (but would love to hear from you in a comment if you have)).
There is something wrong, though, with keyboards as we have them. There are keys that serve no purpose. One of the problems of Microsoft is that they have had such devotion to backward compatibility that things have lingered around in Windows and such for much longer than needed. This has often been a detriment to forward progress. At least IE 6 is finally dying. The same is true of the typical, run-of-the-mill keyboard. I have complained about the keyboard on my MacBook Pro before, but this is a problem from which it does not suffer. This is a place where Apple is doing things right. A removal of the non-essential elements of the keyboard is a smart and excellent thing. They’ve gone too far with the likes of not having dedicated buttons for deleting to the left and the right of the cursor, so it’s not perfection, but at least they’ve made reasoned decisions and excluded some nonsense.
I had an instructor, Neill Kipp, for a class I took many years ago who said there was no purpose for the insert key and that it shouldn’t be on the keyboard. He argued that the only time it comes into question is when it is accidentally pressed and characters are inadvertently overwritten. I dissented and said that I had use for it and was glad it was there. This was true and I did occasionally switch to insert to overwrite a word or to the end of a line (like you would use cw or c$ in VI). It was a small minority of the time, though. In fact, it was less than the times I had pressed the key mistakenly and had to backtrack after overwriting things I wanted to keep. Neill was right – that key doesn’t belong.
I came across a problem using my command line a while ago. In ConEmu (which is a nice place to run PowerShell, by the way), I was noticing that the arrow keys, rather than listing my recent command input, started behaving in strange ways and scrolling my console window rather populating my command line with prior commands. I was shocked and dismayed and quite emotional about it. I found the answer in a post by Joseph Lust and the Scroll Lock key was the problem. Inadvertently pressing this key caused me much pain and heartache and was a problem for which I had to resort to Google to resolve. My life would be better if that key just faded and disappeared from existence (like it would if it used a Delorian to travel to the past and it’s mother fell in love with it instead of with its father).
Thus, I propose the removal of the Insert, Scroll Lock, and Print Screen keys from all new keyboards. Life would be better and hunger would end. Yes, I know Resharper’s use of Ctrl-insert is a big improvement to Visual Studio’s creation of classes and other project types (but it doesn’t have to be that key – that functionality could work with another key combination). And yes, I know the Insert key can be used in a sequence for pasting copying content (but do you really need two ways to do that?) And yes, I understand that screenshot functionality uses Print Screen (but it doesn’t have to use that key, there are plenty of other combinations available). Who’s with me?