* Add introductory text to the tables
And mention characters that don't have escapes
* Turn tables around
Tables should be structured by what the user wants, not by what the code does.
* Address Julow review #1
- Merge tables, no matter which rule requires escaping; "in the usual way for XML" applies to both
- 3 escapes not mandatory removed from table to new ¶ below
- Found one more symbol → legend
* doc: Clarify escaping of comma and colon per #915
These keys are the equivalent of ctrl+backspace and ctrl+delete,
respectively.
They can be reached with Gesture+backspace and Gesture+delete
respectively.
* Massage Intro
Start with definition, then use cases, then valid syntax.
Use "legend" rather than "symbol" for the visible legend on the keyboard
Rephrase to avoid "exhaustive". Other simplifications.
* Edit section "Modifiers"
Separate into two tables, each preceded by relevant introduction
* Shuffle sections
Retitle "Special keys"; as used in the Intro, this term refers to all the keywords in this file.
Put two contrasting sections together, add "In contrast," and reword.
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
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.
Add the ':char' syntax for defining character keys with a different
symbol.
This new kind of keys is used to implement Ctrl combinations in the
Serbian Cyrillic layout without showing latin letters while the Ctrl
modifier is activated.
This allows to add new kinds of keys that need more data without making
KeyValue's footprint bigger for common keys.
This changes the [_symbol] field into [_payload], which holds the same
as the previous field for more common keys but can hold bigger objects
for keys of the new "Complex" kind.
This also adds a complex key: String keys with a symbol different than
the outputted string.
Unit tests are added as the Java language is not helpful in making
robust code.