functional computer keyboard

functional computer keyboard


# keyboard layout

undohelperase
0
"
1
a A
2
b B
3
c C
4
d D
<
(
recall>
)
5
e E
6
f F
7
g G
8
h H
9
'
;
,
$
i I
%
j J
-
k K
+
l L
spacecharEnd 
Of  
Line
/
m M
*
n N
^
o O
=
p P
:
.
&
q Q
#
r R
@
s S
_
t T
~
u U
{
[
memory}
]
\
v V
|
w W
`
x X
?
y Y
!
z Z
dopromptpoint
capviewtop

As with any keyboard, the quantity of keys is minimized and their locations are kept within reach of extending each finger. This can result in three rows with the intent of having the fingers over the middle row, one extra key for each row on the outside of a hand. Four fingers for each hand can result in six keys per row. Furthermore, the keys are aligned vertically in columns, matching the path of extending fingers.

Three rows of five keys per hand totals to 30 keys, plenty for the 26 letters of the alphabet, which is more reasonable when only three fingers are available.

# alphabet and common symbols for text

Both the lowercase letters and capital letters of the alphabet are printed on the keys. This plainspokenness aids with identification, as well as in the comprehension of the cap key and its distinction from the top key. Of the 32 symbols, there are 9 commonly used for writing text.

The keys with letters are alphabetically ordered for instant familiarity. This makes finding a lettered key as simple as knowing how to spell the letter.

Letters are grouped four at a time to match with four fingers on each hand, resulting in two rows of four letters and a bottom row of five letters for each hand, vertically aligned along the inside of the hands. The extra letters for the bottom row are placed on the outside, and coincidentally are the less common "q" and "z". This leaves the four outside keys, the leftmost and rightmost, of the top and middle rows without alphabetic symbols.

The comma is placed on the leftmost key of the middle row, and the period is on the right most key. The exclamation mark is the top half of the z key (notably beneath the period key), and the question mark is the top half of the y key. On the top half of the comma key is the semicolon, and the top half of the period key is the colon.

The hyphen is grouped with mathematical operators because it is used also as the subtraction symbol, however, that does mean it will be readily accessible on the middle row. On the top row, the double quote mark is on the leftmost key because its use begins before a word, and the apostrophe (single quote) is on the rightmost because its use in contractions is usually near the end of a word.

# numbers and symbols

The remaining 10 digits and 24 symbols, including the aforementioned hyphen/minus, are grouped reasonably.

The 10 digits for numbers are placed on the top row. The number one is the top half of the a key, the first letter of the English alphabet; the number two is the top half of the b key, the second letter of the alphabet, and so on. The zero is the top half of the outside key of the left set, and the nine is top half of the outside key of the right set.

The braces and brackets (8) are paired on four additional keys either side of the column in the middle, with their left halves on the leftside keys and their right halves on the rightside keys. Parentheses (braces) and square brackets are on the bottom halves of the keys because they are common in prose, with parentheses on the top row because they are also common with numbers. The angle brackets (less-than and greater-than signs) are the top halves of the parentheses, which fits with their use with numbers. The uncommon curly braces are on the top half of the square brackets.

The 8 symbols commonly used with numbers are on the top half of the middle row, thereby close to the number keys 18 of the top row. The dollar sign is usually on the left side of a number, so it's first; the percent sign is usually on the right side of a number, so it's second. The subtraction (hyphen) and addition symbols are the next two on the left set of keys, placed for the two primary fingers of the left hand. The right set of keys has division (forward slash), multiplication (asterisk), exponent (caret), and finally the equal sign.

The ampersand is on the leftmost key of the bottom row, notably below the semicolon key of the middle row with which it is used for HTML entities, f.e. "&lt;" for the less-than sign "<". Next is the octothorpe "#" which is used in URL references, and the "@" used when sending email. The underscore is on the key below the hyphen key, and the tilde "~" is on the u key because historically it has been a file path abbreviation for "user home directory". The back slash is below the forward slash (division) key, and next to it is the vertical line (pipe). Finally, the backtick (grave accent) is below the caret key.

# modifier keys and command keys

There are two keys for obtaining each symbol on a key: top, cap. There are three keys for keybindings: view, do, point. Each of these five keys are modifier keys, which means nothing happens when initially typed because they modify the result of the next key that is typed. Notably, a modifier key locks when typed so it won't need to be held while typing other keys afterwards, and then the same modifier key unlocks when typed again. This is similar to the additional CAPS LOCK key for locking the effect of a SHIFT key on other keyboards.

For example, type a modifier key once and it will modify the result of typing other keys until that modifier key is typed again. Or for temporary use, press a modifer key and then type some other keys, then let go of the modifier key and it will no longer be active. The software provides an indicator on the screen for each locked key. (Preferably, there are indicators below the screen, separate from the display in order to preserve display space.)

Note: There needs to be a key for clearing all locked modifier keys all at once rather than having to unlock each individually.

keys for symbols

In general, each key can have a bottom half and a top half. There is a top modifier key for obtaining the symbol printed on the top half of the keys. There is a cap modifier key for obtaining the 26 capital letters from the keys with letters on the bottom half. As such, these two keys determine what other symbol is inserted besides the default bottom symbol. They are conveniently placed in the center column, the top key with the top row and the cap key aligned with the middle.

For additional symbols, there is a char command key for obtaining a prompt from the software for typing the name of any character desired from the Unicode standard. This key is conveniently aligned with the text insertion keys.

keys for keybindings

A command for an action can be activated by typing the name of the command at the prompt for commands. As a convenience, an alternative sequence of keys can be typed for a command without needing the prompt for commands and typically using fewer keys. A key or sequence of keys bound to a command is a keybinding. In other words, typing the key or sequence of keys bound to the command will activate the command.

In general, a modifier key is used as the first key of a sequence of keys when more than one key is a keybinding for a command. This had been done with a variety of keys on other keyboards: COMMAND, CONTROL, ALT, OPTION, META, SUPER, HYPER, and others.

Now there are just three modifier keys for keybindings:

The do and point keys are aligned in the middle row either side the cap key, readily accessible for keybindings activating general commands and moving the point (cursor). Prominently in the center along the top is the view modifier key because of the importance of adjusting the views: splitting or collapsing views, scaling the text, and creating or removing frames of views.

The point modifier key combines with other keys for moving the point, f.e. by one character, one word, one sentence, one line, and so forth, either to the left or to the right. Using the do and point keys at the same time begins/ends marking the text while using the same keys for moving the point. Moving the point without the do key after text has been marked cancels the marking. Using do with point is like what happens now with the SHIFT key with movement keys on other keyboards, or similarly with ControlSPC in emacs.

command keys

Command keys are without a top and bottom half, so neither top nor cap have any effect on command keys. Though they are single purpose in this regard, they can be a part of other keybindings with modifier keys.

The undo and erase command keys are straight up from the forefingers, level with the view key. The undo command key is for removing what was last inserted into a document, or restoring what was last erased from a documented. The erase command key removes the character before the point, or removes whatever is currently marked.

The help command key is in the central column immediately below the char key. Typing it toggles a help view, making it as easy to hide the help as it is to show it. For example, typing the help key can show in a new view a listing of kinds of help, including a tutorial. Or, typing a modifier key and then typing the help key will show help for using that modifier key, such as a listing of the keybindings using it and their bound commands.

The char command key displays a prompt for typing the name of a Unicode character or symbol in order to insert it into a document.

There is a set of command keys intended primarily for the thumbs staggered around the help key, including: memory, space, list, End Of Line, recall. The space key produces a single space character, and the End Of Line key produces a newline character which effectively moves the point to the beginning of the next line.

The list key is for activating auto-completion, t.i. obtaining a list of completions when typing a command, a file path, or anything else. This has been referred to as "tab completion" because the TAB key had been conscripted into this task, as it was typically unused. As there is no TAB key, there is now a list key.

macros [...replacing with memory/recall...]

Keystrokes are in essence a list of instructions. The macro key is for recording keystrokes. Typing the macro key begins recording keystrokes, and typing the key again stops recording. The software provides an indicator on the screen when recording a macro.

Using the do key with the macro key is a keybinding prefix. Those two keys combined with return will cause the pre-recorded keystrokes of the last macro to be re-typed again automatically: text, commands, anything and everything. Each macro is automatically assigned to a key, too, starting with the lowercase letters, and then the capital letters. Any more than that can be assigned within the macro listing, viewable with list macro.

memory and recall

Anything selected can be memorized by typing the memory key, and then recalled with the recall key. Typing the do key then typing the memory key will initiate recording keystrokes of regular keys with and without modifier keys (but not modifier keys without regular keys, such as toggling a keyboard mode). Simply typing the recall key will recall what was typed. In essence, whatever was placed in memory is retyped when recalled. This ability is equivalent to both copy/paste and macros.

hardware alternatives for keys

It'd be nice if the view, top, cap, do, point, and memory? keys would turn green when active. And for the memory? key to turn red when paused during recording. However, it must be only a color change rather than lights. Even better, there could be a common location on those keys for a symbol that changes both in color and shape (but no lights). Otherwise, there is an indicator on the screen for each active key.

# commands

The core experience of vision is the view, especially two characteristics: the boundaries of the view, and the scale of content within those bounds. A frame bounds a view, as known by "framing a view", or a frame can bound multiple views. Either way, it's equatable with the frame of a computer monitor.

A focus point is within a view, such as between two characters of text.

Each view has a point of focus. The point of focus within a view can be shifted to a new position when that view has been chosen, which is also when the frame for that view is foremost.

# focusing on views within a frame

the views

Rather than another set of keys, the view modifier key is the prefix for combining with regular keys for keyindings of the view commands. The keys with 0, 1, 2, and 3 are used mnemonically for collapsing or splitting views, along with the subtraction and addition symbols for scaling.

view0

Collapse the focused view. Its area is given to the previous view, increasing that view's bounds. There is always at least one view in a frame, therefore this has no effect when only one view remaining.

view1

Keep the focused view, collapse all other views within its frame. The bounds of the view will become the same as the frame. Also known as "framing a view".

view2

Split the height of the focused view in half. Each view is the same.

view3

Split the width of the focused view in half. Each view is the same.

view-

Demagnify the contents of a view, effectively making text smaller. The bounds of the view stay the same.

view+

Magnify the contents of a view, effectively making text larger. The bounds of the view stay the same.

view(

Shift focus to the previous view.

view)

Shift focus to the next view.

viewa through viewz

Views are labeled with letters, t.i. "a" for the first view, "b" for the second view, etc. Shift focus to the corresponding view.

the frames

A frame contains everything within the viewable space, f.e. the whole screen within the frame of a monitor.

view/

Collapse the focused frame, and consequently all of its views. There is always at least one frame, therefore this has no effect when only one frame remaining.

view*

Duplicate this frame as the next frame and focus on it. All views are the same as the previous frame.

view^

Create and focus on a new frame as the next frame. Its one view is a duplicate of the focused view of the previous frame.

view=

Balance the bounds of the views within this frame. All widths become equal for views sharing the same horizon, and all heights become equal for views sharing the same vertical.

view<

Shift focus to the previous frame.

view>

Shift focus to the next frame.

viewA through viewZ

Frames are labeled with capital letters, t.i. "A" for the first frame, "B" for the second frame, etc. Shift focus to the corresponding frame.

# the point of focus within a view

The point of focus in a view is where text will be inserted (f.e. when a regular key is typed) and where the selection will begin or end. Moving the point is done easily from the middle keys on the keyboard, where the fingers are expected to be resting.

The left four keys are for moving the point to the left, and the right four keys are for moving the point to the right. Specifically, movement is done by: character, word, sentence, line. The keys closest to the center are for the shortest movements from the current position, with the keys towards the outside of the hands for moving farther from the current position.

pointi

Move the point to the beginning of the line.

pointj

Move the point to the beginning of the sentence.

pointk

Move the point one word to the left.

pointl

Move the point one character to the left.

pointm

Move the point one character to the right.

pointn

Move the point one word to the right.

pointo

Move the point to the end of the sentence.

pointp

Move the point to the end of the line.

point{

Move the point to the top of the content, t.i. before everything.

point[

Move the point to the bottom of the content, t.i. after everything.

point}

View the part of the content that is one viewful (or whatever remains when less) before the top of the currently viewed content, and then moves the point to the top-left of the view.

point]

View the part of the content that is one viewful after the bottom of the currently viewed content, and then moves the point to the bottom-right of the view.

pointu
pointv

[...Perhaps commands for previous/next page. Mnemonically "u" for up, and "v" resembling a downward arrow; each accessed by the forefinger of each hand; previous on the leftside, next on the rightside. That is, based on marking the division of pages with the ^L character like in emacs. Though, control characters are less readily available without a CONTROL key.]

[...The char key definitely provides the means for inserting control characters, as it does for any character in the Unicode set. Though keep in mind the circumflex ^ would likely be used as shorthand for composing the circumflex with characters, as would the apostrophe ' for acute accent, backtick ` for grave accent, double quote mark " for diaeresis (umlaut), and tilde ~ for tilde.]

do<
do(
do[
do{
do"
do'

Inserts a pair of corresponding brackets, braces, or quote marks, and then conveniently places the point within that pair.

# buffers

[...Commands for switching to other buffers and listing buffers]

buffere

Edit a buffer. Displays a prompt with the current directory path for naming the document. The buffer is filled with the contents of the existing document, or it's an empty buffer when the named document is nonexistent.

bufferf

Find a document from a listing of the current directory.

viewm

Display the "messages" buffer. Some commands produce messages, and those messages are recorded within the "messages" buffer.

buffern

Create a new buffer. No name needed.

# narrowed views

Convenience for hiding content in a view, before one point and after antoher point, thereby restricting what is shown. A narrowed view can be remembered and recalled for quickly switching between different focused areas of a document.


begin