abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
2024-10-04Add combining diacritics keysJules Aguillon21-0/+801
Co-authored-by: Anastazius Kaejatidarjan <zdarian@asu.edu>
2024-09-29Add Fn layer and Compose sequences for CyrillicJules Aguillon4-170/+348
2024-09-29Improve Ctrl key labels for Serbian Cyrillic layoutJules Aguillon3-45/+50
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.
2024-09-29refactoring: safer KeyboardData.loadJules Aguillon1-13/+14
2024-09-29Fix crash with complex keysJules Aguillon1-1/+1
2024-09-29Add complex keys (#774)Jules Aguillon5-22/+286
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.
2024-09-21Increase default label size (#747)bokidori1-1/+1
Change default label size to 1.15
2024-09-21Change the place of چ and ژ in Persian Keyboard Layout (#757)Mostafa Khorashadi Zadeh1-4/+4
* Change place of "چ" and "ژ" * rollback unexpected changes
2024-09-19Improve bone layout (#748)Zitrone1-34/+60
* shell.nix: fix gradle error error was: > \> Task :compileDebugJavaWithJavac FAILED > error: Source option 7 is no longer supported. Use 8 or later. > error: Target option 7 is no longer supported. Use 8 or later. fixed by overriding the jdk version for gradle to openjdk17 * layouts/latn_bone: fix layout - fix alignment with tabs mess - make like actual bone layout, instead of trying to fit it into a 10 key wide keyboard - fixes missing üäö - fix missing $ - moves q and ß where they belong - remove all of the diacritic keys (they can be added through the settings as extra keys) - kept the number row extra keys integration into top row - kept the idea of compressing , and . into the swipe actions of the bottom row - kept the number keys as key4 in the layer4 positions (instead of moving them to a number row, which i also considered)
2024-09-14compose: Deduplicate end statesJules Aguillon2-235/+198
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.
2024-09-10Define the Shift modifier using the compose mechanismJules Aguillon3-63/+61
2024-09-10Define the Fn modifier using the compose mechanismJules Aguillon3-291/+305
This removes 100Kb from the app.
2024-09-10compose: Allow c-style comments in json filesJules Aguillon1-1/+8
Useful to manager growing the collection of sequences.
2024-09-10Compose sequences can end in internal key namesJules Aguillon3-104/+108
This adds the '\n' and '\t' sequences to showcase the new feature.
2024-09-10Update autocapitalisation on EnterJules Aguillon1-0/+3
2024-09-08Add Japanese translation and layout (#743)cknight8281-0/+37
2024-08-18Fix crash when clipboard contains an imageJules Aguillon1-1/+5
2024-07-28Map Fn+Cursor_move to home/end (#728)bokidori1-0/+11
Fn modifier switches cursor_left to home key, cursor_right to end key
2024-07-27Added supported key for avoiding the pain of auto-caps (#725)Adrian2-106/+108
2024-07-27Update cyrl_lynyertz_sr.xml (#727)bokidori1-7/+27
Include comprehensive ctrl modmap, enabling the use of ctrl modifier with Serbian Cyrillic keys. Remove clunky fn modmap previously used for just a few actions such as cut/copy/paste/etc.
2024-07-27Add new keyevent "menu" (#726)Nils Brederlow2-0/+2
* Update ExtraKeysPreference.java add "menu" to array of extra keys * Update KeyValue.java add menu keyevent
2024-07-27Fix scaling for layouts with few columnsJules Aguillon1-1/+1
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.
2024-07-27Fix crash on Android 6Jules Aguillon1-4/+6
The call to getLanguageTag() introduced in 4629410 requires API 24.
2024-07-25Allow Ctrl modmaps in layoutsJules Aguillon2-4/+22
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.
2024-07-25Update ComposeKeyDataJules Aguillon1-218/+218
Outdated since 6c786f2
2024-07-25Revert "latn_qwerty_pl: Consistent placement for ó" (#714)asivery1-2/+2
This reverts commit c5e9e3ff5c2581004ff5ce2ab3061ff2ed40ea96.
2024-07-25Add Serbian Latin QWERTY layout (#720)bokidori1-0/+46
Adds Serbian Latin QWERTY layout. Serbian language uses both Latin and Cyrillic as its official scripts, and this variant should cover anyone from Serbo-Croatian speaking group that uses Latin script.
2024-07-25Add Serbian Cyrillic layout (#718)bokidori1-0/+56
Adds Serbian Cyrillic layout. Modmap of Fn key allows for desktop-like easier access to actions such as selectAll, copy, paste, etc. This is because, unlike desktop systems, on mobile ctrl does not combine with cyrillic keys to perform actions.
2024-07-25Update accent_circonflexe.json (#719)bokidori1-1/+6
Allow combining circumflex \u0302 for Cyrillic vowels, enabling users to express themselves accurately. ја сам са̂м = I am alone ја сам сам = I am am да = yes да̂ = give код = at ко̂д = code Similar to #437 for aigo.
2024-07-21Allow extending the compose key (#713)Jules Aguillon7-240/+265
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.
2024-07-21Improve zwnj/halfspace symbol and Persian layout (#711)Reza Hosseinzadeh3-7/+7
* 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
2024-07-14Fix unintended layout used for unsupported languagesJules Aguillon1-7/+16
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.
2024-07-14Fix crash when using a different script layoutJules Aguillon1-2/+4
This might happen when using a layout of a different script than the installed languages.
2024-07-06Add locale_extra_keys keyboard attributeJules Aguillon2-5/+9
This attribute can be used to disable adding the extra keys from method.xml.
2024-07-06Add support for Android 12+ dynamic colors (#647)TadaCZE1-1/+7
2024-07-06Clipboard pane (#681)Jules Aguillon12-2/+535
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.
2024-07-06Fix crash with narrow layoutsJules Aguillon1-1/+1
The PreferredPos mechanism cause an out of bound access since 773147a.
2024-06-30Option to disable key repeatJules Aguillon2-34/+34
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.
2024-06-29Validate more fields in custom layoutsJules Aguillon1-5/+11
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.
2024-06-24Remove 'loc' keys from latn_qwerty_usJules Aguillon1-10/+10
Use the "preferred position" feature to place the removed keys approximately where they were.
2024-06-22Don't stop keyrepeat after a circle gestureJules Aguillon1-1/+0
This was inconsistent with the anticircle and roundtrip gestures.
2024-06-16Don't change input view when configuration changesJules Aguillon1-1/+1
This doesn't seem necessary and won't play well with eventual keys that change the configuration.
2024-06-16Launcher activity: Don't consume events in text fieldJules Aguillon1-5/+9
Allow the keybindings to have an effect in the "Try here" text field.
2024-06-09Option to tweak or disable the circle gestureJules Aguillon2-1/+3
2024-06-09Use preferred dir when placing a key next to an otherJules Aguillon1-2/+8
2024-06-09Automatic placement of f11/f12 placeholdersJules Aguillon34-56/+97
2024-06-09Allow to remove keys Tab and EscJules Aguillon49-97/+101
2024-06-09Refactor: Remove the KeyModifier cacheJules Aguillon1-29/+3
2024-06-09Move diacritics mapping to the compose state machineJules Aguillon24-769/+628
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).
2024-06-09compose: Compile several starting statesJules Aguillon3-197/+218
Sequences from several files are no longer merged but compiled to separate starting states. The plan is to use that to represent the diacritics.