mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-04-19 21:59:11 +00:00
add setting to switch to alphabet after typing on numpad and pressing space
fixes #1224
This commit is contained in:
parent
a9e5f879d8
commit
8298542c39
6 changed files with 26 additions and 1 deletions
|
@ -80,6 +80,7 @@ public final class KeyboardState {
|
||||||
private static final int SWITCH_STATE_SYMBOL_BEGIN = 1;
|
private static final int SWITCH_STATE_SYMBOL_BEGIN = 1;
|
||||||
private static final int SWITCH_STATE_SYMBOL = 2;
|
private static final int SWITCH_STATE_SYMBOL = 2;
|
||||||
private static final int SWITCH_STATE_NUMPAD = 3;
|
private static final int SWITCH_STATE_NUMPAD = 3;
|
||||||
|
private static final int SWITCH_STATE_NUMPAD_BEGIN = 9;
|
||||||
private static final int SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL = 4;
|
private static final int SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL = 4;
|
||||||
private static final int SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE = 5;
|
private static final int SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE = 5;
|
||||||
private static final int SWITCH_STATE_MOMENTARY_ALPHA_SHIFT = 6;
|
private static final int SWITCH_STATE_MOMENTARY_ALPHA_SHIFT = 6;
|
||||||
|
@ -403,7 +404,7 @@ public final class KeyboardState {
|
||||||
mMode = MODE_NUMPAD;
|
mMode = MODE_NUMPAD;
|
||||||
mRecapitalizeMode = RecapitalizeStatus.NOT_A_RECAPITALIZE_MODE;
|
mRecapitalizeMode = RecapitalizeStatus.NOT_A_RECAPITALIZE_MODE;
|
||||||
mSwitchActions.setNumpadKeyboard();
|
mSwitchActions.setNumpadKeyboard();
|
||||||
mSwitchState = withSliding ? SWITCH_STATE_MOMENTARY_TO_NUMPAD : SWITCH_STATE_NUMPAD;
|
mSwitchState = withSliding ? SWITCH_STATE_MOMENTARY_TO_NUMPAD : SWITCH_STATE_NUMPAD_BEGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void toggleNumpad(final boolean withSliding, final int autoCapsFlags, final int recapitalizeMode,
|
public void toggleNumpad(final boolean withSliding, final int autoCapsFlags, final int recapitalizeMode,
|
||||||
|
@ -789,6 +790,17 @@ public final class KeyboardState {
|
||||||
mPrevSymbolsKeyboardWasShifted = false;
|
mPrevSymbolsKeyboardWasShifted = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SWITCH_STATE_NUMPAD:
|
||||||
|
// Switch back to alpha keyboard mode if user types one or more non-space/enter
|
||||||
|
// characters followed by a space/enter.
|
||||||
|
if (isSpaceOrEnter(code) && Settings.getValues().mAlphaAfterNumpadAndSpace) {
|
||||||
|
toggleNumpad(false, autoCapsFlags, recapitalizeMode, true, false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SWITCH_STATE_NUMPAD_BEGIN:
|
||||||
|
if (!isSpaceOrEnter(code))
|
||||||
|
mSwitchState = SWITCH_STATE_NUMPAD;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the code is a letter, update keyboard shift state.
|
// If the code is a letter, update keyboard shift state.
|
||||||
|
@ -833,6 +845,7 @@ public final class KeyboardState {
|
||||||
case SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE -> "MOMENTARY-SYMBOL-MORE";
|
case SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE -> "MOMENTARY-SYMBOL-MORE";
|
||||||
case SWITCH_STATE_MOMENTARY_ALPHA_SHIFT -> "MOMENTARY-ALPHA_SHIFT";
|
case SWITCH_STATE_MOMENTARY_ALPHA_SHIFT -> "MOMENTARY-ALPHA_SHIFT";
|
||||||
case SWITCH_STATE_NUMPAD -> "NUMPAD";
|
case SWITCH_STATE_NUMPAD -> "NUMPAD";
|
||||||
|
case SWITCH_STATE_NUMPAD_BEGIN -> "NUMPAD-BEGIN";
|
||||||
case SWITCH_STATE_MOMENTARY_TO_NUMPAD -> "MOMENTARY-TO-NUMPAD";
|
case SWITCH_STATE_MOMENTARY_TO_NUMPAD -> "MOMENTARY-TO-NUMPAD";
|
||||||
case SWITCH_STATE_MOMENTARY_FROM_NUMPAD -> "MOMENTARY-FROM-NUMPAD";
|
case SWITCH_STATE_MOMENTARY_FROM_NUMPAD -> "MOMENTARY-FROM-NUMPAD";
|
||||||
default -> null;
|
default -> null;
|
||||||
|
|
|
@ -145,6 +145,7 @@ object Defaults {
|
||||||
const val PREF_ABC_AFTER_EMOJI = false
|
const val PREF_ABC_AFTER_EMOJI = false
|
||||||
const val PREF_ABC_AFTER_CLIP = false
|
const val PREF_ABC_AFTER_CLIP = false
|
||||||
const val PREF_ABC_AFTER_SYMBOL_SPACE = true
|
const val PREF_ABC_AFTER_SYMBOL_SPACE = true
|
||||||
|
const val PREF_ABC_AFTER_NUMPAD_SPACE = false
|
||||||
const val PREF_REMOVE_REDUNDANT_POPUPS = false
|
const val PREF_REMOVE_REDUNDANT_POPUPS = false
|
||||||
const val PREF_SPACE_BAR_TEXT = ""
|
const val PREF_SPACE_BAR_TEXT = ""
|
||||||
@JvmField
|
@JvmField
|
||||||
|
|
|
@ -155,6 +155,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
||||||
public static final String PREF_ABC_AFTER_EMOJI = "abc_after_emoji";
|
public static final String PREF_ABC_AFTER_EMOJI = "abc_after_emoji";
|
||||||
public static final String PREF_ABC_AFTER_CLIP = "abc_after_clip";
|
public static final String PREF_ABC_AFTER_CLIP = "abc_after_clip";
|
||||||
public static final String PREF_ABC_AFTER_SYMBOL_SPACE = "abc_after_symbol_space";
|
public static final String PREF_ABC_AFTER_SYMBOL_SPACE = "abc_after_symbol_space";
|
||||||
|
public static final String PREF_ABC_AFTER_NUMPAD_SPACE = "abc_after_numpad_space";
|
||||||
public static final String PREF_REMOVE_REDUNDANT_POPUPS = "remove_redundant_popups";
|
public static final String PREF_REMOVE_REDUNDANT_POPUPS = "remove_redundant_popups";
|
||||||
public static final String PREF_SPACE_BAR_TEXT = "space_bar_text";
|
public static final String PREF_SPACE_BAR_TEXT = "space_bar_text";
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,7 @@ public class SettingsValues {
|
||||||
public final boolean mAlphaAfterEmojiInEmojiView;
|
public final boolean mAlphaAfterEmojiInEmojiView;
|
||||||
public final boolean mAlphaAfterClipHistoryEntry;
|
public final boolean mAlphaAfterClipHistoryEntry;
|
||||||
public final boolean mAlphaAfterSymbolAndSpace;
|
public final boolean mAlphaAfterSymbolAndSpace;
|
||||||
|
public final boolean mAlphaAfterNumpadAndSpace;
|
||||||
public final boolean mRemoveRedundantPopups;
|
public final boolean mRemoveRedundantPopups;
|
||||||
public final String mSpaceBarText;
|
public final String mSpaceBarText;
|
||||||
public final float mFontSizeMultiplier;
|
public final float mFontSizeMultiplier;
|
||||||
|
@ -268,6 +269,7 @@ public class SettingsValues {
|
||||||
mAlphaAfterEmojiInEmojiView = prefs.getBoolean(Settings.PREF_ABC_AFTER_EMOJI, Defaults.PREF_ABC_AFTER_EMOJI);
|
mAlphaAfterEmojiInEmojiView = prefs.getBoolean(Settings.PREF_ABC_AFTER_EMOJI, Defaults.PREF_ABC_AFTER_EMOJI);
|
||||||
mAlphaAfterClipHistoryEntry = prefs.getBoolean(Settings.PREF_ABC_AFTER_CLIP, Defaults.PREF_ABC_AFTER_CLIP);
|
mAlphaAfterClipHistoryEntry = prefs.getBoolean(Settings.PREF_ABC_AFTER_CLIP, Defaults.PREF_ABC_AFTER_CLIP);
|
||||||
mAlphaAfterSymbolAndSpace = prefs.getBoolean(Settings.PREF_ABC_AFTER_SYMBOL_SPACE, Defaults.PREF_ABC_AFTER_SYMBOL_SPACE);
|
mAlphaAfterSymbolAndSpace = prefs.getBoolean(Settings.PREF_ABC_AFTER_SYMBOL_SPACE, Defaults.PREF_ABC_AFTER_SYMBOL_SPACE);
|
||||||
|
mAlphaAfterNumpadAndSpace = prefs.getBoolean(Settings.PREF_ABC_AFTER_NUMPAD_SPACE, Defaults.PREF_ABC_AFTER_NUMPAD_SPACE);
|
||||||
mRemoveRedundantPopups = prefs.getBoolean(Settings.PREF_REMOVE_REDUNDANT_POPUPS, Defaults.PREF_REMOVE_REDUNDANT_POPUPS);
|
mRemoveRedundantPopups = prefs.getBoolean(Settings.PREF_REMOVE_REDUNDANT_POPUPS, Defaults.PREF_REMOVE_REDUNDANT_POPUPS);
|
||||||
mSpaceBarText = prefs.getString(Settings.PREF_SPACE_BAR_TEXT, Defaults.PREF_SPACE_BAR_TEXT);
|
mSpaceBarText = prefs.getString(Settings.PREF_SPACE_BAR_TEXT, Defaults.PREF_SPACE_BAR_TEXT);
|
||||||
mEmojiMaxSdk = prefs.getInt(Settings.PREF_EMOJI_MAX_SDK, Defaults.PREF_EMOJI_MAX_SDK);
|
mEmojiMaxSdk = prefs.getInt(Settings.PREF_EMOJI_MAX_SDK, Defaults.PREF_EMOJI_MAX_SDK);
|
||||||
|
|
|
@ -66,6 +66,7 @@ fun AdvancedSettingsScreen(
|
||||||
Settings.PREF_ENABLE_EMOJI_ALT_PHYSICAL_KEY,
|
Settings.PREF_ENABLE_EMOJI_ALT_PHYSICAL_KEY,
|
||||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) Settings.PREF_SHOW_SETUP_WIZARD_ICON else null,
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) Settings.PREF_SHOW_SETUP_WIZARD_ICON else null,
|
||||||
Settings.PREF_ABC_AFTER_SYMBOL_SPACE,
|
Settings.PREF_ABC_AFTER_SYMBOL_SPACE,
|
||||||
|
Settings.PREF_ABC_AFTER_NUMPAD_SPACE,
|
||||||
Settings.PREF_ABC_AFTER_EMOJI,
|
Settings.PREF_ABC_AFTER_EMOJI,
|
||||||
Settings.PREF_ABC_AFTER_CLIP,
|
Settings.PREF_ABC_AFTER_CLIP,
|
||||||
Settings.PREF_CUSTOM_CURRENCY_KEY,
|
Settings.PREF_CUSTOM_CURRENCY_KEY,
|
||||||
|
@ -154,6 +155,11 @@ fun createAdvancedSettings(context: Context) = listOf(
|
||||||
{
|
{
|
||||||
SwitchPreference(it, Defaults.PREF_ABC_AFTER_SYMBOL_SPACE)
|
SwitchPreference(it, Defaults.PREF_ABC_AFTER_SYMBOL_SPACE)
|
||||||
},
|
},
|
||||||
|
Setting(context, Settings.PREF_ABC_AFTER_NUMPAD_SPACE,
|
||||||
|
R.string.switch_keyboard_after, R.string.after_numpad_and_space)
|
||||||
|
{
|
||||||
|
SwitchPreference(it, Defaults.PREF_ABC_AFTER_NUMPAD_SPACE)
|
||||||
|
},
|
||||||
Setting(context, Settings.PREF_ABC_AFTER_EMOJI, R.string.switch_keyboard_after, R.string.after_emoji) {
|
Setting(context, Settings.PREF_ABC_AFTER_EMOJI, R.string.switch_keyboard_after, R.string.after_emoji) {
|
||||||
SwitchPreference(it, Defaults.PREF_ABC_AFTER_EMOJI)
|
SwitchPreference(it, Defaults.PREF_ABC_AFTER_EMOJI)
|
||||||
},
|
},
|
||||||
|
|
|
@ -581,6 +581,8 @@ disposition rather than other common dispositions for Latin languages. -->
|
||||||
<string name="after_clip">Selecting clipboard history entry</string>
|
<string name="after_clip">Selecting clipboard history entry</string>
|
||||||
<!-- Switch to main keyboard after entering a symbol in symbols layout and then pressing space or enter -->
|
<!-- Switch to main keyboard after entering a symbol in symbols layout and then pressing space or enter -->
|
||||||
<string name="after_symbol_and_space">Pressing enter or space after other keys in symbols view</string>
|
<string name="after_symbol_and_space">Pressing enter or space after other keys in symbols view</string>
|
||||||
|
<!-- Switch to main keyboard after entering something in numpad layout and then pressing space or enter -->
|
||||||
|
<string name="after_numpad_and_space">Pressing enter or space after other keys in numpad</string>
|
||||||
<!-- Message for selecting day or night background image -->
|
<!-- Message for selecting day or night background image -->
|
||||||
<string name="day_or_night_image">Set image for day or night mode?</string>
|
<string name="day_or_night_image">Set image for day or night mode?</string>
|
||||||
<!-- Button for selecting day -->
|
<!-- Button for selecting day -->
|
||||||
|
|
Loading…
Add table
Reference in a new issue