* Added new English/German/Dutch layout (KB_EN_DE_NL_THUMBKEY) with new matching Numeric layout (NUMERIC_ENDENL_KEYBOARD) and updated KeyboardLayout.kt
I've never done this before, so please let me know if I messed anything up. FWIW, I installed & used Android Studio to validate the layouts are as desired, so I suppose this should work...
* Added new English/German/Dutch layout (KB_EN_DE_NL_THUMBKEY) with new matching Numeric layout (NUMERIC_ENDENL_KEYBOARD) and updated KeyboardLayout.kt
I've never done this before, so please let me know if I messed anything up. FWIW, I installed & used Android Studio to validate the layouts are as desired, so I suppose this should work...
* Formatting.
---------
Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* PLTypeSplitSymbols: Fix shifted input of tilde and double quote
Shifted swipe type is TWO_WAY_HORIZONTAL, which makes it impossible to
input '`' and '"'. Change it to FOUR_WAY_CROSS.
Fixes: dea3d03702 ("Add PLTypeSplitSymbols (#851)")
Signed-off-by: h67ma <szycikm@gmail.com>
* PLTypeSplit*: Move a few letters to more sensible places
Letter positions in PLTypeSplit and PLTypeSplitSymbols layouts are based
on QWERTY, however a few letters reside in unexpected places, which
makes writing a bit unintuitive. The middle row is also unbalanced -
left half has 4 letters, while right side has 8 (granted, these are less
frequently used ones).
Move a few letters to more familiar positions:
* Move G to left half
* Move F to left half
* Move J more to the left
* Move ` and ~ elsewhere to make place for F and G (only
PLTypeSplitSymbols)
Note that one letter is still in a "wrong" place: D, which should be in
the left half. However, it can't be moved as it's more popular than all
letters in the right side middle row (except K), and A and S are more
popular and they already occupy both available slots in the left half.
Signed-off-by: h67ma <szycikm@gmail.com>
* PLTypeSplitSymbols: Add more symbols
Improve the layout by adding more symbols and tweaking the positions of
present ones:
* Add missing symbols: '#', '$', '%', '^', '&', '|'
* Rearrange some symbols to make '?' easier to type and create some nice
pairs (like ':' and ';', '\' and '/')
* Replace the middle space with symbol selector, which inputs '.'
without swipe (why would you need two spaces anyway?)
* Replace the bottom space with a symbol-less one, since all symbols
are now nicely grouped on the key above
* Move the funny face emoji macro thing (?) to numeric keyboard to make
place for standard characters. This affects all layouts that use
TYPESPLIT_NUMERIC_KEYBOARD (and FRENCH_TYPESPLIT_NUMERIC_KEYBOARD too,
for consistency)
Signed-off-by: h67ma <szycikm@gmail.com>
* TypeSplit: Swap swipe actions on numeric/emoji keys
Swipe actions are hard to input on keys that are in the corner of the
screen. In *TypeSplit layouts, bottom left corner is occupied by numeric
keyboard switch key, which also has some useful text edit options on
swipes (copy, paste, undo, etc.). In contrast, the emoji key has some
rather uncommon actions on it (settings, input method/layout switcher).
Swap the two swipe sets in order to bring the more useful actions to a
much more convenient place. Main key functions are preserved (emoji,
numeric keyboard switcher).
Because in the numeric layout the swipe set has also changed, add the
now-missing text edit swipes to one of the spaces and remove the
settings action (now covered by bottom-left key).
These changes affect all *TypeSplit layouts.
Signed-off-by: h67ma <szycikm@gmail.com>
* NumericTypeSplit: Remove shift
Remove shift mode from NumericTypeSplit and NumericFrenchTypeSplit
numpads, as it doesn't have any effect there.
Signed-off-by: h67ma <szycikm@gmail.com>
* NumericTypeSplit: reorganize interpunction and symbols
On *TypeSplit keyboards, the numeric keyboard is often the only way to
input most special symbols. However, those symbols are poorly organized.
The ones commonly found on the numeric row ('!', '@', '#', ...) are
found on seemingly random digit keys, making it hard to localize them.
Furthermore, the layout is cluttered, with many symbols packed on a
single key (in some cases up to 7 symbols on one key).
Move numeric row symbols to keys where the user would be expecting them:
'!' to 1, '@' to 2, '#' to 3, etc., with the exception of '(', which is
left on the side of the keyboard, so that the brackets lie in
symmetrical places. Each of the 8 symbols is activated by swiping
towards 5 (and '%' is swipe down).
Move a few symbols to one of the currently empty spaces on the left side
to declutter the numpad area.
Remove ',' and '.' from numpad, as they are already available on the
right side of the layout.
Move a few other other symbols to be more evenly spaced out and easier
to access.
Signed-off-by: h67ma <szycikm@gmail.com>
---------
Signed-off-by: h67ma <szycikm@gmail.com>
* add hyphen `-` to the first layer of FRThumbKeyV2.kt
Trait d'union - Hyphen is a common character in french:
grand-mère, couvre-lit, quatre-vingts
Jean-Luc, Marie-Lise
c'est-à-dire, vis-à-vis
etc...
so it makes sense to have it on the first layer, as all the other french layers does.
* Fixing formatting.
---------
Co-authored-by: Dessalines <tyhou13@gmx.com>
* #702 Rewrite titles of layouts to `[languages] [base] [qualifiers] [version]`
`[languages]` are languages or "alphabets", for example:
- canadian aboriginal syllabic
- english
- english deutsch
- esperanto english deutsch
- japanese hiragana
- japanese kana
- japanese katakana
- ...
`[base]` is the name of the original layout:
- messagease
- qbased
- qwertease
- qwertyfour
- thumb-key
- type-split
`[qualifiers]` are additional features/modifiers of the layout, in alphabetical order:
- +æ
- +åæø
- compose
- double symbols
- emoji
- left-handed
- phonetic
- programming
- samsung
- symbols
- symbols-numbers
- two-hands
- wide (may be the same as "two-hands"?)
- writer
`[version]` is a `v` followed by a number:
- v1
- v2
- v3
* #702 Also rename constants to match layout titles
* #702 Add layout naming guideline to README
---------
Co-authored-by: Dessalines <tyhou13@gmx.com>
> 640K ought to be enough for anyone.
This layout ought to be enough for anyone... as long as they are typing
a message in a European language with script based on the Latin
alphabet.
The MAIN GOAL of the layout is to be able to input EVERY LETTER used by
European languages without EVER having to switch to another layout.
LETTER FREQUENCY SOURCE
The Python script uses that data[1] I found on Wikipedia to calculate
the combined letter frequency for a bunch of European languages. I then
used the result to compose a layout that will be suboptimal for EVERY
language, but will NEVER require switching to input a character... as
long as you stay in Europe, that is.
[1] https://en.wikipedia.org/wiki/Letter_frequency
Apart from the base letters found in the original Latin alphabet, plenty
of European languages also use accented versions of the base letters. It
would not be possible to construct a single layout if not for a nifty
trick that @Berengar pointed out - Unicode combining characters. As it
turns out, about 20 of them are enough to cover all of Europe using
Latin alphabet.
There are a few symbols which look like they should be a base letter
plus a combining character--the most obvious ones being Ł and Ø--but for
which I could not figure out a way of synthesising. So I put them as
base letters in the layout.
LAYOUT MAP
Characters in keys are listed in the following order:
+-------+
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+-------+
ASCII letters are given as themselves and - (hyphen) stands for "empty
position". Other symbols are given as their Unicode codepoints.
Top left key (S):
U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00A7 SECTION SIGN
U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00BF INVERTED QUESTION MARK
S
U+003F QUESTION MARK
U+0304 COMBINING MACRON
-
P
Top key (L):
-
-
Ł
U+00A1 INVERTED EXCLAMATION MARK
L
U+0021 EXCLAMATION MARK
-
V
-
Top right key (I):
U+0303 COMBINING TILDE
-
U+0306 COMBINING BREVE
-
I
-
M
-
U+030C COMBINING CARON (HACEK)
Middle left key (T):
U+0313 COMBINING COMMA ABOVE
U+2030 PER MILLE SIGN
U+0326 COMBINING COMMA BELOW
U+2021 / U+2020 DOUBLE DAGGER / DAGGER
T
H
U+030F COMBINING DOUBLE GRAVE ACCENT
-
U+0307 COMBINING DOT ABOVE
Middle right key (A):
U+030A COMBINING RING ABOVE
-
U+0328 COMBINING OGONEK
U
A
U+0308 COMBINING DIAERESIS
U+0312 COMBINING TURNED COMMA ABOVE (CEDILLA ABOVE)
-
U+0327 COMBINING CEDILLA
Bottom left key (N):
U+00DE / U+00FE LATIN CAPITAL/SMALL LETTER THORN
U+00B0 DEGREE SIGN
C
-
N
-
U+0152 / U+0153 LATIN CAPITAL/SMALL LIGATURE OE
-
U+00D0 / U+00F0 LATIN CAPITAL/SMALL LETTER ETH
Bottom key (O):
U+0110 / U+0111 LATIN CAPITAL/SMALL LETTER D WITH STROKE
G
U+00D8 / U+00F8 LATIN CAPITAL/SMALL LETTER O WITH STROKE
U+00C6 / U+00E6 LATIN CAPITAL/SMALL LETTER AE
O
X
U+0027 APOSTROPHE
U+002E FULL STOP
U+002D HYPHEN-MINUS
Bottom right key (E):
D
-
U+0300 COMBINING GRAVE ACCENT
U+1E9E / U+00DF LATIN CAPITAL/SMALL LETTER SHARP S
E
U+0302 COMBINING CIRCUMFLEX ACCENT (HAT)
U+030B COMBINING DOUBLE ACUTE ACCENT
-
U+0301 COMBINING ACUTE ACCENT
PUNCTUATION MARKS
Why did Spanish and French receive "special treatment", with their « and
», ? and ¿, and ! and ¡ being included in the base layout?
Let me restate the main goal of the layout: to be able to input EVERY
LETTER used by European languages without EVER having to switch to
another layout.
Having accomplished that, and still having free space left on some of
the keys, I thought about including important punctuation marks. Other
Thumb-Key layouts go for the most frequently used charactcers like a
comma, a full stop, exclamation mark, etc.
However, all of these "typical" characters are either easily obtainable
by repeated taps on the Space key, or by switching to the numeric
keyboard. (Since both Space-taps and the numeric keyboard stay the same
no matter which layout one uses the muscle memory is retained, which
fits the goal of the European layout.)
After some deliberation, I decided to include the French quotation marks
and Spanish question and exclamation marks. Why? Because they are not
available on the numeric keyboard and users from these countries would
still have to switch to another layout to get them.
FRENCH QUOTATION MARKS
One could ask, why support French quoting style, and not other styles
used throughout Europe? Thumb-Key is a keyboard made for tiny touch
screens of smartphones, and I would expect the most frequent use of it
to be in texting. From my experience, the English quoting style won.
Take the ,,quote'' style used in Poland, for example. When you are
typesetting a book, then by all means - go for the proper style. But in
my experience no one cares when texting, and the easily accessible " is
all that is used.
The French quoting style is unique enough to warrant inclusion, in my
personal, subjective, opinion. Also, « and » are distinct enough to
allow an extra level of depths in quoting without any ambiguity. Do I
expect this to be a frequent use case, though? No, not really.
PUNCTUATION PAIRS
The characters that "come together" reside on left and right sides of a
key, in a single row:
LEFT RIGHT COMMENT
U+0313 COMMA ABOVE U+0326 COMMA BELOW Top of T key
U+0312 CEDILLA ABOVE U+0327 CEDILLA Bot of A key
U+00BF ¿ U+003F ? Mid of S key
U+00A1 ¡ U+0021 ! Mid of L key
I have also considered applying this rule to the following "pairs" of
characters:
- U+0300 GRAVE ACCENT and U+0301 ACUTE ACCENT
- U+030F DOUBLE GRAVE ACCENT and U+030B DOUBLE ACUTE ACCENT
- U+030C CARON (HACEK) and U+0302 CIRCUMFLEX ACCENT
However, if I wanted to do this I would not be able to always keep the
accents on the same key as the letter they modify -- and I considered
keeping accents near their letters to be more important than keeping the
arbitrary "pairs" together.
The layout is unambiguous enough as it is right now, so I do not expect
much confusion once users get accustomed to it.