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