More and more keyboards don't have independent keys which can be salvaged. The switch contacts are part of the circuit board. Older keyboards often don't have as good keys. The one resource I know of, which I hope is still around and still sells separate keys, is
Cherry Electrical Products Corp.
3600 Sunset Avenue
Waukegan, IL 60087
Also, keyboard electronics I've seen don't allow for number keys or many punctuation keys to have Control or Alt meanings. So if they are programmed as letters, such as in programming for Dvorak, where comma, period and slash become W, V and Z(?), Control or Alt meanings for these letters must be elsewhere. Newer keyboards may be different.
I've recently found a good set of keyboard electronics on its own separate 2x4" circuit board. Unfortunately, it was in a no-name keyboard, so there's no way I can identify it. I have four of them though, and I might be willing to sell a couple. A technician gave them to me because the keys were undependable, contacts printed on a mylar sheet.
Now I've also found a system that makes connections easier, eliminating some soldering and making it possible to change connections without desoldering. I can give more details if anyone's interested. I hope to build another keyboard if I can find some good keys.
It would be fairly easy to make a keyboard which produces all ASCII characters using only nine finger keys for one hand and ten for the other (depending on design of keyboard interpreter chip), plus shift and control under the thumbs, and only involving rewiring keys. The catch is that the finger, or character, keys must be hit always in combinations of one left-hand and one right-hand key to produce one character. The "vertical" and "horizontal" lines of the keyboard matrix would all attach, through keyswitches, to one central node, vertical lines for one hand, horizontal lines for the other.
I'm also considering having all common meanings available to both hands. Then one could type adequately with one hand, or alternate hands for more speed.