Commit Graph
712 Commits
Author SHA1 Message Date
RetrogisusDEV df04eae85f Launcher activity: Add "Select keyboard" button 2023-12-17 20:10:39 +01:00
Jules Aguillon d7c230e173 prefs: Use QWERTY (US) as the default custom layout
This layout definition contains some documentation and is a better
default than no text.
2023-12-17 12:41:19 +01:00
Jules Aguillon 478d8082f4 Improve layout parsing errors
Add location information to all error and improve "expected tag" errors.
2023-12-17 12:12:23 +01:00
Jules Aguillon 7af6adcf11 prefs: Report errors while editing custom layouts
Errors are obtained by running the parser, validation is throttle to
when the user stops editing for a second.
2023-12-17 11:58:41 +01:00
Jules Aguillon dd327cc812 prefs: Render line numbers in custom layout input box
Line numbers will help reporting errors. Also, disable line breaking to
improve readability.
2023-12-10 19:44:50 +01:00
Jules Aguillon d073523125 shell.nix: Update dependencies and add Gradle
Update OpenJDK to version 17, Android build tools to 33.0.1 and platform to 33.
These are required to build with Gradle.

Add Gradle to the environment, which must be wrapped to fix a
permissions issue. Setting `GRADLE_OPTS` has no effect as it seems not
to be passed down to the daemon.
2023-11-25 20:13:24 +01:00
deftkHD 684d5c7b70 Use Gradle (#452) 2023-11-25 20:11:12 +01:00
deftk 851d22da6e Make check_layout.py independent from dir structure 2023-11-25 19:08:24 +01:00
Jules Aguillon 44adb55544 Separately persisted current layout in landscape mode
Remember the selected layout in portrait and landscape mode
independently.
This allows to define a layout specific to landscape without having to
switch manually.
2023-11-19 20:10:45 +01:00
Jules Aguillon 15de829138 Persist current selected layout 2023-11-19 19:07:54 +01:00
Jules Aguillon c57d896d8d Update translations
Was missing from the previous commit.
2023-11-19 12:03:39 +01:00
RetrogisusDEV 80c6f97767 Add Desert and Jungle themes 2023-11-19 11:33:39 +01:00
Diego Puma b0cf9a52b5 Update Spanish translations (#489) 2023-11-13 00:06:43 +01:00
Jules Aguillon f696452c59 method.xml: Add Armenian 2023-11-13 00:04:31 +01:00
Jules Aguillon 70500ba6f8 Update check_layout.output 2023-11-13 00:03:45 +01:00
Rafael Grigorian 474c693427 Add Armenian layout (#490) 2023-11-13 00:00:25 +01:00
RetrogisusDEV 73060bfc00 Adaptive launcher icon
Existing icons are kept for API < 26.
2023-11-06 20:52:35 +01:00
Reza Hosseinzadeh 60134effdc Remove extra paranthesis in persian layout (#485) 2023-11-01 16:30:01 +01:00
1 838fbc8ef8 Update Turkish translation (#486) 2023-10-31 20:57:42 +01:00
Jules Aguillon 148bed769a Add left/right slider to the emoji pane
This entirely changes the implementation of the bottom row in the emoji
pane.
2023-10-28 20:14:32 +02:00
deftk 3d36ecb34d Make special font glyphs pass linting 2023-10-28 18:48:25 +02:00
Jules Aguillon 2d164ca64f Add '₽' to Russian layout and to the Fn layer
Other currencies are moved on the Fn layer for consistency with the
compose key.
2023-10-21 11:56:56 +02:00
matthiakl d594242a53 Update the neo2 layout (#477) 2023-10-20 21:06:21 +02:00
Lyubomir Vasilev bd886a24eb Add Bulgarian BDS layout (#479) 2023-10-20 14:21:14 +02:00
Luke Videckis 7b7202ec1b Add * and @ to Hindi layout (#480) 2023-10-20 12:59:19 +02:00
Jules Aguillon 33653a94cb Add page_up, page_down, home, end to extra keys
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.
2023-10-20 12:20:25 +02:00
Ojas Bhagavath 5b4345088d Use standard Greek layout in greekmath.xml (#474) 2023-09-24 16:59:47 +02:00
Jules Aguillon d5cbcb37e3 Preferred position for locale extra_keys
`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.
2023-09-24 16:35:24 +02:00
Jules Aguillon 66b1bdc9c9 Refactor: Preferred positions for extra keys
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.
2023-09-15 18:00:27 +02:00
Jules Aguillon d771e9d2c7 Refactor: Compute key positions in layouts
`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.
2023-09-10 11:43:56 +02:00
Jules Aguillon 44e2e86f19 Capitalize the first letter of custom keys
This is more useful than turning the entire string full caps.
2023-09-09 14:32:03 +02:00
Jules Aguillon 92a8db5e93 Update auto-capitalisation state when input starts
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`.
2023-09-09 14:15:44 +02:00
Jules Aguillon 687d88f4f7 Per-script numpad
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.
2023-09-03 23:38:55 +02:00
Jules Aguillon b079e5cf43 Consistent layout for optional numpad
Modify the optional right hand numpad the same way as the numeric
layout.
2023-09-03 23:36:49 +02:00
Jules Aguillon 86038ef512 check_layout.py: Deterministic output order 2023-09-03 20:15:31 +02:00
Jules Aguillon 816269aed0 Remove unused editing keys from the settings
These keys don't seem to have a purpose, which is confusing.
2023-09-03 15:05:23 +02:00
Ben Slusky 234986817f Change Greek math koppa to lowercase (#457)
Uppercase koppa can still be entered as shift+koppa.
2023-08-30 09:33:36 +02:00
pharook f4a995e2bd Add Czech QWERTY layout (#455) 2023-08-28 19:16:39 +02:00
Jules Aguillon f07fbaff3b CONTRIBUTING: Fix typos 2023-08-27 17:44:13 +02:00
Jules Aguillon 3530263083 CONTRIBUTING: Improve translation guidelines 2023-08-27 17:39:04 +02:00
Jules Aguillon 9b917e79b1 Fix regression on Ctrl on space bar slider
This makes Ctrl+move_cursor the same as before 5123ce5.
2023-08-26 23:44:41 +02:00
Jules Aguillon f4c11d99ed Disable automatically Shift when pressing Ctrl
Automatic capitalisation might interferes with keyboard shortcuts.
2023-08-26 23:37:22 +02:00
Jules Aguillon cf76118548 Add missing combining accents
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.
2023-08-20 01:03:14 +02:00
Jules Aguillon 40498e7b4c Refactor: Allow combining diacritics modifiers
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.
2023-08-20 00:44:22 +02:00
Jules Aguillon cd5ca56226 Release 1.24.0 (36)
Check layouts / check-layouts (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Make Apk CI / Build-Apk (push) Has been cancelled
1.24.0
2023-08-18 12:29:17 +02:00
Shareef101 491e72f247 Add urdu phonetic layout (#413) 2023-08-18 12:20:41 +02:00
Dimethylebutane c3a5dc63f2 Added french bépo layout (adapted) (#402) 2023-08-18 12:15:43 +02:00
Eluc 6cb6f2541b Add Bitcoin symbol to Fn+b (#434) 2023-08-18 12:14:20 +02:00
Jules Aguillon 5123ce5417 Fix slider movements changing input focus
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.
2023-08-17 12:47:44 +02:00
Jules Aguillon 2dc0ce066d Fix inconsistent initial spacing between keys
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.
2023-08-16 18:25:20 +02:00