abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
authorJules Aguillon2022-03-19 15:39:20 +0100
committerJules Aguillon2022-03-19 15:39:20 +0100
commite872c5878874bdd035b9ca870853068a53cfc002 (patch)
treef387e240310c86d33deb4a61976e8bef41255941 /srcs/juloo.keyboard2/Keyboard2View.java
parent57c6208b50ac0959911a1966187c9bb036bd40a9 (diff)
downloadunexpected-keyboard-e872c5878874bdd035b9ca870853068a53cfc002.tar.gz
unexpected-keyboard-e872c5878874bdd035b9ca870853068a53cfc002.zip
Allow modifiers to hide keys
Modifiers can temporarily remove a key from the layout by returning 'null'. Make sure pointer handling code handle these modified keys gracefully and doesn't trigger a key event and a vibration for the removed key.
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index a6ab99c..11cf970 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -67,26 +67,27 @@ public class Keyboard2View extends View
invalidate();
}
- public void onPointerDown(KeyValue k)
+ public KeyValue onPointerDown(KeyValue k)
{
- updateFlags();
+ k = KeyModifier.handleFlags(k, _flags);
invalidate();
if (k != null)
vibrate();
+ return k;
}
- public void onPointerSwipe(KeyValue k)
+ public KeyValue onPointerSwipe(KeyValue k)
{
- updateFlags();
+ k = KeyModifier.handleFlags(k, _flags);
invalidate();
if (k != null)
vibrate();
+ return k;
}
public void onPointerUp(KeyValue k)
{
_config.handler.handleKeyUp(k, _flags);
- updateFlags();
invalidate();
}
@@ -97,7 +98,6 @@ public class Keyboard2View extends View
public void onPointerFlagsChanged()
{
- updateFlags();
invalidate();
}
@@ -202,6 +202,7 @@ public class Keyboard2View extends View
@Override
protected void onDraw(Canvas canvas)
{
+ updateFlags();
float y = _config.marginTop + _config.keyVerticalInterval / 2;
for (KeyboardData.Row row : _keyboard.rows)
{