| Age | Commit message (Collapse) | Author | Files | Lines |
|
This entirely changes the implementation of the bottom row in the emoji
pane.
|
|
|
|
Other currencies are moved on the Fn layer for consistency with the
compose key.
|
|
The new keys are placed on the corner of the arrow keys. Key
descriptions are added.
They are removed from the Fn layer to avoid showing up twice.
|
|
`method.xml` is now able to specify a preferred position for each extra
keys in term of an other key to which it should be placed nearby.
It's implemented for French as an example.
|
|
The new PreferredPos class represents where an extra key should be
placed
Currently used to place keys at the same positions they were placed
before.
|
|
`KeyboardData.getKeys()` now returns a map of the keys present on the
layout to their position. Positions are the row, column and swipe
direction.
The computed map is cached in the KeyboardData object as it might be
accessed later by `findKeyWithValue`, which now do less work.
|
|
This is more useful than turning the entire string full caps.
|
|
The initial capitalisation state given by the editor
(`info.initialCapsMode`) is always 0 in many editors.
For some text input types, update the state when typing starts,
disregarding the value given by `info.initialCapsMode`.
|
|
The numeric layout and the optional right hand side numpad are modified
to show the digits belonging to the script used in the current layout.
The numpads are still defined as it was before. The digits are changed
in `modify_numpad` if needed.
|
|
Modify the optional right hand numpad the same way as the numeric
layout.
|
|
These keys don't seem to have a purpose, which is confusing.
|
|
This makes Ctrl+move_cursor the same as before 5123ce5.
|
|
Automatic capitalisation might interferes with keyboard shortcuts.
|
|
Implement the combinations that were previously not possible and were
commented out.
Also remove `apply_dead_char` and `apply_combining` and make all
dead-keys definitions uniform.
|
|
Change the API of `KeyModifier.Map_char` to allow returning a string
instead of a single 16 bits char.
This allows to return combining diacritics.
This also gets rid of `apply_map_or_dead_char`, maps can have their own
fallback.
|
|
|
|
The slider was repeatedly sending arrow keys, which change the focused
input when the end of a text box is hit.
A new key is added that implements cursor movements using the
`InputConnection` API.
The new keys are defined as `KeyValue.Editing`, which are no longer only
context menu actions.
The behavior when a selection has started is changed. The selection is
modified instead of cleared even when shift isn't pressed or the
selection would become empty.
Fallbacks to sending arrow keys for editors that do not support the API,
like Termux.
|
|
Settings defined with `get_dip_pref` had a wrong default value on first
launch.
The "right" default value was used after the shared preferences are
populated.
|
|
The new `layouts` preference replaces three previous preferences:
layout
second_layout
custom_layout
Add a preference migration function, which first migration is to
migrate layouts into the new preference.
The migration must also be called from the SettingsActivity as it might
use a different preference store due to the boot-aware preference copy.
|
|
Remove the cross button on the right of custom layouts to reduce
accidental removal.
A remove button is added in the dialog for modifying the layout.
|
|
Clicking on a custom layout opens a dialog for modifying the layout
description instead of the dialog for selecting a layout.
|
|
This class is not used since the introduction of [LayoutsPreference].
|
|
[Preference.onClick] is apparently not called on [Item]s, though it is
on [AddButton].
Workaround this by listening on click events on the view.
|
|
This merges the "Layouts" option with the "Custom layout" option.
A custom layout becomes an item in the "Layouts" list among the other
layouts. It's possible to add several custom layouts.
Selecting the "Custom layout" item in the list opens a second dialog for
entering the layout description.
Layouts are serialized as JSON object and are decoded solely in the
LayoutsPreference class.
|
|
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.
|