README.md
    
    Unicode text, UTF-8 text
Kineboard
The input method designed for glass.
This is an experimental on-screen keyboard for touchscreens which has very few touch areas, relying on swipes to type more characters. Each area has a central character, activated through a tap, and corner characters activated by swiping in that direction.
Design rationale
It is not natural to have a 6cm-wide simulated typewriter; usually the mobile
keyboards rely on tricks such as autocorrect. Plus, they are not adapted for
other languages; let's take Romanian as an example: we have 5 new letters,
ăâîșț and a punctuation mark, the hyphen, which is way more common in Romanian
than in English (because it's used for attachment of some pronouns and also for
contractions). A normal PC keyboard makes them available instead of some
symbols; if the symbols are desired, the extra letters can be moved to an AltGr
layer; with training, this method doesn't slow one down that much.
On a phone keyboard, however, such language adaptation is hard and I haven't seen a single keyboard that did it with extra keys. Almost all of them use a hold, which probably shows that they haven't ever had a designer that writes (correctly) in one of these languages (most Romanian users don't even bother with the diacritics, not even on PC, unless it's very formal). "ă" is way more common than "b", "f", "g", "h", "j", "v", "z", not to mention "k", "q", "w", "x", "y", yet doesn't get its own key like those.
Benefits of the design
impossible to mistype: since there are only 8 targets (by default), they can be large enough not to miss them; it provides true touch typing on a touchscreen;
international: it is adapted to the letter frequency of each language: each layout would have the top 8 letters of its language as taps;
provides diacritics and punctuation: compared to the standard mobile QWERTY which has at most 28 characters (26 letters + full stop and comma), this layout allows for 40;
economical use of screen space: with a surface about 50% smaller than a regular phone keyboard, split screens with keyboard become realistic.
How to use
Tap an area to write its central character.
Press on an area and flick in the corresponding corner to write a corner character.
In the bottom row, tap the up arrow to shift and tap again to unshift.
In the bottom row, tap the long space bar to insert a space.
In the bottom row, tap the pencil to change the layout.
In the bottom row, tap the left arrow to backspace.
In the bottom row, tap the return sign to simulate pressing enter.
How to write layouts
Make a YAML file with the keys name, symbol and keys. name is a string
naming the layout, symbol is a 2-3 character abbreviation of the layout.
keys is a 3D array of objects; each object has the keys central, top_left,
top_right, bottom_right, bottom_left which are characters (or sequences)
that will be entered with the corresponding action.
Currently, only 1 or 2 layers are supported.
Inspiration
Mainly Unexpected Keyboard, but that is not as radical. I now know of some other keyboards with a similar idea, that is, not providing all the letters by tapping (Flickboard, MessagEase), but I didn't when I came up with the concept, and my layout is different, being designed to use as little screen space as possible.
                
                    1
                    # Kineboard 
                
                    2
                     
                
                    3
                    _The input method designed for glass._ 
                
                    4
                     
                
                    5
                    This is an experimental on-screen keyboard for touchscreens which has very 
                
                    6
                    few touch areas, relying on swipes to type more characters. Each area has a 
                
                    7
                    central character, activated through a tap, and corner characters activated by 
                
                    8
                    swiping in that direction. 
                
                    9
                     
                
                    10
                    ## Design rationale 
                
                    11
                     
                
                    12
                    It is not natural to have a 6cm-wide simulated typewriter; usually the mobile 
                
                    13
                    keyboards rely on tricks such as autocorrect. Plus, they are not adapted for 
                
                    14
                    other languages; let's take Romanian as an example: we have 5 new letters, 
                
                    15
                    `ăâîșț` and a punctuation mark, the hyphen, which is way more common in Romanian 
                
                    16
                    than in English (because it's used for attachment of some pronouns and also for 
                
                    17
                    contractions). A normal PC keyboard makes them available instead of some 
                
                    18
                    symbols; if the symbols are desired, the extra letters can be moved to an AltGr 
                
                    19
                    layer; with training, this method doesn't slow one down that much. 
                
                    20
                     
                
                    21
                    On a phone keyboard, however, such language adaptation is hard and I haven't 
                
                    22
                    seen a single keyboard that did it with extra keys. Almost all of them use a 
                
                    23
                    hold, which probably shows that they haven't ever had a designer that writes 
                
                    24
                    (correctly) in one of these languages (most Romanian users don't even bother 
                
                    25
                    with the diacritics, not even on PC, unless it's very formal). "ă" is way 
                
                    26
                    more common than "b", "f", "g", "h", "j", "v", "z", not to mention "k", "q", 
                
                    27
                    "w", "x", "y", yet doesn't get its own key like those. 
                
                    28
                     
                
                    29
                    ## Benefits of the design 
                
                    30
                     
                
                    31
                    * **impossible to mistype:** since there are only 8 targets (by default),  
                
                    32
                      they can be large enough not to miss them; it provides true touch typing 
                
                    33
                      on a touchscreen; 
                
                    34
                    * **international:** it is adapted to the letter frequency of each language: 
                
                    35
                      each layout would have the top 8 letters of its language as taps; 
                
                    36
                    * **provides diacritics and punctuation:** compared to the standard mobile 
                
                    37
                      QWERTY which has at most 28 characters (26 letters + full stop and comma), 
                
                    38
                      this layout allows for 40; 
                
                    39
                    * **economical use of screen space:** with a surface about 50% smaller than 
                
                    40
                      a regular phone keyboard, split screens with keyboard become realistic. 
                
                    41
                     
                
                    42
                    ## How to use 
                
                    43
                     
                
                    44
                    * Tap an area to write its central character. 
                
                    45
                    * Press on an area and flick in the corresponding corner to write a corner 
                
                    46
                      character. 
                
                    47
                    * In the bottom row, tap the up arrow to shift and tap again to unshift. 
                
                    48
                    * In the bottom row, tap the long space bar to insert a space. 
                
                    49
                    * In the bottom row, tap the pencil to change the layout. 
                
                    50
                    * In the bottom row, tap the left arrow to backspace. 
                
                    51
                    * In the bottom row, tap the return sign to simulate pressing enter. 
                
                    52
                     
                
                    53
                    ## How to write layouts 
                
                    54
                     
                
                    55
                    Make a YAML file with the keys `name`, `symbol` and `keys`. `name` is a string 
                
                    56
                    naming the layout, `symbol` is a 2-3 character abbreviation of the layout. 
                
                    57
                     
                
                    58
                    `keys` is a 3D array of objects; each object has the keys `central`, `top_left`, 
                
                    59
                    `top_right`, `bottom_right`, `bottom_left` which are characters (or sequences) 
                
                    60
                    that will be entered with the corresponding action. 
                
                    61
                     
                
                    62
                    Currently, only 1 or 2 layers are supported. 
                
                    63
                     
                
                    64
                    ## Inspiration 
                
                    65
                     
                
                    66
                    Mainly [Unexpected Keyboard](https://f-droid.org/packages/juloo.keyboard2/), but 
                
                    67
                    that is not as radical. I now know of some other keyboards with a similar idea, 
                
                    68
                    that is, not providing all the letters by tapping (Flickboard, MessagEase), but 
                
                    69
                    I didn't when I came up with the concept, and my layout is different, being 
                
                    70
                    designed to use as little screen space as possible. 
                
                    71