From d029b9328efaee50a48f65c928345df72c31b1ff Mon Sep 17 00:00:00 2001 From: sspanak Date: Sat, 10 Feb 2024 22:22:01 +0200 Subject: [PATCH] fixed the virtual keyboard input when upside-down mirroring is on --- .../sspanak/tt9/ui/main/keys/SoftNumberKey.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/io/github/sspanak/tt9/ui/main/keys/SoftNumberKey.java b/src/io/github/sspanak/tt9/ui/main/keys/SoftNumberKey.java index 98ff333e..b10ede2b 100644 --- a/src/io/github/sspanak/tt9/ui/main/keys/SoftNumberKey.java +++ b/src/io/github/sspanak/tt9/ui/main/keys/SoftNumberKey.java @@ -40,7 +40,7 @@ public class SoftNumberKey extends SoftKey { @Override protected boolean handleRelease() { - int keyCode = Key.numberToCode(getNumber(getId())); + int keyCode = Key.numberToCode(getUpsideDownNumber(getId())); if (keyCode < 0 || !validateTT9Handler()) { return false; } @@ -142,4 +142,19 @@ public class SoftNumberKey extends SoftKey { return -1; } + + private int getUpsideDownNumber(int keyId) { + int number = getNumber(keyId); + + if (tt9 != null && tt9.getSettings().getUpsideDownKeys()) { + if (number == 1) return 7; + if (number == 2) return 8; + if (number == 3) return 9; + if (number == 7) return 1; + if (number == 8) return 2; + if (number == 9) return 3; + } + + return number; + } }