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
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
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
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
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
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
Jules Aguillon
092b8e1c15
Fix recently introduced crash
2021-05-09 12:14: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
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
41dfa844f1
Move inverted punctuation to the tilde modifier
2021-05-08 02:03:23 +02:00
Jules Aguillon
8fb89c5c71
Improve the numeric keyboard
2021-05-08 02:00:47 +02:00
Jules Aguillon
3fbc35135e
Add a dashed circle symbol on accents
...
To help recognize them.
2021-05-07 22:15:43 +02:00
Jules Aguillon
1e6e3ab22a
Fix layout not updating after rotation
...
Reset the layout on onStartInputView.
2021-05-07 22:10:26 +02:00
Jules Aguillon
abfa1cc8de
Add '¿' and '¡'
2021-05-01 23:57:40 +02:00
Jules Aguillon
5ad4450545
Better placement of accents on QWERTY
...
Also change internal names for accents.
2021-05-01 23:26:44 +02:00
Jules Aguillon
c6a54ed017
Fix rendering of the first label
...
Caused by a shared Paint not correctly resetted.
2021-05-01 23:26:34 +02:00
Jules Aguillon
f287ff2e09
Reset keyboard when finishing
...
This may cause key repeat continuing for a bit after the keyboard
closes.
2021-05-01 22:47:22 +02:00
Jules Aguillon
743b10165c
Highlight activated keys
2021-04-29 01:33:57 +02:00
Jules Aguillon
ec5cda0ce6
Slightly reduce the size of the bottom row
2021-04-29 01:11:18 +02:00
Jules Aguillon
ec1cd9473a
Improve the azerty layout
...
- More intuitive placement of (), [], {} and <>.
- Move accent keys into the top-left corner, on a key they may be used with.
- Some minor changes.
2021-04-29 01:06:51 +02:00
Jules Aguillon
3f0c18612f
Fix modifiers
...
Fixes:
- Toggling off a modifier was not possible in the corners (eg. accents).
- Modifiers on the same key can't be activated at the same time.
- Characters on the same key as a modifier weren't working properly.
2021-04-29 01:06:51 +02:00
Jules Aguillon
d00576ac2d
Add the "layout" option again
...
Some versions of android don't allow to configure several languages.
2021-04-29 01:06:51 +02:00
Jules Aguillon
c86a119448
Tweak dimensions
...
Increase a bit labels size and reduce empty space between keys.
2021-04-25 00:12:16 +02:00
Jules Aguillon
f7c062d0cb
Scale down larger symbols
2021-04-24 23:38:29 +02:00
Jules Aguillon
9bb2642e2c
Add the label size option
2021-04-24 23:22:25 +02:00
Jules Aguillon
2dbb3dc28f
Allow different sizes
...
Improve Paint code.
2021-04-24 23:18:16 +02:00
Jules Aguillon
5688e181fa
SlideBarPreference: Reduce the number of step
...
To have cleaner values.
2021-04-24 23:12:06 +02:00
Jules Aguillon
87b237494a
Add some missing keycodes
...
Allows to sent ctrl and alt combinations. Notably the ] character.
2021-04-21 23:25:14 +02:00