Commit Graph

544 Commits

Author SHA1 Message Date
4f9375373e Colemak: Don't show uncessary dead keys
Hide the dead keys that don't correspond to installed languages.
2022-06-04 16:03:24 +02:00
9b154a2495 Add colemak layout (#135) 2022-06-04 15:23:52 +02:00
646ff4834d Move the '0' back to where it was
The '0' has been moved because it was hard to type due to being close to
the edge of the screen.
This is fixed in a more elegant way in a27c644, there's no reason to
keep the '0' in an inconsistent place anymore.
2022-05-29 17:39:48 +02:00
815025aaa9 Add layout: QWERTY (Hungarian) 2022-05-29 17:31:12 +02:00
d9f2fdf8bf Remove some localized keys from the layouts
These keys are not placed in a particular way, the automatic placement
will do a better job.
2022-05-29 12:34:10 +02:00
2e81cb5cf7 Automatically place localized keys on the layouts
Layouts no longer need to mention every localized keys and dead keys.
They are now placed automatically starting from the second row on the
bottom-right corner.

The "loc " prefix is not removed to still be able to define a more
optimal and consistent placement for some extra keys (eg. 'ß' near 's').

Programming layouts no longer need to place every dead keys.
2022-05-29 12:27:46 +02:00
89dfc782a7 Update readme (#146)
* add screenshots
2022-05-11 14:45:51 +02:00
eb42943327 Specify localized keys in each layouts
Each layouts can chose which key are localized instead of specifying it
globally for each key.

Important keys are no longer removed from layouts if the 'extra_keys'
mechanism is not working properly. This can happen if language tags
specified in method.xml don't match the user's language.

Removed some currency symbols from some layouts. They are all in the Fn
layer.
2022-05-08 17:35:24 +02:00
121a2ba76f Find closest key further
The previous limit was checking d-1 and d+1, the new limit also tries
d-2 and d+2.
2022-05-08 16:56:34 +02:00
82d3290c6a Fix vibration when pointer move slightly
Fix the bug introduced in the parent commit.
2022-05-08 16:55:03 +02:00
b15ca662c2 Better handling of removed keys and swipe geture
The "closest key" logic must be careful not to reveal keys removed by a
modifier.

Must check [_handler.onPointerSwipe] for every candidate values.
[selected_value] is changed back to [selected_direction].

This adds a new bug: When the direction change, the selected value might
not change but a vibration will be triggered anyway.
2022-05-08 16:55:03 +02:00
9a48acfe3e Improve nearest key computation
getAtDirection was too hard to maintain and might contain bugs.
Change slightly the meaning of directions and implement a the nearest
key calculation as a loop.
2022-05-08 16:55:03 +02:00
bce0a98f62 only vibrate when the swipe key changes 2022-05-08 16:55:03 +02:00
a27c64479f use the closest swipe key on swipe
fix a direction
2022-05-08 16:55:03 +02:00
7da7a5082d Set the color of the navigation bar
Since SDK 21, applications can set the background color of the
navigation bar. This is normally simply an item in a theme but it is
more complicated for keyboards.
2022-05-07 23:51:00 +02:00
80600ed659 Add missing LV translations (#136) 2022-05-07 18:57:25 +02:00
3b1c652370 Release 1.15.0 (22) 1.15.0 2022-05-01 23:06:18 +02:00
8cb1789eeb Add support for Hungarian layout (#127) 2022-05-01 22:51:11 +02:00
04a7ec4bb8 Fix latched pointers accumulating on the same key
It was possible to latch and lock the same modifier several time at the
same time independently. Remove that.
2022-05-01 00:11:52 +02:00
8e0d38c257 Fix crash when IME not enabled
This is unexpected but happened to a user. Perhaps because the OS
returned bogus or fake results in imm.getEnabledInputMethodList ?
2022-05-01 00:00:15 +02:00
b72635b887 Fix modifiers not cleared when presses overlap
When typing fast, a second key might be pressed before the first is
released.

Clearing modifiers earlier would prevent this but would break modifiers
placed in corners (especially the accent keys). Instead, don't take
latched modifiers into account when registering the second press.

A new flag is needed to not interfere with holding modifers, which is
merged with the norepeat flag.
2022-04-30 23:47:09 +02:00
84af72c222 Record activated modifiers on key down
The View no longer keeps flags for something other than rendering.
2022-04-30 23:17:20 +02:00
2df4764557 Strings PT: App partially renamed to improve globalization (#134) 2022-04-30 11:01:03 +02:00
39952f8bdf Remove build dependency on Fontforge
The required version of fontforge (from 2020!) is not available in many
distros. This is an annoying for contributors and greatly complicated
the CI and F-Droid scripts.

The generated font file is now included in the sources. Fontforge is
still needed when adding new glyphs but this is not a common operation.
2022-04-24 20:52:36 +02:00
ab4c73f9f3 Add build instructions to the contributing page (#130) 2022-04-24 19:59:36 +02:00
e52e537fd7 Added neo 2 layout (#125)
* Added neo 2 layout

* Move accents away from screen edge into second row
2022-04-24 19:58:33 +02:00
2900e8d197 Add Double acute diacritic
Will be used by the Hungarian language.
2022-04-24 01:15:41 +02:00
d8e475467a Fix cedilla glyph is inverted 2022-04-24 00:49:48 +02:00
fec3f109c9 Add support for Lithuanian
Requires two new diacritics: ogonek and dot_above.

The new accents are also added to the Latvian layout as the two language
can be close but not to the other localized layouts. A new mechanism is
needed to reproducibly add extra keys to layouts without manual
placement.
2022-04-24 00:41:49 +02:00
f9f44fbd7d Update contributing guidelines
- Improve layout guidelines
- Adding a locale
- Mention character close to the edges of the screen
- Allow partially translating the app title
2022-04-24 00:41:49 +02:00
914599f16a German translation update 2022-04-23 20:12:52 +02:00
65cc0c736e Release 1.14.2 (21) 1.14.2 2022-04-16 23:43:25 +02:00
2cce0fed67 Makefile: Pass -r to adb install
Fails to update on some versions of Android without it.
2022-04-16 23:38:16 +02:00
9a8c4f291d Fix compatibility with Android 6
Android 6 uses Java 1.7, the only incompatible feature in use was
lambdas.
2022-04-16 23:36:54 +02:00
14cc318a0e Update PT strings (#121)
Tiny fixes and improvements.
2022-04-16 23:17:17 +02:00
8d8a58462c Release 1.14.1 (20) 1.14.1 2022-04-06 09:50:33 +02:00
5562ee1391 Fix mismatch layout name
The Korean layout id was not consistent and this caused a crash.
2022-04-06 09:50:33 +02:00
120c0a9d23 Fix compat with older version of Android
Resources.getFloat is new from API 29.
2022-04-06 09:50:33 +02:00
aaff8689e3 Release 1.14.0 (19) 1.14.0 2022-04-03 20:59:42 +02:00
2b348b7a31 Revert "Swap Ctrl and switch_numeric keys"
This reverts commit b85b67c2f0.

The Ctrl key was too hard to use in the new position, especially in
combination with arrows or backspace.

Leave the switching key in the numeric layout however, where the Ctrl
key is not very useful. Put Ctrl on the top-right because bottom-right
is where the switching key is in the other layouts.
2022-04-03 20:27:25 +02:00
19289bec27 Update screenshots
Many things changed since: new keys, better font, sizes and colors
changed, keys moved.
2022-04-03 18:09:23 +02:00
aa78229b2a Add the Programming Layout option
Allow specifying a layout for programming and add a key for switching to
it easily.

The switching key is placed on the top edge of the space bar.

The option has no effect by default because the ergonomic isn't ideal,
it needs to be enabled explicitly.
Users of Latin-script languages certainly prefer to use one layout (for
programming or not). This feature might be removed in favor of a better
language-switching mechanisms in the future.
2022-04-03 17:15:12 +02:00
d62e7647e0 Move keys away from the edges of the screen
These keys are harder to hit as the finger might exit the screen before
traveling enough to hit a corner. It might be particularly harder for
people that use a phone case.

Every layouts are changed, the notable changes are:

- The Escape key is in the bottom-right corner of the first key.
  This position looks weird at first but is a lot easier to type.

- The 0 key is on the top-left of the last key on the first row.
  It is not like the other digits.

- The Tab key is on the top-right. This might be hard to re-learn.

- Some layouts had more changes to accomodate these new positions.

Co-authored-by: Raphael <rapha.a.r@gmail.com>
2022-04-03 13:30:24 +02:00
9411f59ed5 Rename the Meta key
The symbol isn't clear enough.
2022-04-03 12:49:14 +02:00
b85b67c2f0 Swap Ctrl and switch_numeric keys
The switch_numeric key is generally more important, especially in the
numeric pane.
2022-04-03 12:48:29 +02:00
695f5b4371 Swap Fn and Alt
Fn is increasingly more important while Alt is generally not.
2022-04-03 12:42:50 +02:00
b995da9985 Update Space Glyph
Revert to previous version, the original google material icon,
which is not rounded, and it looks better with the rest of the keyboard,
also more correct to represent the open box unicode space char,
instead of a smile
2022-04-02 17:36:10 +02:00
5f47beb5b0 Add currency symbols under the Fn key
Fn+e = €
Fn+l = £
Fn+r = ₹
Fn+y = ¥
Fn+c = ¢
Fn+p = ₱
2022-04-02 16:56:40 +02:00
2dda39f453 Arrows and Box system (#114)
* Add `Arrows` and `Box` accent system
2022-04-02 16:42:40 +02:00
fbf8901bdb Add Korean layout (#115)
* Add Korean layout
2022-04-02 16:33:32 +02:00