abouttreesummaryrefslogcommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-18refactor: Implement Compose without global stateJules Aguillon5-32/+32
Thanks to the previous commit, a modifier key can now be more complex than just a KeyValue.Modifier. This allows a more elegant implementation of the compose key, that could be taken as a base for other features (eg. unicode hex entry, hangul) The COMPOSE_PENDING modifier is removed as keys of kind Compose_pending can act as a modifier. This has the advantage of highlighting the key that was last pressed in the sequence. Rules are added to Pointers: Non-special but latchable keys must clear latches and cannot be locked with a long press. These rules were not needed before but were intended.
2024-03-18refactor: Allow modifier of other key kindsJules Aguillon4-32/+69
Allow keys of a kind other than Modifier to be a modifier. This requires writing a compareTo function for KeyValue. Fields are compared in this order: Kind, value, flags, symbol.
2024-03-18refactor: Use Pointers.Modifiers.has lessJules Aguillon1-6/+5
The performance characteristics of this function will change in future plans.
2024-03-16Fix potential out of bounds accessJules Aguillon1-1/+1
The preferred pos mechanism could cause an out of bounds access on 1 row layouts.
2024-03-16Move fastlane metadata into fastlane/metadata/androidJules Aguillon85-5/+5
2024-03-14Update Russian translation (#588)solokot1-67/+67
2024-03-11Improve the QWERTY (Slovak) layoutJules Aguillon1-5/+4
The grid layout was not likeable.
2024-03-11refactor: Pointers: Flag for sliding stateJules Aguillon1-7/+5
2024-03-11refactor: Add latched flag to PointersJules Aguillon1-8/+14
2024-03-11refactor: Use internal flags in PointersJules Aguillon3-40/+44
'FLAG_LOCKED' and 'FLAG_FAKE_PTR' are only used within Pointers. Define new flags in Pointers and remove these from KeyValue. Also allows to define new flags.
2024-03-10Update Spanish translations (#586)Spike1-10/+10
2024-03-09Update to Unicode Emoji v15.1 (#583)Quinn Cypher1-709/+1835
2024-03-07Update cs strings.xml (#582)Validbit1-12/+12
2024-03-04Update Latvian translations (#580)Edgars1-8/+8
2024-03-04metadata: Remove metedata without a short_descriptionJules Aguillon3-2/+2
It is mandatory for Google Play.
2024-03-04Revert renaming metadata locale directoriesJules Aguillon73-5/+28
Metadata directories were renamed while adding store descriptions into strings files for simplicity. This interferes with releases so is released. An hardcoded lookup table is used instead.
2024-03-03Update German strings.xml (#579)polyctena1-8/+8
2024-03-03Release 1.27.0 (39)Jules Aguillon2-2/+8
2024-03-03Gujarati phonetic layout (#562)Yogesh-B4-0/+91
added shift modifier characters Add support for gujarati numerals Co-authored-by: yogesh-b <yogesh@improwised.com>
2024-03-03Fix auto-capitalisation disabling locked shiftJules Aguillon2-22/+34
Shift locked via the "caps lock" key use the "fake pointer" mechanism that is also used by auto-capitalisation. Make sure that unlatching a fake pointer do not disabled a locked modifier. The implementation is moved into the Pointers class for a safer API and easier implementation.
2024-03-03Update pl/strings.xml (#578)Chasm Solacer1-8/+8
2024-03-02Add QWERTY (Slovak) layoutJules Aguillon3-0/+44
The original author is @sejkm in https://github.com/Julow/Unexpected-Keyboard/issues/573
2024-03-02compose: Parse json files and fix edge casesJules Aguillon2-3/+22
There's no json file yet, this was part of an experiment. Add a missing escape rule and detect colliding sequences.
2024-03-02compose: Add a README.mdJules Aguillon1-0/+8
Mention the source of the sequences files.
2024-03-02Improve the AZERTY layoutJules Aguillon2-6/+6
Add éèàç directly to the layout, which removes the corresponding dead keys. Remove the requirement for ù and ÿ from method.xml, which are extremely rare and can be typed via the compose key.
2024-03-02translations: Remove outdated store descriptionsJules Aguillon3-48/+12
2024-02-28Modify the number row according to the numpad scriptJules Aguillon2-13/+27
The same way as the numpad is modified.
2024-02-28Fix localized numpad outputing wester arabic numbersJules Aguillon1-2/+2
The number keys were constructed in the wrong way: the rendered symbol was correct but not the underlying character that is typed.
2024-02-24method.xml: Add en-CA and fr-CAJules Aguillon1-1/+3
Without this, the system might choose en-GB and fr-CH. This makes them more similar to en-US and fr-FR (without € in extra keys).
2024-02-22Remove € from en-GB extra keysJules Aguillon1-1/+1
2024-02-22Ensure the layout contain the config keyJules Aguillon1-0/+3
Without the config key, the user risk being locked in a custom layout that lacks an escape key like 'switch_numpad', 'change_method', etc..
2024-02-21Add FUNDING.ymlJules Aguillon1-0/+3
Thanks to everyone considering funding the development of the app.
2024-02-18Relicense layout definitions under CC0 (#528)Jules Aguillon5-0/+141
* Relicense layouts under CC0 Layout definitions are licensed differently from the rest of the application source code to allow use in other projects related or unrelated to Unexpected Keyboard. Some layouts are not re-licensed and their original copyright continues to apply. The copyright notice is added at the top of the files. * Contributing: Mention layout licensing
2024-02-18CI: Improve layout and store description checks (#565)Jules Aguillon5-10/+23
* CI: Run 'check_layout.py' Ensures that 'check_layout.output' is not outdated. Also, update it. * CI: Check new store descriptions When a store description is added, 'python3 sync_translations.py' leaves an untracked file that is not checked. This makes sure that untracked store descriptions are noticed in CI.
2024-02-18neo2: Update bottom row (#560)matthiakl1-7/+7
2024-02-18Update Ukrainian translation (#561)Sergiy Stupar1-10/+10
2024-02-17Allow to remove the compose key in the settingsJules Aguillon21-14/+34
2024-02-17Add the compose key on alternate layoutsJules Aguillon2-2/+2
Though it is not useful in the greek-math layout, it could give ideas for new sequences.
2024-02-17compose: Grey out keys that are not in sequenceJules Aguillon7-13/+24
Keys that are not in the pending compose sequence are greyed out with the new 'FLAG_GREYED' flag.
2024-02-17Dim secondary keys in every themesJules Aguillon2-12/+8
Themes do not dim secondary keys the same way due to the "offset" mechanism. Instead, use a ratio that is the same for every themes. It's still possible to override this ratio per theme.
2024-02-17Fix KeyValue flags layoutJules Aguillon1-17/+22
The kind field wasn't large enough to hold the new Compose_pending kind. The flags field is reduced in size by removing a free spot. The FLAGS_BITS mask is defined in a safer way.
2024-02-17compose: Add glyphJules Aguillon3-1/+9
2024-02-17compose: Don't remove keys not in sequenceJules Aguillon1-7/+14
Keys that are not part of any possible sequences are now dimmed and still usable instead of being removed, which felt weird.
2024-02-17compose: Add X11 compose sequencesJules Aguillon8-32/+5532
compile.py implements a parser for X11's Compose.pre files. A lot of code is necessary to interpret character names but thanksfully, the name of most characters is contained in the file. The state machine is compiled into two char arrays which unfortunately requires an expensive initialisation and allocation.
2024-02-17Compose keyJules Aguillon11-11/+244
The COMPOSE_PENDING modifier indicate whether a compose sequence is in progress. The new key of kind Compose_pending sets the current state of the sequence. The compose sequences are compiled into a state machine by a python script into a compact encoding. The state of the pending compose is determined by the index of a state.
2024-02-16Add QWERTY GB layout (#557)Ryan Gibb4-2/+44
Adapted from latn_qwerty_us * Make it the default layout for en-GB
2024-02-14Improve latn_qwerty_tly.xml (#549)vedamanavi1-3/+2
Removing "g" as it was used two times as a main key. shift="0.5" added
2024-02-14Don't invert the pin entry layoutJules Aguillon3-3/+30
The pin entry layout shouldn't be inverted as the letter indications would be meaningless and the order would be opposite to what the option specifies. The enter and action key are swapped as the automatic swapping is also removed.
2024-02-11Update README.md (#553)BogdanLata1-0/+2
I made more clearer how to use the keys
2024-02-10Fix various linter warningsJules Aguillon29-69/+40
Among others: - Use `apply` instead of `commit` when saving shared preferences. - Avoid inlined Api - Remove unused resources