abouttreesummaryrefslogcommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-10-28Make special font glyphs pass lintingdeftk29-29/+35
2023-10-21Add '₽' to Russian layout and to the Fn layerJules Aguillon2-3/+4
Other currencies are moved on the Fn layer for consistency with the compose key.
2023-10-20Update the neo2 layout (#477)matthiakl1-4/+4
2023-10-20Add Bulgarian BDS layout (#479)Lyubomir Vasilev4-1/+47
2023-10-20Add `*` and `@` to Hindi layout (#480)Luke Videckis1-1/+1
2023-10-20Add page_up, page_down, home, end to extra keysJules Aguillon19-1/+77
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-09-24Use standard Greek layout in greekmath.xml (#474)Ojas Bhagavath1-26/+26
2023-09-24Preferred position for locale `extra_keys`Jules Aguillon3-14/+55
`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-15Refactor: Preferred positions for extra keysJules Aguillon5-48/+120
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-10Refactor: Compute key positions in layoutsJules Aguillon3-22/+51
`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-09Capitalize the first letter of custom keysJules Aguillon2-1/+14
This is more useful than turning the entire string full caps.
2023-09-09Update auto-capitalisation state when input startsJules Aguillon1-3/+37
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-03Per-script numpadJules Aguillon5-13/+129
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-03Consistent layout for optional numpadJules Aguillon2-2/+2
Modify the optional right hand numpad the same way as the numeric layout.
2023-09-03check_layout.py: Deterministic output orderJules Aguillon2-9/+9
2023-09-03Remove unused editing keys from the settingsJules Aguillon20-57/+7
These keys don't seem to have a purpose, which is confusing.
2023-08-30Change Greek math koppa to lowercase (#457)Ben Slusky1-1/+1
Uppercase koppa can still be entered as shift+koppa.
2023-08-28Add Czech QWERTY layout (#455)pharook2-0/+40
2023-08-27CONTRIBUTING: Fix typosJules Aguillon1-6/+6
2023-08-27CONTRIBUTING: Improve translation guidelinesJules Aguillon1-7/+23
2023-08-26Fix regression on Ctrl on space bar sliderJules Aguillon1-2/+8
This makes Ctrl+move_cursor the same as before 5123ce5.
2023-08-26Disable automatically Shift when pressing CtrlJules Aguillon5-7/+40
Automatic capitalisation might interferes with keyboard shortcuts.
2023-08-20Add missing combining accentsJules Aguillon1-27/+34
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-20Refactor: Allow combining diacritics modifiersJules Aguillon2-328/+327
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-18Release 1.24.0 (36)Jules Aguillon2-1/+10
2023-08-18Add urdu phonetic layout (#413)Shareef1013-0/+45
2023-08-18Added french bépo layout (adapted) (#402)Dimethylebutane3-0/+46
2023-08-18Add Bitcoin symbol to Fn+b (#434)Eluc2-2/+3
2023-08-17Fix slider movements changing input focusJules Aguillon3-33/+105
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-16Fix inconsistent initial spacing between keysJules Aguillon1-1/+1
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-16Create latn_qwertz_fr_CH.xml (#390)Eluc4-1/+49
Adapted from qwertz DE to match qwertz fr_CH layout. Added all missing characters with accents needed in French while leaving the most common Swiss German characters as it is on the Swiss layout PC keyboard. Re-organized some special characters to be in a similar position than the PC layout. * Add locale fr-CH
2023-08-16Move voice input key (#433)Validbit1-2/+2
Move the voice input key to the top-left corner of the return key to reduce accidentally entering voice input, which is disrupting.
2023-08-16Migrate layouts preferencesJules Aguillon6-3/+82
The new `layouts` preference replaces three previous preferences: layout second_layout custom_layout Add a preference migration function, which first migration is to migrate layouts into the new preference. The migration must also be called from the SettingsActivity as it might use a different preference store due to the boot-aware preference copy.
2023-08-16LayoutsPreference: Remove cross button for custom layoutsJules Aguillon18-12/+46
Remove the cross button on the right of custom layouts to reduce accidental removal. A remove button is added in the dialog for modifying the layout.
2023-08-16LayoutsPreference: Modify custom layoutJules Aguillon2-7/+25
Clicking on a custom layout opens a dialog for modifying the layout description instead of the dialog for selecting a layout.
2023-08-16Remove unused class LayoutListPreferenceJules Aguillon2-28/+0
This class is not used since the introduction of [LayoutsPreference].
2023-08-16ListGroupPreference: Fix change itemsJules Aguillon2-11/+18
[Preference.onClick] is apparently not called on [Item]s, though it is on [AddButton]. Workaround this by listening on click events on the view.
2023-08-16Allow multiple custom layoutsJules Aguillon21-107/+194
This merges the "Layouts" option with the "Custom layout" option. A custom layout becomes an item in the "Layouts" list among the other layouts. It's possible to add several custom layouts. Selecting the "Custom layout" item in the list opens a second dialog for entering the layout description. Layouts are serialized as JSON object and are decoded solely in the LayoutsPreference class.
2023-08-16CustomExtraKeysPreference: Reusable edit text layoutJules Aguillon3-7/+7
This layout is generically used by CustomExtraKeysPreference and LayoutsPreference.
2023-08-16ListGroupPreference.Serializer: Allow exceptionsJules Aguillon1-3/+9
(De)serializing might raise exceptions, which are handled by dropping the failing item.
2023-08-16ListGroupPreference: Make items abstractJules Aguillon3-35/+70
Allow items to be of any class instead of strings. Item serialization and deserialization methods are in a separate class because they are also used in a static context.
2023-08-15Update German Strings (#430)polyctena1-29/+29
Co-authored-by: Benjamin <f.weiss@stud.uni-goettingen.de>
2023-08-08Add missing Latvian translations (#425)Edgars1-33/+35
2023-08-07Updated pl (Polish) translation (#424)Chasm Solacer1-15/+15
2023-08-07Updated Czech translation (#421)Validbit1-26/+26
2023-08-07Update pt-Br translationssdrapha1-11/+11
2023-08-07Add Superscript and Subscript letterssdrapha1-3/+39
2023-08-07Add superscript, subscript, ª and º to optional extrakeysRapha17-0/+72
And add description strings.
2023-08-07Add ordinals to ptbr extrakeysRapha1-1/+1
2023-08-07Don't elide label of non-string keysJules Aguillon1-1/+5
Several non-string keys can have a large label that shouldn't be elided, for example ctrl, meta, send. Also, change the cutoff to 3 characters as labels are easily colliding.