From 2f995f486ee930e96f818e10efb3b9ba23e51bf7 Mon Sep 17 00:00:00 2001 From: sspanak Date: Mon, 30 Sep 2024 12:22:19 +0300 Subject: [PATCH] swapped the default hotkeys for SHIFT and COMMAND PALETTE and disabled SHIFT when in phone and strict numeric fields --- .../main/java/io/github/sspanak/tt9/ime/CommandHandler.java | 2 +- .../main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java | 4 ++++ .../io/github/sspanak/tt9/preferences/helpers/Hotkeys.java | 4 ++-- .../sspanak/tt9/preferences/settings/SettingsHotkeys.java | 6 ++++-- .../io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java index c4001796..19b71958 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java @@ -27,7 +27,7 @@ abstract public class CommandHandler extends TextEditingHandler { @Override public boolean onHotkey(int keyCode, boolean repeat, boolean validateOnly) { - return mainView.isCommandPaletteShown() && keyCode != settings.getKeyCommandPalette(); + return mainView.isCommandPaletteShown() && Math.abs(keyCode) != Math.abs(settings.getKeyCommandPalette()); } diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java index db2caead..b511ee63 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java @@ -300,6 +300,10 @@ public abstract class HotkeyHandler extends CommandHandler { public boolean onKeyNextTextCase(boolean validateOnly) { + if (voiceInputOps.isListening() || inputType.isNumeric() || inputType.isPhoneNumber()) { + return false; + } + if (validateOnly) { return true; } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/helpers/Hotkeys.java b/app/src/main/java/io/github/sspanak/tt9/preferences/helpers/Hotkeys.java index ea08d64e..349a3e4c 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/helpers/Hotkeys.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/helpers/Hotkeys.java @@ -67,7 +67,7 @@ public class Hotkeys { defaultKeys.put(SectionKeymap.ITEM_BACKSPACE, 0); } - defaultKeys.put(SectionKeymap.ITEM_COMMAND_PALETTE, KeyEvent.KEYCODE_STAR); + defaultKeys.put(SectionKeymap.ITEM_COMMAND_PALETTE, -KeyEvent.KEYCODE_STAR); // negative means "hold" defaultKeys.put(SectionKeymap.ITEM_EDIT_TEXT, KeyEvent.KEYCODE_UNKNOWN); defaultKeys.put( @@ -93,7 +93,7 @@ public class Hotkeys { defaultKeys.put(SectionKeymap.ITEM_NEXT_INPUT_MODE, KeyEvent.KEYCODE_POUND); defaultKeys.put(SectionKeymap.ITEM_NEXT_LANGUAGE, -KeyEvent.KEYCODE_POUND); // negative means "hold" defaultKeys.put(SectionKeymap.ITEM_SELECT_KEYBOARD, KeyEvent.KEYCODE_UNKNOWN); - defaultKeys.put(SectionKeymap.ITEM_SHIFT, -KeyEvent.KEYCODE_STAR); + defaultKeys.put(SectionKeymap.ITEM_SHIFT, KeyEvent.KEYCODE_STAR); defaultKeys.put(SectionKeymap.ITEM_SHOW_SETTINGS, KeyEvent.KEYCODE_UNKNOWN); defaultKeys.put(SectionKeymap.ITEM_VOICE_INPUT, KeyEvent.KEYCODE_UNKNOWN); diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsHotkeys.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsHotkeys.java index 75629c8b..94bcdb69 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsHotkeys.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsHotkeys.java @@ -8,10 +8,12 @@ import java.util.HashMap; import io.github.sspanak.tt9.preferences.screens.hotkeys.SectionKeymap; class SettingsHotkeys extends SettingsHacks { + private static final String HOTKEY_VERSION = "hotkeys_v5"; + SettingsHotkeys(Context context) { super(context); } public boolean areHotkeysInitialized() { - return !prefs.getBoolean("hotkeys_v4_initialized", false); + return !prefs.getBoolean(HOTKEY_VERSION, false); } public void setDefaultKeys(HashMap defaultKeys) { @@ -19,7 +21,7 @@ class SettingsHotkeys extends SettingsHacks { prefsEditor.putString(key, String.valueOf(defaultKeys.get(key))); } - prefsEditor.putBoolean("hotkeys_v4_initialized", true).apply(); + prefsEditor.putBoolean(HOTKEY_VERSION, true).apply(); } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java index 13bcff6e..747dded0 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java @@ -32,6 +32,6 @@ public class SoftKeyShift extends SoftKey { setTextSize(30); setTypeface(Typeface.DEFAULT_BOLD); super.render(); - setEnabled(tt9 != null && !tt9.isVoiceInputActive() && !tt9.isInputModeNumeric()); + setEnabled(tt9 != null && !tt9.isVoiceInputActive() && !tt9.isInputModePhone() && !tt9.isNumericModeSigned()); } }