abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
2025-02-28Refactor: Remove StringWithSymbolJules Aguillon3-47/+7
It's replaced with a macro containing one key.
2025-02-27cyrl_lynyertz_sr: Use the newer key syntax for ctrl mappingsJules Aguillon1-26/+26
2025-02-27KeyValue: Don't wrap keys into a macro when possibleJules Aguillon2-8/+33
Many kind of KeyValues don't need to be wrapped into a Macro to show a specific symbol. This is especially useful as Macro keys are not affected by modifiers. The parser is changed to have a fast-path when a key value is not a macro.
2025-02-27Fix miscalculation of the bottom marginJules Aguillon1-4/+4
'_marginBottom' might be uninitialized when used.
2025-02-27Show a message in voice input chooser when emptyJules Aguillon1-0/+3
This avoids creating an empty dialog that appears as a mysterious white rectangle.
2025-02-27Fix crash due to empty strings in keysJules Aguillon1-1/+3
2025-02-23Apply compose sequences to String keysJules Aguillon5-56/+82
This is mostly useful for characters that do not fit on a single 16-bit char. Shift sequences for 𝕨𝕩𝕗𝕘𝕤 are added for illustration.
2025-02-23Macro keys (#878)Jules Aguillon5-104/+313
Add "macro" keys that behave as if a sequence of keys is typed. Macro can be added to custom layouts or through the "Add keys to the keyboard option". The syntax is: symbol:key1,key2,.. The symbol cannot contain a : character. 'key1', 'key2', etc.. are: - 'String with \' escaping' The key will generate the specified string. - keyevent:123 The key will send a keyevent. - The name of any special key
2025-02-22ExtraKeysPreference: Allow title to span several linesJules Aguillon1-0/+1
Some titles in the extra keys list are truncated and some information are invisible.
2025-02-15prefs: Add key description for dead keysJules Aguillon1-0/+22
2025-02-15layouts/latn_bone.xml: improve (#760)Zitrone1-47/+106
* layouts/latn_bone.xml: use new syntax and add most missing keys new syntax: n/s/e/w/ne/nw/se/sw instead of key{1..8} Some keys were missing keys according to the tests, this adds them in a similar way to latn_neo2. Only `switch_forward` didn't fit (because of the 0 at the bottom of the spacebar). * layouts/latn_bone.xml: even better bone - use number row to unclutter rest of keyboard - use modmap for special shift functions of bone layout - add missing loc characters - use standard bottom bar - add diacritics from the 3 dead key keys on bone - 2 small keys left and right of the number row (don't fit all 6 diacritics, so they leak onto the number keys) - row 1 is full too, so the dead keys from the left of that row leak onto the keys there as well open questions: - should bone rely on the math layer or use modmap? - possibility to combine diacritics?
2025-02-15misc changes to deva alt layout (#880)Luke Videckis1-21/+20
* misc changes to deva alt layout * add indication for numpad for discoverability * change key* notation to c/nw/ne/sw/se notation
2025-02-09Refactor: Compute appearance values before onDrawJules Aguillon2-88/+140
This moves some computations that used to be done during onDraw into the new Theme.Computed class. This also removes Paint objects from the Theme class, making it data-only. This is a requirement for making some keys render differently.
2025-02-09Refactor: Cleanup KeyValue flag declarationsJules Aguillon1-13/+12
Flag 'FLAGS_OFFSET << 8' was incorrectly mentionned as free and the value bits were not taking free flags into account and were bigger than expected.
2025-02-09Fix the compose key being lockableJules Aguillon1-2/+2
The compose key was lockable because it had the flag "FLAG_SPECIAL". Without this flag, the key is not lockable with a long press.
2025-02-08Add a glyph for cancelling the compose keyJules Aguillon3-9/+15
2025-02-08Make the left and right keys symbol smallerJules Aguillon1-2/+2
Prevents the arrow symbols from colliding with the compose key symbol as the dpad key is very narrow.
2025-02-08Improve the compose key symbolJules Aguillon2-7/+7
Make the symbol bolder and slimmer.
2025-02-08Remove binding fn+shift = capslockJules Aguillon1-14/+17
This made is hard to type fn+shift. gesture+shift still locks shift.
2025-02-08Add embedded_number_row keyboard attribute (#891)dzaima2-4/+8
2025-02-04Pressing the compose key exits the pending sequenceJules Aguillon2-1/+14
Allows stopping a compose sequence without typing anything. This is also a more intuitive behavior rather than starting a new sequence.
2025-02-04prefs: Mention Fn combination for accessing extra keysJules Aguillon1-12/+42
2025-02-03Even slower slidedzaima1-1/+1
2025-01-25Fix Enter key sending message in DiscordJules Aguillon1-1/+4
Set the flag FLAG_SOFT_KEYBOARD when sending key events stops Discord from sending message when typing Enter. The other values are the same that are sent when using sendDownUpKeyEvents().
2025-01-25Slightly less permissive swipe detectionJules Aguillon1-2/+3
This allows starting an anticircle gesture on a key with sliders on two opposite sides.
2025-01-25Maltese layout (#825)tenextractor1-0/+42
2025-01-25Add Mongolian layout (#882)David Holdeman1-0/+42
2025-01-18Azerbaijani layout (#827)tenextractor1-0/+45
2025-01-18Vibrate when a circle gesture endsJules Aguillon1-0/+1
This is especially useful when discovering the circle gestures and to feel when a gesture has been entered by accident.
2025-01-18Stable ordering or extra keysJules Aguillon1-2/+2
Extra keys were ordered randomly everytime the settings were changed. Now, there's a single ordering for each combinations of options in the settings.
2025-01-18latn_qwerty_gb: Better position for ',.'Jules Aguillon1-4/+4
2025-01-12Refactor: KeyValue: Simplify StringWithSymbolJules Aguillon2-71/+24
This removes the Complex key kind and class by making StringWithSymbol a new kind of key.
2025-01-12Refactor: KeyValue: Don't require _payload.equalsJules Aguillon1-10/+6
Don't require _payload.equals to be implemented (correctly) and avoids inconsistencies with _payload.compareTo, which is required by type.
2025-01-12Improve layout WORKMAN (US)Jules Aguillon1-6/+6
Co-authored-by: goyalyashpal <yashpalgoyal1304@gmail.com>
2025-01-12Add cursor_up and cursor_down slider keysJules Aguillon2-35/+46
Implement up and down cursor movement slider. This is not added to any layout yet due to the undesirable behavior when moving the focus out of the text box being edited.
2025-01-11Allow sliders in every directionsJules Aguillon1-16/+27
Sliders are no longer limited to the x dimension and can be placed in corners or purely on the y dimension.
2025-01-11Remove the 'slider="true"' attributeJules Aguillon3-14/+8
Whether a key behaves as a slider is now purely defined by the key values present on it.
2025-01-11Refactor: Restrict sliders to new 'Slider' key kindJules Aguillon3-58/+61
Setting 'slider="true"' on a key is no longer enough to make a slider, the key must also be of kind 'Slider'. Only the KeyValue that started sliding is now considered, they can be generated with negative values. This allows keys that don't have the complementary cursor movement key on the opposite direction. This will help implement other kind of sliders as well as up/down sliders.
2025-01-11Refactor: Make KeyValue payload ComparableJules Aguillon1-17/+21
and use 'toString()' instead of 'getSymbol()'. This removes unecessary casts when computing symbols and comparing key values. This will make adding other kind of keys easier.
2025-01-11Make the space bar slider slightly less sensitiveJules Aguillon1-1/+1
2025-01-11More precise 1-position movement with space bar sliderJules Aguillon1-9/+24
Moving the cursor by 1 position is hard because the finger has to travel far enough to activate the slider but then becomes very sensitive. With this change, swiping on the space bar slider will immediately move the cursor by 1 position but the slider will activate only if the finger travel an other swiping distance.
2025-01-03Lock shift with a gestureJules Aguillon1-0/+10
The circle gesture locks shift. It is also the case for the round-trip gesture if shift is in a corner.
2025-01-03Add glyphs for zwj and zwnjJules Aguillon3-4/+76
Co-authored-by: @srikanban
2025-01-03Refactor: Make all glyph file names 3 character longJules Aguillon52-0/+0
For easier reading.
2025-01-03Remove numpad keys from the main layoutJules Aguillon1-5/+14
When the numpad is visible, remove the digits and arithmetic symbols from the main layout. Similarly to when the number row is added.
2025-01-03Allow 'loc' keys to be present several timesJules Aguillon1-13/+17
2025-01-02Add zwj, zwnj, nbsp, nnbsp to extra keys preferencesJules Aguillon1-0/+8
2025-01-02Lithuanian QWERTY layout (#824)tenextractor1-0/+40
2024-12-31Don't double tap for capslock after automatic capitalisationJules Aguillon1-1/+2
Allow to more easily disable automatic capitalisation when it's unwanted.
2024-12-31Refactor: Simplify double tap for capslockJules Aguillon4-31/+25
This doesn't fix a bug but remove some tricky code. The shift key is no longer different when the "double tap for capslock" option is on. The handling of the option is moved to Pointer instead and becomes simpler.