abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
authorJules Aguillon2022-03-15 20:44:02 +0100
committerJules Aguillon2022-03-15 20:44:02 +0100
commitd53ee811d97692cebe91a5d5d2207dca4d5b8fd8 (patch)
tree519b7d6f939f2295839f3c7717d0228fcb3711a1 /srcs/juloo.keyboard2/Keyboard2View.java
parentfadedfd58f1bc62aea8e913662984f84f20631bf (diff)
downloadunexpected-keyboard-d53ee811d97692cebe91a5d5d2207dca4d5b8fd8.tar.gz
unexpected-keyboard-d53ee811d97692cebe91a5d5d2207dca4d5b8fd8.zip
Handle CANCEL touch events
Handling this event is part of the API but was never done. This caused unstoppable key-repeat. This event isn't common, the only way I found on Android 10 is to switch to the emoji keyboard while holding a key. Some apps might cause this event more often.
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 43274a9..a6ab99c 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -115,7 +115,7 @@ public class Keyboard2View extends View
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
_pointers.onTouchUp(event.getPointerId(event.getActionIndex()));
- break ;
+ break;
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
p = event.getActionIndex();
@@ -124,11 +124,14 @@ public class Keyboard2View extends View
KeyboardData.Key key = getKeyAtPosition(tx, ty);
if (key != null)
_pointers.onTouchDown(tx, ty, event.getPointerId(p), key);
- break ;
+ break;
case MotionEvent.ACTION_MOVE:
for (p = 0; p < event.getPointerCount(); p++)
_pointers.onTouchMove(event.getX(p), event.getY(p), event.getPointerId(p));
- break ;
+ break;
+ case MotionEvent.ACTION_CANCEL:
+ _pointers.onTouchCancel(event.getPointerId(event.getActionIndex()));
+ break;
default:
return (false);
}