There are plenty of options out there fore keyboards. Especially for people who play PC games, or use their keyboard mainly for business. Interchangeable keys are a good options, even if it is still somewhat expensive for the extra keys. But, that's a lot of switching things around, so what can you do if you just want to use one keyboard, but want it to be a bit more . . . dynamic? Microsoft is seeking a patent for what they're calling a dynamic keyboard that would feature keys that change functions based on what you need, when you need it.
The idea behind the dynamic keyboard would be that the keyboard would literally change its key sets based on whatever it is you're doing. So, if you're typing up an email, then your keyboard would look normal. However, if you started up your favorite PC game right after, the keyboard would change its key sets, and the standard letters would disappear. You'd immediately see keys representing jump, move forward, or anything else needed to be represented on the keys.
But, Microsoft is also angling for touch-sensitive keys, too, in the same patent. The idea behind this would be that if you have to, say, capitalize a letter, instead of hitting Shift+A to get your capitalized A, you'd instead (for instance) swipe your finger upwards on the letter A, and therefore change it from "a" to "A." The keys would respond to gestures. According to GoRumors, it looks like Microsoft actually filed the patent application last year, but it's only becoming public as of today.