| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Currently, refreshing the current word on each key event.
Refreshing is done after a short delay, to ensure the editor has handled
the event.
|
|
When selection is entered, the current word is cleared.
|
|
The current word is replaced by the pressed suggestion.
|
|
The `CurrentlyTypedWord` class tracks the word that is being typed. It's
implemented on the same model as Autocapitalisation and avoid expensive
IPC calls when possible.
The `Suggestions` class is where the suggestion lookup should go. It
currently just echoes the current word.
|
|
The `CandidatesView` is implemented as a `LinearLayout` that is divided
horizontally with up to 3 `TextView`. It might in the future contain
buttons on the sides.
The candidate view is nested into the input view rather than using
Android's `setCandidatesView` and callbacks as the API is unreliable and
complicated.
The first suggestion goes in the middle to be more accessible. The
second suggestion goes on the right to be more accessible to the
right-handed, because it must go somewhere.
|
|
* Fix background crash in clipboard history service
The clipboard history service might crash when the connection between
the keyboard and the system is in a bad state.
* Fix race condition in clipboard history service
The clipboard history service callback appears to be called concurrently
leading to concurrent accesses to data and to concurrent calls to
'on_clipboard_history_change'. Access are now synchronized.
* Fix clipboard manager crash when device is locked
|
|
|
|
* Disable selection mode in text editors
Selection mode removes the space bar key (which is replaced by the Esc
key) and can be annoying in Emacs for example.
Text editor users probably have the `esc` key available.
* Refactor: Move EditorInfo related code to EditorConfig
Add the new EditorConfig class that handles configuration extracted from
the EditorInfo. It is accessible from the Config class for convenience.
This aims at reducing the length of already large classes and group the
code that was spread over several classes.
|
|
This function was used to migrate the representation of the emoji
history and needed a very large table.
This reduces the app size by 22KB.
|
|
* refactor: Better printing for KeyValue in tests
* Fix parsing of escaped characters in macros
The parsing code was bugged with custom macros like `symbol:\abc` and
`symbol:\\abc`.
|
|
|
|
Missing from previous commit.
|
|
|
|
|
|
The height of row set with `<row height="...">` cannot be lower than 0.5
to avoid rendering problems.
This restriction is not necessary when the row has no key and is lifted
in this case.
|
|
This allows assigning mappings to letters without changing the Shift
mappings and making uppercase impossible to type.
For gestures, the Shift modifier is still applied first, unless a custom
mapping for <fn/> is set for the key.
|
|
|
|
* Add option 'Space bar slider sensitivity'
* Fix slider moving the cursor twice at the beginning
The slider was generating two events when first activated.
Since 2bed42857.
* Make slider less sensitive for the first step
This moves the second slider step approximately 40% further and takes the
new sensitivity option into account.
Allows moving the cursor by one spot more easily.
|
|
The label size was computed against the width of keys on the keyboard,
which resulted in a different label size on different layouts.
Notably, it made the labels very small on a 11 columns layout and
relatively larger on the numpad.
The label size is now computed against a baseline of 1/10 of the width
of the screen.
|
|
|
|
This was removed by mistake in 42528ab211.
|
|
|
|
* add majuscules to compose
* add tse to compose
* added reverse ya FN to modernize it FROM the older form
* fix accent FN and add reverse arabic-heh FN
* little improvements and additions
* QoL improvements for Kurdish Sorani
|
|
|
|
This changes layout switching logic to detect screen width rather than increasingly specific portrait/landscape/unfolded state.
This reduces number of different auto-layouts back to 2: narrow devices (such as a phone in portrait) and wide devices (such as a phone in landscape or a tablet).
|
|
This was tested against:
org.godotengine.editor.v3
org.godotengine.editor.v4
|
|
|
|
|
|
|
|
Make vertical sliders slower. The intention is to make the up/down
slider slower, as we have less visibility and do smaller movements in
that direction.
|
|
* Fix extra bottom margin when navbar buttons absent
Fix the extra space that was appearing when the gesture-navigation bar
didn't contain the "switch IME" or "close IME" buttons.
This was found on OneUI 7 with the two "keyboard key" related options
turned off.
* Remove unneeded nav bar detection and width computation
|
|
|
|
This fixes the unwanted margin at the bottom of the screen on
Samsung One UI 7 based on Android 15.
|
|
cut and copy with built in keys only if text is selected to keep existing clipboard content. does not work for key combinations like ctrl+x or ctrl+c.
|
|
The selection mode was not exited when the selection was cleared with,
for example, ctrl+x.
|
|
Emptying the selection with the spacebar slider puts the selection mode
in an unexpected state. This checks that this doesn't happen.
The selection ends can now cross each other, reversing the selection
order. Special care is made to make sure that the sliders go in the
expected direction.
Pointers is changed to send a `onPointerDown` for the first slider event
instead of a `onPointerHold`. This event is detected in
`KeyEventHandler` and the selection ends are reordered if needed when
sliding again.
|
|
* Add <row scale=""> attribute
Scale the width of the keys in the row to match a value. Useful to
remove space on the right of the row without adding a 'width' attribute
to each key.
* layouts: Use the 'scale=""' attribute in builtin layouts
This removes the very specific 'width' values.
|
|
|
|
The calculation for the size of each rows now avoid making the keyboard
bigger than the screen if the Keyboard Height option is unusually high.
The height calculation with the default settings is changed slightly, it
is now assuming that a layout is 3.95 rows high instead of 4. This is
because the bottom row is usually 0.95% the size of other rows.
|
|
The label size is computed relatively to the width of the keyboard when
the height is larger than 3/2 of the width. This ensures that the labels
have a reasonable size when the keyboard height increases.
|
|
|
|
* Add AndroidX WindowManager
unfortunately, this seems to be the only way to get fold state, native Android APIs are internal. To add this, we need to update some dependencies, raise java version and raise compile SDK.
* adds separate layouts and separate layout settings for folded and unfolded state of the device.
The affected settings are:
+ the margin bottom settings
+ the horizontal margin settings
+ the keyboard height settings
* Update shell.nix
|
|
compile.py is changed to report when compose+Upper+Upper exists but
compse+Upper+Lower do not.
With these findings, many sequences are added.
|
|
|
|
|
|
|
|
|
|
|
|
The distance at which a swipe was considered successful was reduced in
188c682 to allow making circle gestures on a key that also had a slider.
It was also useful in reducing accidental sliding.
This is impractical for normal typing so it is reverted. The reduced
range continues to be used for sliders.
|