1121 Commits

Author SHA1 Message Date
Jules Aguillon
9ab099175d Fix label size when the keyboard is unusually high
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.
2025-05-30 20:07:26 +02:00
Jules Aguillon
0445c310ad Settings: Remove the upper limit in keyboard height
This can be used on phones that have several screens.
2025-05-30 20:07:26 +02:00
tenextractor
536b8d1f67
Add icelandic layout (#999)
Some checks failed
Check layouts / check_layout.output (push) Waiting to run
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-05-25 16:44:50 +02:00
Jore
d36452d9c3
Update layout customization info in srcs/layouts/latn_qwerty_us.xml (#1001)
- Added info on bottom row customization. (#637)
- Added useful links.
2025-05-25 16:40:15 +02:00
Matej Drobnič
97355881a8
Better support for foldable devices (#982)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
* 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
2025-05-22 23:54:13 +02:00
Jules Aguillon
a7312054b5 compose: Add compose+A+e as compose+A+E and many others
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
compile.py is changed to report when compose+Upper+Upper exists but
compse+Upper+Lower do not.

With these findings, many sequences are added.
2025-05-16 00:59:35 +02:00
Jules Aguillon
3b94bf6a17 Fix duplicated or missing keys and more in layouts
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
Fix several warnings spotted by check_layout.
2025-05-11 23:06:19 +02:00
Jules Aguillon
ff9d2e7d31 check_layout: Check for unknown keys
This can spot mispelled special keys.
2025-05-11 23:05:57 +02:00
Spike
b670fe0da2
Clarify use of \\ per Julow in Julow#989 (#990)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-05-08 23:04:45 +02:00
solokot
32e82d6791
Update Russian translation (#986)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-27 00:16:45 +02:00
Anton Karmanov
de5c5b5b60
Sinhala phonetic layout (#965)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-20 20:05:02 +02:00
Jules Aguillon
d6dfb5c18c Add compose sequences for n͠g, N͠g and g̃
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-19 15:10:07 +02:00
Jules Aguillon
460e5214a2 Add class Modmap and test KeyModifier
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-15 00:05:52 +02:00
Jules Aguillon
5ae3ec05e7 strings: Improve "remove clipboard item" prompt 2025-04-14 22:44:37 +02:00
Jules Aguillon
70fb1e8fc1 strings: Shorter name for the settings activity 2025-04-14 22:39:42 +02:00
Jules Aguillon
2bd3e107ac Remove the Share key from preferences 2025-04-14 22:32:38 +02:00
Jules Aguillon
4ae45bd00f Add ù and û to French languages 2025-04-14 22:29:52 +02:00
Jules Aguillon
7a6aef3360 launcher: Fix animations overlapping
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-12 23:30:22 +02:00
Jules Aguillon
9fac081ab8 launcher: Remove fade-in in animations
The fade-in caused the trace to be hidden when animations are disabled.
2025-04-12 23:25:41 +02:00
solokot
b4e8b10e2b
Update Russian translation (#976)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-04-06 22:49:26 +02:00
Jules Aguillon
a7d73ebd8a Release 1.31.1 (48)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
1.31.1
2025-03-29 15:09:38 +01:00
Jules Aguillon
0acf66d455 Restore previous swipe sensibility
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.
2025-03-29 12:04:36 +01:00
Jules Aguillon
85c73d9f62 CONTRIBUTING.md: Update section on srcs/compose 2025-03-29 11:21:50 +01:00
Jules Aguillon
58dabfaa07 Fix emoji flag group missing
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
Off by one error when parsing the emoji groups.
2025-03-28 00:27:44 +01:00
Haley Halcyon
3d7925340b
Update latn_qwerty_jp.xml (#962)
Add macron, used in rōmaji for long vowels
2025-03-28 00:04:31 +01:00
Jules Aguillon
e746ccd5d0 Place editing keys on the bottom-right of Z/X/C/V
The code is changed to ensure that extra keys all use a consistent
location.
2025-03-27 23:49:49 +01:00
Jules Aguillon
6541054cce
Remove symbols from the number row by default (#964)
The number row option is changed into a ListPreference and controls whether the number row contains symbols or not.

Co-authored-by: Joey Schaff <j@jaoh.xyz>
2025-03-27 23:25:32 +01:00
Spike
3971f6243c
Possible-key-values.md—Note syntax change for slider (#958)
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
The non-backward-compatible change to the XML should be mentioned as users must revise their layouts.
2025-03-27 22:50:34 +01:00
Jules Aguillon
6c40e0604a Add a preferred position for selectAll 2025-03-23 14:58:11 +01:00
Jules Aguillon
1d6a115ce4 Add link to Weblate on the README
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-03-22 16:32:57 +01:00
Jules Aguillon
6717613b5e Fix label brightness not being applied
This is due to Paint.setColor overriding any alpha value set with
Paint.setAlpha. Bug was added in 653c598.
2025-03-22 12:25:59 +01:00
Joey Schaff
35219a458a
Swapping the default placement of ! and | on the Colemak layout (#949)
Swapped placement of ! and | to make it more reasonable.
2025-03-22 11:46:52 +01:00
Jules Aguillon
f0ebe45439 Release 1.31.0 (47)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
1.31.0
2025-03-16 15:45:05 +01:00
Jules Aguillon
0ef36d52e1 Fix crash on API < 26 in settings 2025-03-16 15:44:02 +01:00
0skar2
08860eed17
Better material themes (#904)
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
2025-03-16 14:59:41 +01:00
Jules Aguillon
b8bd3f7b0f Pull changes from Weblate 2025-03-16 14:47:59 +01:00
Jules Aguillon
60b01927ab
Selection mode (#913)
Some checks are pending
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
* Selection mode: Space to cancel the selection

This adds the "selection mode", which is activated when text is selected
in the text box. The selection mode is exited when the selection is
cleared.

While the selection mode is activated, the Space and Esc keys are
modified into the "selection cancel" key, which remove the selection
without changing the text.
The space bar is otherwise easy to type by accident during a selection
and causes the selected text to be deleted.

* Selection mode: Move each ends of selection separately with slider

When the selection mode is activated, the space bar sliders change how
they affect the selection:

- The left side of the slider moves the left position of the selection.
  To shrink the selection from the left side, the slider must be
  activated by sliding to the left, extending the selection
  temporarilly, then by sliding to the right.

- The right side of the slider affects the right position if the
  selection.
2025-03-15 16:13:16 +01:00
Jules Aguillon
9cfeb0f0c2
Add a delay after a Keyevent key in a macro (#918)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
* Construct a single handler

* Add a delay after a Keyevent key in a macro

Add a delay before sending the next key to avoid race conditions causing
keys to be handled in the wrong order. Notably, KeyEvent keys handling
is scheduled differently than the other edit functions.
2025-03-10 23:41:51 +01:00
Spike
5e77fa84cf
doc: Massage section on "Escape codes" (#912)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
* Add introductory text to the tables

And mention characters that don't have escapes

* Turn tables around

Tables should be structured by what the user wants, not by what the code does.

* Address Julow review #1

- Merge tables, no matter which rule requires escaping; "in the usual way for XML" applies to both
- 3 escapes not mandatory removed from table to new ¶ below
- Found one more symbol → legend

* doc: Clarify escaping of comma and colon per #915
2025-03-08 12:11:54 +01:00
Jules Aguillon
06fbc83c9c sync_translations.py: Handle '\n' in store descriptions
These are added by Weblate.
2025-03-08 12:08:57 +01:00
Jules Aguillon
a123810247 Change indentation of strings.xml files to match Weblate
This runs sync_translations.py, which also remove uneeded comments.
2025-03-08 12:05:35 +01:00
Jules Aguillon
906755b787 prefs: Add 'delete_word' and 'forward_delete_word' to extra keys
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
The gesture combination is mentioned. Preferred position are added.
2025-03-01 16:52:46 +01:00
Jules Aguillon
80c52460c7 Add 'delete_word' and 'forward_delete_word' keys
These keys are the equivalent of ctrl+backspace and ctrl+delete,
respectively.

They can be reached with Gesture+backspace and Gesture+delete
respectively.
2025-03-01 16:52:46 +01:00
dzaima
2b978dd2e0
APL and BQN layouts (#899)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
* Add compact BQN layout

* Add compact APL layout
2025-02-28 00:47:49 +01:00
Jules Aguillon
55cb5f5315 Make key symbol smaller when 2 characters long or more
This was the case for string keys but not for macros or keys with custom
symbols.
2025-02-28 00:36:14 +01:00
Jules Aguillon
b7d1508d7b Refactor: Remove StringWithSymbol
It's replaced with a macro containing one key.
2025-02-28 00:17:28 +01:00
Jules Aguillon
77b0c30728 cyrl_lynyertz_sr: Use the newer key syntax for ctrl mappings 2025-02-27 23:56:26 +01:00
Jules Aguillon
466e0b8218 KeyValue: Don't wrap keys into a macro when possible
Many kind of KeyValues don't need to be wrapped into a Macro to show a
specific symbol. This is especially useful as Macro keys are not
affected by modifiers.
The parser is changed to have a fast-path when a key value is not a
macro.
2025-02-27 23:53:42 +01:00
Jules Aguillon
75fdc2bfa9 Fix miscalculation of the bottom margin
'_marginBottom' might be uninitialized when used.
2025-02-27 23:20:49 +01:00
Jules Aguillon
bee59aceaa Show a message in voice input chooser when empty
This avoids creating an empty dialog that appears as a mysterious white
rectangle.
2025-02-27 23:12:08 +01:00