Allows to add more keys to the keyboard from a predefined list.
The implementation doesn't use MultiSelectListPreference because it
doesn't seem possible to change the item layout to properly show the
rendered symbols.
Modifiers can be locked with a long press. The key repeat mechanism is re-used
and the press timeout is the same.
Every modifiers can be locked that way, not only the "lockable" ones.
The previous behavior can be enabled in the settings (for shift only)
but the default is changed.
Bring back the "Vibration" option.
The duration option isn't added back because the vibration settings are
still handled by Android. In fact, the option has no effect if the
vibration are disabled in the system settings.
This partially reverts commit ef03dfed5c.
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.
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.
* Providing a comprehensible Brazilian Portuguese keyboard layout
removed cedille as it is already provided by an independent key;
changed layout to correspond to the locale
Using the --product option of aapt.
Remove the app name from translations because it is never translated. It
is still possible to translate it by specifying 'product="default"'.
* Clicking twice on CTRL or ALT will lock them in 'ON' state
* Make Locking behaviour optional, configurable in preferences
* Nest the new settings into a different page
To avoid spamming the settings page and repetition in the summaries.
Cannot be a popup unfortunately because that would require API >= 11.
* Add Fn and Meta
Co-authored-by: Jules Aguillon <jules@j3s.fr>
For the Dark and Light theme. At the same time, use only "web safe
colors" to have nice round numbers and ensure enough contrasts between
colors.
The background color is kept at the previous value, there's not enough
contrast between the background and the keys but that's better than a
solid black background.
Instead of a fixed size that don't work at all for bigger screens.
Other tweaks:
- Use the value-land dimens to vary 'extra_horizontal_margin'
- Move label size to Config, because it can change at runtime (rotation)
- Slightly decrease the size of "long" symbols
Depending on the pixel density isn't ideal for a keyboard, which would
render differently depending on the "scaling" accessibility option.
Landscape mode needs a special values. At the same time, increase the
horizontal margin when landscape.
MIUI inverts the colors of the app it thinks doesn't implement dark
themes correctly. Also, it inverts the colors in the dumbest possible
way: it doesn't invert all the colors the same way.
It thinks that presumably because I don't use the Material base themes.
A customised Latvian specific QWERTY layout (QWERTY (Latvian)) was added
to access all Latvian diacritic characters with a swipe.
Additionally caron, cedille and macron accents were enabled for this
layout.
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