From c98d6d0cc6a8221028c3599bf35697f9d97a8158 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Wed, 22 May 2024 23:47:51 +0200 Subject: [PATCH] fix broken ctrl/alt/fn/meta --- app/src/main/java/helium314/keyboard/keyboard/Key.java | 5 ++--- .../java/helium314/keyboard/keyboard/PointerTracker.java | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/keyboard/Key.java b/app/src/main/java/helium314/keyboard/keyboard/Key.java index 7f765ff4..c288fefb 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/Key.java +++ b/app/src/main/java/helium314/keyboard/keyboard/Key.java @@ -513,9 +513,8 @@ public class Key implements Comparable { } public final boolean isModifier() { - return mCode == KeyCode.SHIFT || mCode == KeyCode.SYMBOL_ALPHA || mCode == KeyCode.ALPHA || mCode == KeyCode.SYMBOL; - // todo: if this is used, sliding input starts on those keys, but it's not yet implemented -// || mCode == KeyCode.CTRL || mCode == KeyCode.ALT || mCode == KeyCode.FN || mCode == KeyCode.META; + return mCode == KeyCode.SHIFT || mCode == KeyCode.SYMBOL_ALPHA || mCode == KeyCode.ALPHA || mCode == KeyCode.SYMBOL + || mCode == KeyCode.CTRL || mCode == KeyCode.ALT || mCode == KeyCode.FN || mCode == KeyCode.META; } public final boolean isRepeatable() { diff --git a/app/src/main/java/helium314/keyboard/keyboard/PointerTracker.java b/app/src/main/java/helium314/keyboard/keyboard/PointerTracker.java index 332825a0..0c6b0da2 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/PointerTracker.java +++ b/app/src/main/java/helium314/keyboard/keyboard/PointerTracker.java @@ -705,7 +705,8 @@ public final class PointerTracker implements PointerTrackerQueue.Element, private void startKeySelectionByDraggingFinger(final Key key) { if (!mIsInDraggingFinger) { - mIsInSlidingKeyInput = key.isModifier(); + final int code = key.getCode(); // todo: no sliding input yet for those keys, but it would be really useful + mIsInSlidingKeyInput = key.isModifier() && code != KeyCode.CTRL && code != KeyCode.ALT && code != KeyCode.FN && code != KeyCode.META; } mIsInDraggingFinger = true; }