Internally "key repeat" is reword into "long press" when the same
mechanism was used for both features.
The constraint that 'timeoutWhat' must be set to '-1' when no message is
expected has been lifted to simplify the code.
The long press timeout is used for long press on keys that do not
repeat, for example the keyboard switching key.
This must be detached from the key repeat as it might be disableable in
the future and more keys might be longpressable.
The feature is off by default for privacy reasons. The checkbox state is
persisted in the configuration.
The history is immediately cleared when it's disabled. The content of
the system clipboard is visible when the history is enabled.
Allow recent clips to be pinned. Pinned clips are put a different place
and are persistent.
The pane is split in two columns, the clipboard history and the pinned
clips.
Pinned clips are stored in a new preference file.
Improved pinning layout
clipboard: Remove history entry after pinning
Work in progress: It's not yet possible to paste from the pane.
The pane can be switched to and from and displays the strings recently
added to the clipboard.
ClipboardHistoryService listens for change to the system clipboard and
keep the history in memory.
This data is not persisted to the storage.
The maximum size limits the amount of user data stored in memory but
also gives a sense to the user that the history is not persisted and can
be forgotten as soon as the app stops.
This adds some errors:
- 'script' or 'numpad_script' is set an empty string.
- Multiple '<modmap>' elements.
- 'shift', 'width' and 'height' on every nodes that support them are
clamped to a valid value.
* Modmap: Where to put it; cancelling built-in mods (#665)
* Correct per Julow: not only Euro layouts
* Post-edit: Doesn't depend on "built-in" layout
* P-vs-L: Change "That is to say", sentence is not a restatement
* Discussion with Julow: Swipe graphic to HTML; at most one modmap
* Swipes: Center tables
This replaces the switch cases in KeyModifier.java with JSON files, one
for each diacritic.
The number of states increases from 6727 to 7377. The apk size slightly
decreases (around 3kb).
Encoding errors in the compose data compiler due to:
- 'UTF-16' adds a BOM, use 'UTF-16-LE' instead
- 'str.encode' returns a byte array, use 'array' to have a 16-bit char
array.