diff options
| author | Jules Aguillon | 2023-08-06 17:11:29 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2023-08-06 17:15:36 +0200 |
| commit | 4d10556d4904086664f14ac3b900e65505a19fe7 (patch) | |
| tree | 9bd6434f9fc333933c38329bfd6295107d983d9e /srcs/juloo.keyboard2/ExtraKeys.java | |
| parent | 1eea9e25d25afa04f0f98618df07820d27c8fe2e (diff) | |
| download | unexpected-keyboard-4d10556d4904086664f14ac3b900e65505a19fe7.tar.gz unexpected-keyboard-4d10556d4904086664f14ac3b900e65505a19fe7.zip | |
Don't replace user selected dead keys
Don't replace dead-keys selected in the "Add keys to the keyboard"
option by an alternative.
Diffstat (limited to 'srcs/juloo.keyboard2/ExtraKeys.java')
| -rw-r--r-- | srcs/juloo.keyboard2/ExtraKeys.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeys.java b/srcs/juloo.keyboard2/ExtraKeys.java index fb1f3e2..cfac362 100644 --- a/srcs/juloo.keyboard2/ExtraKeys.java +++ b/srcs/juloo.keyboard2/ExtraKeys.java @@ -20,7 +20,8 @@ class ExtraKeys _ks = ks; } - /** Add the keys that should be added to the keyboard into [dst]. */ + /** Add the keys that should be added to the keyboard into [dst]. Keys + already added to [dst] might have an impact, see [ExtraKey.compute]. */ public void compute(Set<KeyValue> dst, Query q) { for (ExtraKey k : _ks) @@ -77,11 +78,13 @@ class ExtraKeys // enforced to be complete by the merging step. The same [kv] will not // appear again in the list of extra keys with a different list of // alternatives. - KeyValue k = (alternatives.size() == 1) ? alternatives.get(0) : kv; + // Selecting the dead key in the "Add key to the keyboard" option would + // disable this behavior for a key. + boolean use_alternative = (alternatives.size() == 1 && !dst.contains(kv)); if ((q.script == null || script == null || q.script.equals(script)) && (alternatives.size() == 0 || !q.present.containsAll(alternatives))) - dst.add(k); + dst.add(use_alternative ? alternatives.get(0) : kv); } /** Return a new key from two. [kv] are expected to be equal. [script] is |
