| Age | Commit message (Collapse) | Author | Files | Lines |
|
Co-authored-by: Anastazius Kaejatidarjan <zdarian@asu.edu>
|
|
|
|
Add the ':char' syntax for defining character keys with a different
symbol.
This new kind of keys is used to implement Ctrl combinations in the
Serbian Cyrillic layout without showing latin letters while the Ctrl
modifier is activated.
|
|
|
|
|
|
This allows to add new kinds of keys that need more data without making
KeyValue's footprint bigger for common keys.
This changes the [_symbol] field into [_payload], which holds the same
as the previous field for more common keys but can hold bigger objects
for keys of the new "Complex" kind.
This also adds a complex key: String keys with a symbol different than
the outputted string.
Unit tests are added as the Java language is not helpful in making
robust code.
|
|
Change default label size to 1.15
|
|
Make compose sequences ending in the same character to share the ending
state.
This reduce the compiled compose key data size from 33kB to 27kB.
|
|
|
|
This removes 100Kb from the app.
|
|
This adds the '\n' and '\t' sequences to showcase the new feature.
|
|
|
|
|
|
Fn modifier switches cursor_left to home key, cursor_right to end key
|
|
|
|
* Update ExtraKeysPreference.java
add "menu" to array of extra keys
* Update KeyValue.java
add menu keyevent
|
|
This was causing a slight padding on the right of 4 columns layouts,
which turned into a large padding when the number row was added.
|
|
The call to getLanguageTag() introduced in 4629410 requires API 24.
|
|
The 'ctrl' modmap is different from the other modmaps as it also applies
the built-in Ctrl modifier to the resulting character, even if it was
first modified by the custom modmap.
For example, this will map Ctrl+в to Ctrl+V (not to v):
<ctrl a="в" b="v"/>
This is intended to add keyboard shortcuts in non-latin layouts.
A caveat is that the latin character appears on the keyboard while Ctrl
is activated.
|
|
Outdated since 6c786f2
|
|
This allows adding more compose sequences without modifying
en_US_UTF_8_Compose.pre.
This is done by grouping sequences files that should be merged together
into a directory. This also allows moving keysymdef.h into that
directory.
|
|
* Fix persian's half-space invisibility
* Add a 0.5 space before ظ in persian
* Change the place of چ in persian
* Change the width of backspace in persian
* Rename zwnj to halfspace in KeyValue.java and beng_provat layout
|
|
The arabic layout was used as the default on devices where all the
installed languages are not supported by the keyboard. This is not
intended.
This is probably caused by 'getCurrentInputMethodSubtype' returning the
first layout in the list of disabled subtypes in alphabetical or
language tag order.
Re-ordering the subtypes in method.xml had no effect.
Setting 'overridesImplicitlyEnabledSubtype' in method.xml has no
measured effect.
|
|
This might happen when using a layout of a different script than the
installed languages.
|
|
This attribute can be used to disable adding the extra keys from
method.xml.
|
|
|
|
This adds the clipboard pane, which allows to save an arbitrary number of
clipboards and to paste them later. The key can be disabled in settings.
Checking the "Recently copied text" checkbox will cause the keyboard to keep a
temporary history of copied text. This history can only contain 3 elements
which expire after 5 minutes.
If this is unchecked, no history is collected.
History entries can be pinned into the persisted list of pins.
|
|
The PreferredPos mechanism cause an out of bound access since 773147a.
|
|
Internally "key repeat" is reword into "long press" when the same
mechanism was used for both features.
The constraint that 'timeoutWhat' must be set to '-1' when no message is
expected has been lifted to simplify the code.
|
|
This adds some errors:
- 'script' or 'numpad_script' is set an empty string.
- Multiple '<modmap>' elements.
- 'shift', 'width' and 'height' on every nodes that support them are
clamped to a valid value.
|
|
This was inconsistent with the anticircle and roundtrip gestures.
|
|
This doesn't seem necessary and won't play well with eventual keys that
change the configuration.
|
|
Allow the keybindings to have an effect in the "Try here" text field.
|
|
|
|
|
|
|
|
|
|
|
|
This replaces the switch cases in KeyModifier.java with JSON files, one
for each diacritic.
The number of states increases from 6727 to 7377. The apk size slightly
decreases (around 3kb).
|
|
Sequences from several files are no longer merged but compiled to
separate starting states.
The plan is to use that to represent the diacritics.
|
|
Encoding errors in the compose data compiler due to:
- 'UTF-16' adds a BOM, use 'UTF-16-LE' instead
- 'str.encode' returns a byte array, use 'array' to have a 16-bit char
array.
|
|
This was inadvertently changed when the anti-circle gesture was
introduced, which use the same rendering logic.
|
|
Parse key names from keysymdef.h, which is distributed with Xorg. The
Greek, Cyrillic and Hebrew sequences referenced these keysyms.
This increases the number of sequences from 2043 to 2668.
|
|
Change the compose state machine definition to allow final states that
are wider than 16-bits.
This increases the number of sequences that can be used from
en_US_UTF_8_Compose.pre from 2013 to 2043 (of 3201).
|
|
Take display cutouts and navigation bars when computing the keyboard
width on SDK >= 30.
|
|
This adds the new 'anticircle' attribute to layouts '<key>' elements
that configure the key to send when doing a anti-clockwise circle
gesture on it.
Labels are drawn the same way as indication.
Updated docs.
|
|
This happen when opening the settings from the launcher activity without
ever opening the keyboard.
To remove this bug entirely, the KeyboardData.init method is removed,
the pieces needing initialization are now cached in Config.
|
|
|
|
|
|
This implements clockwise/anticlockwise circle and round trip gestures
inspired by Messagease.
The circle gestures start after a small threshold to avoid making the
regular swipe too hard to aim.
The gestures do:
- circle: The center symbol with Shift applied, with a fallback on Fn
- round trip: Same as the circle gesture but applied to a side symbol
- anticlockwise circle: Nothing currently. It is intended to be made
configurable per-layout in the future.
The new Gesture class keeps track of what the pointer is doing while it moves
on a key. It replaces the 'selected_direction' integer.
|