The arrangement of characters on a QWERTY keyboard was designed in 1868 by Christopher Sholes, the inventor of the typewriter. According to popular myth, Sholes arranged the keys in their odd fashion to prevent jamming on mechanical typewriters by separating commonly used letter combinations.
This keyboard is designed for programming. It can be used in any computer language that uses Unicode symbols. However it is optimized for Bee programming language. So it is called Bee Keyboard. A similar keyboard was invented
If you compare this keyboard with a classic keyboard you can see several significant differences in symbol positions. These differences makes Bee-12 particular productive for multiple computer languages. In next analyses I will use term “secondary” to express the key combination between any required “control key” and a “primary key” pressed the same time.
- The firs key before “1”, has primary negation symbol Unicode: “¬” while “`” and “~” are secondary,
- Key “1” have secondary symbol Unicode bullet: “•” and electric “↯” instead of “!” that is on key 9;
- Symbols : , . ; / ( ) are particular frequent in all computer languages. Therefore these symbols are primary.
- The most frequent parentheses are by far (…) in mathematics and functional languages. I have used secondary “shift” based position for [ ]. This is much faster to find than key Shift+9 and Shift+0 used on normal keyboards.
- Equal sign “=” and underscore “_” are frequent. I have used combination Shift+Enter and Shift+Space-bar to produce these two symbols.
- Single quote and double quotes are having the same importance, so they are produced by “Alt+:” and “Alt+;“, very close to the enter key.
- Symbols ” @ # $ % ^ & ! ? | \” are less frequent so these symbols are all secondary “Alt” based, not “Shift” based as on the normal keyboard. This is a significant difference. The “↑shift” key will produce superscript while “shift↓” will produce subscript symbols.
Bee 12 has 4 x 2 control keys. Each control key is duplicated for left and right hand.
- Shift Super: will switch case for letters, create Unicode superscript for numbers “+” and “-“. This is useful for power. Bee support also negative power and simple expressions + & – on superscript.
- Shift Sub: will produce Unicode subscript for numbers. Depending on caps lock will create uppercase or lowercase subscript for letters. With keypad numbers will also produce subscript numbers. Shift Sub and functional keys F1…F12 will produce Unicode symbol found below Fn key. This is the only way to produce these symbols.
- Shift + enter: will produce symbol “=”. This symbol is also Alt+0 but is harder to reach for it.
- Shift + space: will produce underscore “_”. This symbol is also produced by Opt+/
- Shift + keys: ( ) , . ; / will create upper left secondary symbols the same as “Alt“key
- Control + shift sub will force uppercase subscript.
- Control + keypad number will navigate up, down, left, right regardless of Num-Lock.
- Alt – both left and right has same function. Used with any key will produce the secondary symbols from upper-left corner of the key.
- Opt – both left and right has same function. Used with any key will produce the secondary symbols from upper-right corner of the key.
- Opt – with W, A, S, D will produce actual Unicode arrows: ↑ ← ↓ → not navigation signals.
- Control + W, A, S, D will produce navigation signals: Up, Left, Down, Right.
- It has embedded LED in Caps Lock key;
- It has 5 edit keys to save pressing control+c and control+v two often;
- It has underline on the space-bar using any Shift key +Space will create “_”
- It has 4 LED switches: Caps Lock, Num Lock, Scroll Lock and Pause
This version has numeric keypad that can be converted in navigation keys using Num-Lock switch. The keys are reorganized compared with a classic keyboard it is much more compact.
Note: I will add more details about Unicode symbols created by each key. If you are interested in this keyboard please submit a support ticket or post a message on the forum with suggestions to improve the design.
See also: Bee language