abouttreesummaryrefslogcommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-06-28Accept some escaped keys in custom layoutsJules Aguillon1-0/+8
These symbols have special meaning when in `res/xml` and are escaped in standard layouts. The backslash is not stripped when parsed from the custom layout option. Treat these backslashed keys specifically to allow standard layouts to be passed back to the custom layout option.
2023-06-28Fix crash when the layout has less than 3 rowsJules Aguillon1-1/+1
2023-06-25Add hardcoded charmaps for most accentsJules Aguillon1-10/+174
`KeyCharacterMap.getDeadChar` may not be aware of the same dead keys in older version of Android. Hardcoded charmaps are more predictable.
2023-06-25CI: Check that 'gen_layouts.py' output is uptodateJules Aguillon1-0/+19
2023-06-25Update guidelines about adding layoutsJules Aguillon2-7/+20
to reflect the recent changes. Also, change `gen_layouts.py` to not generate warnings for file that are known not to be layouts.
2023-06-25Use generated arrays in Config.layout_of_stringJules Aguillon3-49/+73
This function is no longer an hardcoded list of layout ids. It's replaced by a linear scan of the previously generated array and a new corresponding array of resource ids.
2023-06-25Generate layouts arrays used in settingsJules Aguillon41-119/+190
`gen_layouts.py` lists the layouts in `res/xml` and generate the `pref_layout_values` and `pref_layout_entries` arrays into `res/values/layouts.xml`. These arrays are hard to maintain as the order has to match, which is fragile. This relies on every layouts having a `name` attribute.
2023-06-25Standard layout names (#386)Jules Aguillon41-195/+206
The names are comprised of: script, layout name, country code. Co-authored-by: grim <verdastelo9604@hotmail.com>
2023-06-25Added Romanian layout and translations with special romanian characters (#358)Vasile Chelban9-0/+136
Added Romanian characters to the keyboard layout and changed the positioning corner for the secondary characters that were conflicting with the newly-introduced romanian characters Added Romanian translations
2023-06-25Update check_layout.outputJules Aguillon1-1/+5
2023-06-25Add Bengali Provat Layout (#357)Sabbir5-3/+46
* Add Bengali Provat Layout I added bengali_provat layout and renamed old bengali to actual layout name.
2023-06-24Specify the script of every layouts and localesJules Aguillon35-131/+98
This new information will avoid showing é on a cyrillic layout and ґ on a latin layout.
2023-06-24Per-script extra keysJules Aguillon3-29/+66
Allows to define a locale's script in 'method.xml' and use that to add the extra keys for a locale to layouts of the same script only. A locale of an undefined script will add its extra keys to every layouts. A layout of an undefined script will have the extra keys of all the enabled locales.
2023-06-22Allow to specify a layout scriptJules Aguillon3-43/+91
Add the `script` attribute, which will be used to implement script-specific extra keys.
2023-06-22Add ə to the extra keys for ItalianJules Aguillon1-1/+1
2023-06-10Fix `_localeTextLayout` null on API < 12Jules Aguillon2-14/+13
On API level < 12 or on some rare cases, `refreshSubtypeLayout` was not called, making `_localeTextLayout` uninitialized. This might also happen if `getExtraValueOf` returns an invalid layout name. eg. `method.xml` contains an invalid layout name.
2023-06-07Use utf-8 encoding while formatting translations on Windows. (#376)six-61-1/+1
When running sync_translations.py on Windows, an error will show because it use gbk encoding by default. Using utf-8 encoding explicitly can fix it.
2023-06-07Update translations of Simplified Chinese (#377)six-61-28/+28
2023-06-04Increase vibration valuesJules Aguillon1-3/+3
2023-06-04Add Kurdish Layout (#353)KuRa KuRd3-0/+42
Add Kurdish Keyboard Layout Qwerty Based Without Shift.
2023-06-04Explicitly map dead key for ñJules Aguillon1-1/+28
`KeyCharacterMap.getDeadChar` seems to not give the expected result on Android 4.0. This might affect many more dead key combinations that are not fixed by this commit.
2023-06-03Updated pl (Polish) translation (#374)Chasm Solacer1-6/+6
2023-06-03Add automated checks on layoutsJules Aguillon5-8/+201
The script `check_layout.py` checks some properties about layouts. No check is an error. The result of running this script on every layouts is stored in the file `check_layout.output`, which is useful to track changes. Add make rules to run this script as well as `sync_translations`.
2023-06-03Refactor: Remove dimens used as option defaultsJules Aguillon3-19/+8
The conversion into px was done twice, leading to wrong values.
2023-06-03Refactor: Handle Event keys in Keyboard2Jules Aguillon2-100/+71
The `KeyEventHandler` class is intended to handle every keys and to call into the main class through a limited API. However, this is not true for `Event` keys, which in practice had each a corresponding API call.
2023-06-03CONTRIBUTING: Translation updates linkJules Aguillon1-0/+4
2023-06-03Fix escaping in values-fr/strings.xmlJules Aguillon1-1/+1
2023-06-03Update fr translationsJules Aguillon1-11/+11
2023-06-03Hide the voice typing key if no suitable IMJules Aguillon2-19/+30
Implemented similarly to the IM switching key.
2023-06-03Add Voice Typing keyJules Aguillon7-1/+39
The new key switches to any installed "voice" input method. If several input methods matches, no effort is made to choose. Might misbehave with some input methods other than Google's on API < 28. It is placed on the middle of the arrows on the bottom bar. It is enabled by default and can be removed in the "Extra keys" option. The key is not removed from the keyboard if no voice input method exists.
2023-06-03More control over vibrationJules Aguillon20-11/+175
The newer haptic feedback API that is used instead of the vibrator service since ef03dfe doesn't work for everyone. The new vibration option allow to choose both the newer API ("system") and the older API ("strong", "medium", "light").
2023-06-03Launcher activity: Don't handle the back buttonJules Aguillon1-0/+3
2023-06-03Per-layout shift modmapJules Aguillon3-12/+77
Specify the behavior of shift for a layout. This is intended for locales that use the same alphabet but have different capital letters (eg. Bengali). The modmap is defined like this: <keyboard> <modmap> <shift a="a" b="A"/> </modmap> </keyboard>
2023-05-28Mention Lixquid's editor in CONTRIBUTING.mdJules Aguillon1-0/+2
2023-05-28Update pt-br translation (#367)marciozomb131-33/+33
Update pt-br translation
2023-05-28Update pt-BR title.txt (#368)marciozomb131-1/+1
Updated to Match the translated name
2023-05-24Modify persian layout and add some new characters (#348)Reza Hosseinzadeh2-29/+30
- Add character پ and ژ - Change math operators and symbols location
2023-05-24Fix gravity of keyboard in full screen (#363)vladgba1-5/+58
Set keyboard bottom gravity and adjust inputArea height so it doesn't appear on top in fullscreen.
2023-05-12Increase the range of the "label size" optionJules Aguillon1-1/+1
2023-04-23Complete Farsi translation (#346)Reza Hosseinzadeh1-43/+43
2023-04-23Pull request to add new layout Persian (#342)Reza Hosseinzadeh5-1/+125
* Add persian layout * Change layoutId_of_string to layout_of_string * Add translation for Persian
2023-04-21Translation update for Vietnamese (#344)rVnPower2-14/+4
2023-04-19Update German strings.xml (#337)polyctena1-5/+5
2023-04-17Update German translation for app descriptions (#336)Moini2-17/+5
* Update short description for German * Update German translation for long description.
2023-04-16Updated russian description and strings.xml (#334)Maki Nishikino3-26/+16
2023-04-16Update translation for description in Latvian (#335)Edgars2-17/+5
2023-04-16Updated pl (Polish) translation (#333)Chasm Solacer3-19/+9
2023-04-15Add language: IcelandicJules Aguillon1-2/+3
2023-04-15New app descriptionJules Aguillon5-51/+22
2023-04-15Update contributing guidelinesJules Aguillon1-10/+26