Commit Graph

724 Commits

Author SHA1 Message Date
Jules Aguillon
833dfa31bb Fix miscalculation of the space between the keys
'keyVerticalInterval' was mistakenly used to compute the height of the
keyboard and the vertical position of keys.
While the code handling pointers did not use this value, the hit box of
the bottom row was shifted by several pixels.

Make sure 'keyVerticalInterval' is only used for rendering and not for
placing the keys.
2022-01-15 20:24:27 +01:00
Jules Aguillon
fa9250a89e Contributing: Mention enabling the virtual keyboard 2022-01-15 19:51:40 +01:00
Jules Aguillon
854eb431f3 CONTRIBUTING: Document debug installation failure 2022-01-15 19:03:53 +01:00
Jules Aguillon
d4eef00a8a Add a CONTRIBUTING guide 2022-01-15 18:55:05 +01:00
Jules Aguillon
f22d040eda Update screenshots 2022-01-10 01:02:14 +01:00
Jules Aguillon
dfec26a93b Swap the Enter and Action keys when needed
When IME_FLAG_NO_ENTER_ACTION is set.
2022-01-10 00:27:22 +01:00
Jules Aguillon
53113cadd9 Add the Action key
It is placed on the top-right of the enter key on every layouts.
It sends a special event (performEditorAction) instead of writing a
newline.

The "actionId" is passed through the EditorInfo object in an obfuscated
way so it's not clear whether it's using the right one.
2022-01-09 20:26:06 +01:00
Moini
4b43645c4b Fix a few strings 2022-01-09 12:53:14 +01:00
Jules Aguillon
93e84ba7e9 Add the German language
Add the 'ß' character on the bottom-left corner of the 's' key, which is
hidden for other languages.

Co-authored-by: Moini <moini@noreply.invalid>
2022-01-09 12:49:28 +01:00
Jules Aguillon
23e59c6b09 Allow to hide more keys than just accents
Add the "FLAGS_LANGS" set of flags, which will be used to hide
individual keys that are not accents.
2022-01-09 12:47:47 +01:00
Jules Aguillon
2764e96eb1 Change the key combination for °
To Fn+*

Was previously accent^+*, which was not available for most languages.
2022-01-01 19:00:27 +01:00
Jules Aguillon
9c82c9cfdc Improve the "precision" option
Now named "swiping distance". Changed to a dropdown.
2021-12-30 22:22:25 +01:00
Jules Aguillon
8bef0728ae Turn the "precision" option to dp instead of px 2021-12-30 21:59:48 +01:00
Jules Aguillon
b05f6e8447 Simplify string definitions
Inline constants in settings.xml, strings.xml is only for strings that
can be translated.
2021-12-30 21:37:34 +01:00
Jules Aguillon
f69a0605a8 Add the Black theme
Friendly to Amoled screens.
The background of keys is the same as the background of the whole
keyboard: pure black.
Colors are also slightly stronger.
2021-12-30 00:53:48 +01:00
Jules Aguillon
29367f127d Move the border radius from Config to Theme
Also, draw activated keys with a round border too.
2021-12-30 00:52:50 +01:00
Jules Aguillon
093a00c572 Add themes
Add a "Theme" option to choose between a dark and light theme.
The light theme uses the colors of the dark theme with the luminance
inversed.

The reloading after a configuration change is changed slightly:
- Special handling is needed when the Theme is changed (recreate the views)
- The default implementation of 'onConfigurationChanged' is used
  Which triggers more refresh (but don't recreate the views)
- 'onCreateInputView' is no longer needed
2021-12-30 00:26:05 +01:00
Jules Aguillon
40b1ec63a9 Use the themes abstraction
Themes replace 'colors.xml' and soon will replace 'dimens.xml'.
2021-12-28 19:12:50 +01:00
Jules Aguillon
93704cca0a Reference the "special key font" in the Theme object
Remove the last cast of the context.
2021-12-28 17:53:58 +01:00
Jules Aguillon
15ce200ce3 Separate "handler" code
As with the previous commit, remove casts of the context.
The "handler" object is referenced in the "config" object for now.
2021-12-28 17:47:18 +01:00
Jules Aguillon
0190cfc29a Turn Config into a singleton object
The goal is to remove a cast of the 'context' into 'Keyboard2'.
2021-12-28 16:47:19 +01:00
Jules Aguillon
dd24ad323b Move Theme code to its own class 2021-12-26 23:55:18 +01:00
Jules Aguillon
86655d4959 Always send the keycode for the tab key
Don't write the tab character and always send the keycode, which is most
probably handled by applications.
2021-12-22 20:40:39 +01:00
Jules Aguillon
3e332dbf54 Use the right keycode for the home key
The previous keycode wasn't the classical "home" movement key but
Android's actual home key, which has no effect when generated from the
keyboard.
2021-12-22 20:19:59 +01:00
Jules Aguillon
d721cc86d1 Avoid crash when removing a layout
Might happen when downgrading the app.
2021-12-19 20:04:17 +01:00
Jules Aguillon
1cfecbdf48 Auto-format Java and XML files
Use xmllint.
Re-indent Java files using spaces.
2021-12-19 19:44:27 +01:00
Jules Aguillon
988d8db7e8 Use apksigner for signing the apk
The Play Store now requires the "Signing Scheme V2", which is
implemented by apksigner.
2021-12-14 00:13:34 +01:00
Jules Aguillon
e5fa23e1f7 Upgrade to Android SDK version 30 2021-12-12 23:48:05 +01:00
Jules Aguillon
d787d982cf Release 1.10.0 (13) 2021-12-12 23:36:19 +01:00
Jules Aguillon
573c13fb82 Add Swedish
First add the 'ring' accent.
The swedish language uses the qwerty layout and three accents (aigu,
trema, ring)
2021-12-11 17:05:49 +01:00
Jules Aguillon
58e37b484c Fix Android's builtin shortcut not working
The 'repeat' field of generated key events was incorrectly set to '1'.
2021-12-11 01:03:36 +01:00
Jules Aguillon
cca832954e Increase the maximum value of the key height option 2021-12-05 21:00:38 +01:00
Jules Aguillon
0727ea38e9 Fix swapped page_up/page_down 2021-12-05 20:55:52 +01:00
Jules Aguillon
5e5c7ef86a Add the euro and pound symbols
Fn+$ and Fn+# respectively.
2021-12-05 20:16:01 +01:00
Jules Aguillon
d8d3cf85e5 Avoid using getWidth() from onMeasure() 2021-12-05 19:38:46 +01:00
Poussinou
7775213504 Update README.md 2021-12-05 18:22:20 +01:00
Jules Aguillon
ac1dd23144 Release 1.9.2 (12) 2021-10-18 22:45:17 +02:00
Jules Aguillon
d4d5b67181 Add fastlane metadata 2021-10-18 22:39:15 +02:00
Jules Aguillon
d606a7924d Build requires Android Build Tools <= 30.0.3
'dx' is missing in 31.0.0.
2021-09-21 00:42:26 +02:00
Jules Aguillon
666b51993f Make the project open source !
Under GNU GPLv3. The license applies to every parent commits.
Add a README.
2021-09-20 22:55:20 +02:00
Jules Aguillon
b772ebf237 Release 1.9.1 (11) 2021-05-09 12:23:45 +02:00
Jules Aguillon
092b8e1c15 Fix recently introduced crash 2021-05-09 12:14:56 +02:00
Jules Aguillon
dd5fce6cae Release 1.9 (10) 2021-05-09 01:29:56 +02:00
Jules Aguillon
1a18ea56ca Fix NullPointerException when ready options from subtypes
Seems like subtypes might not match what is declared. Must protect
against that.
2021-05-09 01:07:43 +02:00
Jules Aguillon
68945ff227 Restore support for Android < 12, set minimal version to 4
API level 12 is required for "subtype" code introduced in 1.7.
This adds a fallback for older version, "subtype" features are not
available but the keyboard is usable.

Changet he minimal version to 4 to be able to query the API level.

Using integer constant for versions because that's how it's presented in
the documentation. Build.VERSION_CODES is WTF.
2021-05-09 00:56:59 +02:00
Jules Aguillon
5e01198500 Add support for Spanish and Italian
Both using the qwerty layout.
Removes the tilde from French.
2021-05-09 00:35:26 +02:00
Jules Aguillon
7a3312fd01 Add the accents preference
This replaces the "disable accent keys" checkbox.
The default should work for anyone: Accents will be hidden unless the
user has the french language installed.

The value "show every accents" is useful for versions of android that
don't have subtypes.
2021-05-09 00:09:10 +02:00
Jules Aguillon
ebfb8f3b39 Move the "Ins" key under Fn 2021-05-08 15:54:55 +02:00
Jules Aguillon
6a19c7a56d Add french quotes, en- and em-dash
Add more keys under Fn. French quotes are S-<, S->, Fn-" and Fn-S-".
2021-05-08 15:51:47 +02:00
Jules Aguillon
b5edcbeb20 Move french accents again
Users didn't like the new placement.
2021-05-08 15:38:52 +02:00