abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyboardData.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/KeyboardData.java')
-rw-r--r--srcs/juloo.keyboard2/KeyboardData.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/KeyboardData.java b/srcs/juloo.keyboard2/KeyboardData.java
index 0b73b3d..b52a172 100644
--- a/srcs/juloo.keyboard2/KeyboardData.java
+++ b/srcs/juloo.keyboard2/KeyboardData.java
@@ -43,6 +43,27 @@ class KeyboardData
return (_rows);
}
+ // Remove every keys that has the given flags.
+ public void removeKeysByFlag(int flags)
+ {
+ for (Row r : _rows)
+ {
+ for (Key k : r)
+ {
+ k.key0 = _removeKeyValueFlag(k.key0, flags);
+ k.key1 = _removeKeyValueFlag(k.key1, flags);
+ k.key2 = _removeKeyValueFlag(k.key2, flags);
+ k.key3 = _removeKeyValueFlag(k.key3, flags);
+ k.key4 = _removeKeyValueFlag(k.key4, flags);
+ }
+ }
+ }
+
+ private KeyValue _removeKeyValueFlag(KeyValue v, int flags)
+ {
+ return (v != null && (v.getFlags() & flags) != 0) ? null : v;
+ }
+
public class Row extends ArrayList<Key>
{
private float _keysWidth;