| Age | Commit message (Collapse) | Author | Files | Lines |
|
This layout is generically used by CustomExtraKeysPreference and
LayoutsPreference.
|
|
(De)serializing might raise exceptions, which are handled by dropping
the failing item.
|
|
Allow items to be of any class instead of strings.
Item serialization and deserialization methods are in a separate class
because they are also used in a static context.
|
|
|
|
And add description strings.
|
|
Several non-string keys can have a large label that shouldn't be elided,
for example ctrl, meta, send.
Also, change the cutoff to 3 characters as labels are easily colliding.
|
|
The internal name of layouts was rendered.
|
|
The new strings are used in the "Add keys to the keyboard" option.
|
|
All from Material Design Icons.
|
|
Make the font smaller for custom keys with a length above 1.
Draw up to 4 characters on keys.
|
|
Don't replace dead-keys selected in the "Add keys to the keyboard"
option by an alternative.
|
|
This option makes less sense since per-script extra keys. It's also
getting in the way of an eventual "dead-key or accented-letters" option.
|
|
The dead-key is replaced by its alternative if there's only one
specified.
Extra keys from every subtypes must be merged together to be able to
make this check.
|
|
For each extra key, a list of alternative can be specified. An extra key
won't be added to the keyboard if all its alternatives are already
present on it.
This is useful to avoid having the dead key for an accent and the
accented letters at the same time.
|
|
And add function keys placeholders in the layouts.
|
|
Key descriptions are shown in the "extra keys" option and can now be
translated.
|
|
|
|
Glyphs in the Private Use Area at uE000 will no longer conflict with
fallback fonts in the "extra keys" option.
|
|
|
|
The two layout selection options are replaced by a ListGroupPreference
that allow to enter an arbitrary amount of layouts.
The "switch_second" and "switch_second_back" keys are replaced by
"switch_forward" and "switch_backward", which allow to cycle through the
selected layouts in two directions.
Layouts are changed to place these two key on the space bar.
The backward key is not shown if there's only two layouts.
|
|
|
|
|
|
Split out the implementation of a string-list preference from
CustomExtraKeysPreference.
Allows to share the implementation with future preferences.
|
|
QWERTY-like layouts (#410)
* Add section mark as an extra key in QWERTY-like layouts that don't have it already
* Add dagger (also double dagger) as an extra key in QWERTY-like layouts
|
|
The pin entry layout might be inferior for some usecases and people
might be more used to the numeric layout.
|
|
This new class will help write more logs. The LogPrinter is no longer
created everytime the keyboard is opened.
An error log is added if failing to load the custom extra keys.
|
|
This is a new section in the extra keys option that allows to enter
arbitrary strings which are then added to the keyboard.
A new string is needed for the title of the section, Android's icons and
strings are used as much as possible to avoid adding more strings.
Keys are stored in the preferences as a JSON array of strings.
|
|
|
|
This removes the need for a layout definition and adds a title before
the prefs.
It's a prerequise for the custom keys preference.
|
|
The current approach is hard to maintain, for example the last key
"autofill" was not displayed.
This implements a PreferenceGroup that contains the check boxes for
every extra keys without involving listing the preferences in
settings.xml.
A custom layout is used to remove the 'title' text view.
The list of extra keys is moved into the new class.
'ExtraKeyCheckBoxPreference' becomes a nested class.
|
|
|
|
The function has been added in API 9.
|
|
|
|
These symbols have special meaning when in `res/xml` and are escaped in
standard layouts.
The backslash is not stripped when parsed from the custom layout option.
Treat these backslashed keys specifically to allow standard layouts to
be passed back to the custom layout option.
|
|
|
|
`KeyCharacterMap.getDeadChar` may not be aware of the same dead keys in
older version of Android.
Hardcoded charmaps are more predictable.
|
|
This function is no longer an hardcoded list of layout ids. It's
replaced by a linear scan of the previously generated array and a new
corresponding array of resource ids.
|
|
The names are comprised of: script, layout name, country code.
Co-authored-by: grim <verdastelo9604@hotmail.com>
|
|
Added Romanian characters to the keyboard layout and changed the positioning
corner for the secondary characters that were conflicting with the
newly-introduced romanian characters
Added Romanian translations
|
|
* Add Bengali Provat Layout
I added bengali_provat layout and renamed old bengali to actual layout name.
|
|
Allows to define a locale's script in 'method.xml' and use that to add
the extra keys for a locale to layouts of the same script only.
A locale of an undefined script will add its extra keys to every
layouts. A layout of an undefined script will have the extra keys of all
the enabled locales.
|
|
Add the `script` attribute, which will be used to implement
script-specific extra keys.
|
|
On API level < 12 or on some rare cases, `refreshSubtypeLayout` was not
called, making `_localeTextLayout` uninitialized.
This might also happen if `getExtraValueOf` returns an invalid layout name.
eg. `method.xml` contains an invalid layout name.
|
|
|
|
Add Kurdish Keyboard Layout Qwerty Based Without Shift.
|
|
`KeyCharacterMap.getDeadChar` seems to not give the expected result on
Android 4.0. This might affect many more dead key combinations that are
not fixed by this commit.
|
|
The script `check_layout.py` checks some properties about layouts.
No check is an error.
The result of running this script on every layouts is stored in the file
`check_layout.output`, which is useful to track changes.
Add make rules to run this script as well as `sync_translations`.
|
|
The conversion into px was done twice, leading to wrong values.
|
|
The `KeyEventHandler` class is intended to handle every keys and to call
into the main class through a limited API.
However, this is not true for `Event` keys, which in practice had each a
corresponding API call.
|
|
Implemented similarly to the IM switching key.
|