abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyModifier.java
diff options
context:
space:
mode:
authorJules Aguillon2024-03-18 00:14:19 +0100
committerJules Aguillon2024-03-18 00:40:15 +0100
commitdc3a303af1ef72602b58292e5cc938944d6954ba (patch)
tree7bfdb51a267d684bd57fcf3b21f917cff3aa3536 /srcs/juloo.keyboard2/KeyModifier.java
parentec8e78d5cc8a7d3c4d1929761bd80806b1d5e7c8 (diff)
downloadunexpected-keyboard-dc3a303af1ef72602b58292e5cc938944d6954ba.tar.gz
unexpected-keyboard-dc3a303af1ef72602b58292e5cc938944d6954ba.zip
refactor: Allow modifier of other key kinds
Allow keys of a kind other than Modifier to be a modifier. This requires writing a compareTo function for KeyValue. Fields are compared in this order: Kind, value, flags, symbol.
Diffstat (limited to 'srcs/juloo.keyboard2/KeyModifier.java')
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index 146c1bd..a3c499b 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -38,6 +38,16 @@ public final class KeyModifier
return r;
}
+ public static KeyValue modify(KeyValue k, KeyValue mod)
+ {
+ switch (mod.getKind())
+ {
+ case Modifier:
+ return modify(k, mod.getModifier());
+ }
+ return k;
+ }
+
public static KeyValue modify(KeyValue k, KeyValue.Modifier mod)
{
switch (mod)