Commit Graph

1067 Commits

Author SHA1 Message Date
68be82a4f9 Macro keys (#878)
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
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-23 12:12:29 +01:00
581b31bf99 ExtraKeysPreference: Allow title to span several lines
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
Some titles in the extra keys list are truncated and some information
are invisible.
2025-02-22 12:02:04 +01:00
56903084f2 Remove Japanese from method.xml
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
This makes the keyboard incorrectly reports that it supports Japanese.
2025-02-15 11:55:26 +01:00
ac8fff599f prefs: Add key description for dead keys 2025-02-15 11:51:35 +01:00
a22cc39a45 layouts/latn_bone.xml: improve (#760)
* 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-15 11:28:21 +01:00
7e86ca70cd misc changes to deva alt layout (#880)
* misc changes to deva alt layout

* add indication for numpad for discoverability

* change key* notation to c/nw/ne/sw/se notation
2025-02-15 11:09:27 +01:00
33f8bf9dea Fix typo in Latvian translation (#902) 2025-02-15 10:56:14 +01:00
653c598a1c Refactor: Compute appearance values before onDraw
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
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-09 14:09:45 +01:00
bd5c815a6f Refactor: Cleanup KeyValue flag declarations
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-09 13:13:15 +01:00
06b76d58c2 Fix the compose key being lockable
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-09 13:10:16 +01:00
255d7f80d7 Add swipe actions on number row (#892) 2025-02-09 12:53:49 +01:00
d3753cc455 Add a glyph for cancelling the compose key
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
2025-02-08 23:16:18 +01:00
96dabde7c8 Make the left and right keys symbol smaller
Prevents the arrow symbols from colliding with the compose key symbol as
the dpad key is very narrow.
2025-02-08 23:14:01 +01:00
bd1a72d01e Improve the compose key symbol
Make the symbol bolder and slimmer.
2025-02-08 23:14:01 +01:00
87667a2438 Remove binding fn+shift = capslock
This made is hard to type fn+shift.
gesture+shift still locks shift.
2025-02-08 22:16:37 +01:00
8f729bb90a Add embedded_number_row keyboard attribute (#891)
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
2025-02-08 21:52:41 +01:00
aaf0a9a249 Improve the check_layout CI and output
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
Change the format of check_layout.output to avoid adding any logs for
layouts that do not trigger any warning.

Fix the check_layout CI, which was broken since check_layout.py was
changed to take arguments.
2025-02-04 17:17:46 +01:00
ae9c2fa626 check_layout.py: Adjust Shift, Tab and Esc checks 2025-02-04 16:46:49 +01:00
0061911ef3 Pressing the compose key exits the pending sequence
Allows stopping a compose sequence without typing anything.
This is also a more intuitive behavior rather than starting a new
sequence.
2025-02-04 15:50:17 +01:00
6b40803fa4 prefs: Mention Fn combination for accessing extra keys 2025-02-04 15:35:06 +01:00
defc4bc0bd Even slower slide
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
2025-02-03 12:49:32 +01:00
e1191f3add Fix Enter key sending message in Discord
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
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-25 23:20:05 +01:00
188c68279d Slightly less permissive swipe detection
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
This allows starting an anticircle gesture on a key with sliders on two
opposite sides.
2025-01-25 22:31:23 +01:00
3e3fd6ffda Maltese layout (#825) 2025-01-25 22:31:04 +01:00
81c493bff2 Update Russian translation (#884) 2025-01-25 22:24:01 +01:00
e97dbbc771 Add Mongolian layout (#882) 2025-01-25 22:23:39 +01:00
1f9e450dfa Azerbaijani layout (#827)
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-01-18 12:00:51 +01:00
b93bc90242 Vibrate when a circle gesture ends
This is especially useful when discovering the circle gestures and to
feel when a gesture has been entered by accident.
2025-01-18 11:45:13 +01:00
c6908ec846 Stable ordering or extra keys
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-18 11:34:08 +01:00
16c2be96b3 latn_qwerty_gb: Better position for ',.' 2025-01-18 11:26:14 +01:00
d4a6bfe122 Add /release to .gitignore
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
2025-01-18 11:13:35 +01:00
e3f9341ed1 Refactor: KeyValue: Simplify StringWithSymbol
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
This removes the Complex key kind and class by making StringWithSymbol a
new kind of key.
2025-01-12 23:24:04 +01:00
3ea5c8d6b7 Refactor: KeyValue: Don't require _payload.equals
Don't require _payload.equals to be implemented (correctly) and avoids
inconsistencies with _payload.compareTo, which is required by type.
2025-01-12 23:10:40 +01:00
f7c5b74940 Improve layout WORKMAN (US)
Co-authored-by: goyalyashpal <yashpalgoyal1304@gmail.com>
2025-01-12 23:09:47 +01:00
4351b3eb6e Add "paste" to the pin entry layout 2025-01-12 21:45:10 +01:00
bffc76907a Add cursor_up and cursor_down slider keys
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-12 19:16:04 +01:00
ca05c073d2 Allow sliders in every directions
Some checks are pending
Check layouts / check_layout.output (push) Waiting to run
Check layouts / Generated files (push) Waiting to run
Check translations / check-translations (push) Waiting to run
Make Apk CI / Build-Apk (push) Waiting to run
Sliders are no longer limited to the x dimension and can be placed in
corners or purely on the y dimension.
2025-01-11 17:13:58 +01:00
ddd2eebb0e Remove the 'slider="true"' attribute
Whether a key behaves as a slider is now purely defined by the key
values present on it.
2025-01-11 16:30:36 +01:00
1783dcdb35 Refactor: Restrict sliders to new 'Slider' key kind
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-11 16:18:58 +01:00
4f8b5fa6ce Refactor: Make KeyValue payload Comparable
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-11 15:54:24 +01:00
c4e2b446e5 Make the space bar slider slightly less sensitive 2025-01-11 14:24:10 +01:00
7b8f739400 More precise 1-position movement with space bar slider
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-11 14:12:43 +01:00
a3023a7f18 Lock shift with a gesture
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
The circle gesture locks shift. It is also the case for the round-trip
gesture if shift is in a corner.
2025-01-03 16:08:13 +01:00
6ce2195253 Add glyphs for zwj and zwnj
Co-authored-by: @srikanban
2025-01-03 15:50:30 +01:00
9ba718694b Refactor: Make all glyph file names 3 character long
For easier reading.
2025-01-03 15:04:33 +01:00
11c9bd850b Remove numpad keys from the main layout
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-03 12:33:48 +01:00
b120fa8f09 Allow 'loc' keys to be present several times 2025-01-03 12:29:44 +01:00
e8c20bf521 test: Add ComposeKeyTest 2025-01-03 11:43:38 +01:00
56c62a005d Add zwj, zwnj, nbsp, nnbsp to extra keys preferences
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
2025-01-02 11:08:04 +01:00
115eda4084 Lithuanian QWERTY layout (#824) 2025-01-02 10:43:01 +01:00