The Universal Keyboard, A derivative of which is the "AT 101 Enhanced Keyboard", is the result of decades of evolution from its very earliest ancestors from the 50's. The philosophy of its design is to create one standardized device that has a "just right" number of keys. That is that every key on it will be applicable to and sufficient for the vast majority of operating systems and applications. The result is a keyboard that can be used by all computer users and is "good enough" if not just right for everybody. Lets examine how the universal keyboard fulfills its promise of universality.
The AT 101 Enhanced keyboard is divided among 4 distinct function areas. The application area is the most straightforward. It provides a familiar typewriter with the enhancement of the ability to enter "control" characters by holding the "ctrl" key down while pressing certain other keys. Here are some examples:
CTRL+C = "Cancel" current operation.
CTRL+D = Cancel current operation
*and* logoff
CTRL+N = Goto next record.
CTRL+P = Previous record
CTRL+Z = End file
These are accessible to the application too in order to provide functions
for almost any task.
The "ALT" Key works similarly to provide alternate
key mappings for either fancy characters or functions that wouldn't fit
in the Control combinations.
The next area is the "Function Keys" These are an extremely powerful system providing up to 48 distinct functions. These can be split among applications and operating systems and other utilities.
The Numeric keypad can be used as the interface to a calculator application, A method for rapidly entering numbers, OR as a quick way to navigate documents. The keys just next to it are redundant but provide a simpler arrangement. Gamers love this keypad too because it lets you assign your "strafing" keys to be just below your turning keys.
Even the mysterious control keys just to the right of your function keys are universal. If your program has locked your console you press "CTRL+BREAK" to unequivocally break out of the program. The pause button can be used to stop rapidly scrolling text or the action in a fast paced game. If you need something printed you press "print Screen". If you need to access a system console to start another program you simply type "ALT+SYSRQ" to request the system. Those "Windows Keys" are redundant and not nearly as useful. They certainly don't belong in the application area. Even the ScrolLock key is useful to switch application states. The terminal emulator program "EWAN" uses it.
An ASCD is a limited device that can only be used
to perform a very limited set of tasks. The controller to your TV is an
example of one. It can
only change channels and adjust the picture. It has one set of buttons
labeled "VOLUME" this is all they do. There is no way to reprogram these
to do
anything other than changing the volume. Because of this these controllers
are completely inappropriate for the primary interface to an Universal
Computer. As secondary devices, such as Joysticks, these make great
sense but as additions to the keyboard they are ludicrous!
A Universal Keyboard can and has emulated any ASCD.
What I find disturbing, and why I am posting this, is that Microsoft, among
other companies, have decided to reverse the trend towards greater universality
towards having keyboards with ASK (application specific Keys). This doesn't
make the keyboard any simpler or more useful, instead it makes the keyboard
more complicated and less reliable. While it furthers the goal of making
computers into toasters, it is absolutely contrary to the original intent
of the general purpose computer.
Conclusions:
1. My OS will not support any Application specific keys on otherwise
universal keyboards.
2. My OS will provide utilities that will allow any one of a number
of ACSDs that may be connected through any one of the peripheral devices.
I would be happy to hear your ideas about what ACSDs you would like to see implemented. I will post them on my website. =)