mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-06-03 21:30:12 +00:00
switch from start / stop one-handed mode key codes to a toggle code
mainly so there is no awkward state-dependent key code on the toolbar key
This commit is contained in:
parent
5afb1e3a0c
commit
419c0d847b
8 changed files with 18 additions and 19 deletions
|
@ -52,8 +52,9 @@ public final class KeyboardCodesSet {
|
||||||
"key_emoji",
|
"key_emoji",
|
||||||
"key_unspecified",
|
"key_unspecified",
|
||||||
"key_clipboard",
|
"key_clipboard",
|
||||||
"key_start_onehanded",
|
"key_toggle_onehanded",
|
||||||
"key_stop_onehanded",
|
"key_start_onehanded", // keep name to avoid breaking custom layouts
|
||||||
|
"key_stop_onehanded", // keep name to avoid breaking custom layouts
|
||||||
"key_switch_onehanded"
|
"key_switch_onehanded"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -77,8 +78,9 @@ public final class KeyboardCodesSet {
|
||||||
KeyCode.EMOJI,
|
KeyCode.EMOJI,
|
||||||
KeyCode.NOT_SPECIFIED,
|
KeyCode.NOT_SPECIFIED,
|
||||||
KeyCode.CLIPBOARD,
|
KeyCode.CLIPBOARD,
|
||||||
KeyCode.START_ONE_HANDED_MODE,
|
KeyCode.TOGGLE_ONE_HANDED_MODE,
|
||||||
KeyCode.STOP_ONE_HANDED_MODE,
|
KeyCode.TOGGLE_ONE_HANDED_MODE,
|
||||||
|
KeyCode.TOGGLE_ONE_HANDED_MODE,
|
||||||
KeyCode.SWITCH_ONE_HANDED_MODE
|
KeyCode.SWITCH_ONE_HANDED_MODE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -808,10 +808,8 @@ public final class KeyboardState {
|
||||||
toggleNumpad(false, autoCapsFlags, recapitalizeMode, false, true);
|
toggleNumpad(false, autoCapsFlags, recapitalizeMode, false, true);
|
||||||
} else if (code == KeyCode.SYMBOL) {
|
} else if (code == KeyCode.SYMBOL) {
|
||||||
setSymbolsKeyboard();
|
setSymbolsKeyboard();
|
||||||
} else if (code == KeyCode.START_ONE_HANDED_MODE) {
|
} else if (code == KeyCode.TOGGLE_ONE_HANDED_MODE) {
|
||||||
setOneHandedModeEnabled(true);
|
setOneHandedModeEnabled(!Settings.getInstance().getCurrent().mOneHandedModeEnabled);
|
||||||
} else if (code == KeyCode.STOP_ONE_HANDED_MODE) {
|
|
||||||
setOneHandedModeEnabled(false);
|
|
||||||
} else if (code == KeyCode.SWITCH_ONE_HANDED_MODE) {
|
} else if (code == KeyCode.SWITCH_ONE_HANDED_MODE) {
|
||||||
switchOneHandedMode();
|
switchOneHandedMode();
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,8 +125,8 @@ object KeyCode {
|
||||||
|
|
||||||
// heliboard only codes
|
// heliboard only codes
|
||||||
const val SYMBOL_ALPHA = -10001
|
const val SYMBOL_ALPHA = -10001
|
||||||
const val START_ONE_HANDED_MODE = -10002
|
const val TOGGLE_ONE_HANDED_MODE = -10002
|
||||||
const val STOP_ONE_HANDED_MODE = -10003
|
const val TOGGLE_ONE_HANDED_MODE_2 = -10003 // does the same as TOGGLE_ONE_HANDED_MODE (used to be start & stop)
|
||||||
const val SWITCH_ONE_HANDED_MODE = -10004
|
const val SWITCH_ONE_HANDED_MODE = -10004
|
||||||
const val SHIFT_ENTER = -10005
|
const val SHIFT_ENTER = -10005
|
||||||
const val ACTION_NEXT = -10006
|
const val ACTION_NEXT = -10006
|
||||||
|
@ -179,7 +179,7 @@ object KeyCode {
|
||||||
FN, CLIPBOARD_CLEAR_HISTORY, NUMPAD,
|
FN, CLIPBOARD_CLEAR_HISTORY, NUMPAD,
|
||||||
|
|
||||||
// heliboard only
|
// heliboard only
|
||||||
SYMBOL_ALPHA, START_ONE_HANDED_MODE, STOP_ONE_HANDED_MODE, SWITCH_ONE_HANDED_MODE, SHIFT_ENTER,
|
SYMBOL_ALPHA, TOGGLE_ONE_HANDED_MODE, SWITCH_ONE_HANDED_MODE, SHIFT_ENTER,
|
||||||
ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, WORD_LEFT, WORD_RIGHT, PAGE_UP,
|
ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, WORD_LEFT, WORD_RIGHT, PAGE_UP,
|
||||||
PAGE_DOWN, META, TAB, ESCAPE, INSERT, SLEEP, MEDIA_PLAY, MEDIA_PAUSE, MEDIA_PLAY_PAUSE, MEDIA_NEXT,
|
PAGE_DOWN, META, TAB, ESCAPE, INSERT, SLEEP, MEDIA_PLAY, MEDIA_PAUSE, MEDIA_PLAY_PAUSE, MEDIA_NEXT,
|
||||||
MEDIA_PREVIOUS, VOL_UP, VOL_DOWN, MUTE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BACK
|
MEDIA_PREVIOUS, VOL_UP, VOL_DOWN, MUTE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BACK
|
||||||
|
@ -189,6 +189,7 @@ object KeyCode {
|
||||||
IME_UI_MODE_TEXT -> ALPHA
|
IME_UI_MODE_TEXT -> ALPHA
|
||||||
VIEW_PHONE -> ALPHA // phone keyboard is treated like alphabet, just with different layout
|
VIEW_PHONE -> ALPHA // phone keyboard is treated like alphabet, just with different layout
|
||||||
VIEW_PHONE2 -> SYMBOL
|
VIEW_PHONE2 -> SYMBOL
|
||||||
|
TOGGLE_ONE_HANDED_MODE_2 -> TOGGLE_ONE_HANDED_MODE
|
||||||
|
|
||||||
else -> throw IllegalStateException("key code $this not yet supported")
|
else -> throw IllegalStateException("key code $this not yet supported")
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ sealed interface KeyData : AbstractKeyData {
|
||||||
if (!params.mId.mLanguageSwitchKeyEnabled && !params.mId.isNumberLayout && RichInputMethodManager.canSwitchLanguage())
|
if (!params.mId.mLanguageSwitchKeyEnabled && !params.mId.isNumberLayout && RichInputMethodManager.canSwitchLanguage())
|
||||||
keys.add("!icon/language_switch_key|!code/key_language_switch")
|
keys.add("!icon/language_switch_key|!code/key_language_switch")
|
||||||
if (!params.mId.mOneHandedModeEnabled)
|
if (!params.mId.mOneHandedModeEnabled)
|
||||||
keys.add("!icon/start_onehanded_mode_key|!code/key_start_onehanded")
|
keys.add("!icon/start_onehanded_mode_key|!code/key_toggle_onehanded")
|
||||||
if (!params.mId.mDeviceLocked)
|
if (!params.mId.mDeviceLocked)
|
||||||
keys.add("!icon/settings_key|!code/key_settings")
|
keys.add("!icon/settings_key|!code/key_settings")
|
||||||
return keys
|
return keys
|
||||||
|
|
|
@ -84,8 +84,7 @@ class KeyboardWrapperView @JvmOverloads constructor(
|
||||||
if (newScale == oldScale) return@setOnTouchListener true
|
if (newScale == oldScale) return@setOnTouchListener true
|
||||||
Settings.getInstance().writeOneHandedModeScale(newScale)
|
Settings.getInstance().writeOneHandedModeScale(newScale)
|
||||||
oneHandedModeEnabled = false // intentionally putting wrong value, so KeyboardSwitcher.setOneHandedModeEnabled does actually reload
|
oneHandedModeEnabled = false // intentionally putting wrong value, so KeyboardSwitcher.setOneHandedModeEnabled does actually reload
|
||||||
keyboardActionListener?.onCodeInput(KeyCode.START_ONE_HANDED_MODE,
|
KeyboardSwitcher.getInstance().setOneHandedModeEnabled(true)
|
||||||
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE, false)
|
|
||||||
}
|
}
|
||||||
else -> x = 0f
|
else -> x = 0f
|
||||||
}
|
}
|
||||||
|
@ -119,7 +118,7 @@ class KeyboardWrapperView @JvmOverloads constructor(
|
||||||
|
|
||||||
override fun onClick(view: View) {
|
override fun onClick(view: View) {
|
||||||
if (view === stopOneHandedModeBtn) {
|
if (view === stopOneHandedModeBtn) {
|
||||||
keyboardActionListener?.onCodeInput(KeyCode.STOP_ONE_HANDED_MODE,
|
keyboardActionListener?.onCodeInput(KeyCode.TOGGLE_ONE_HANDED_MODE,
|
||||||
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE,
|
Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE,
|
||||||
false /* isKeyRepeat */)
|
false /* isKeyRepeat */)
|
||||||
} else if (view === switchOneHandedModeBtn) {
|
} else if (view === switchOneHandedModeBtn) {
|
||||||
|
|
|
@ -224,8 +224,7 @@ public final class Constants {
|
||||||
case CODE_TAB: return "tab";
|
case CODE_TAB: return "tab";
|
||||||
case CODE_ENTER: return "enter";
|
case CODE_ENTER: return "enter";
|
||||||
case CODE_SPACE: return "space";
|
case CODE_SPACE: return "space";
|
||||||
case KeyCode.START_ONE_HANDED_MODE: return "startOneHandedMode";
|
case KeyCode.TOGGLE_ONE_HANDED_MODE: return "toggleOneHandedMode";
|
||||||
case KeyCode.STOP_ONE_HANDED_MODE: return "stopOneHandedMode";
|
|
||||||
case KeyCode.SWITCH_ONE_HANDED_MODE: return "switchOneHandedMode";
|
case KeyCode.SWITCH_ONE_HANDED_MODE: return "switchOneHandedMode";
|
||||||
case KeyCode.NUMPAD: return "numpad";
|
case KeyCode.NUMPAD: return "numpad";
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -779,7 +779,7 @@ public final class InputLogic {
|
||||||
// We need to switch to the shortcut IME. This is handled by LatinIME since the
|
// We need to switch to the shortcut IME. This is handled by LatinIME since the
|
||||||
// input logic has no business with IME switching.
|
// input logic has no business with IME switching.
|
||||||
case KeyCode.CAPS_LOCK, KeyCode.SYMBOL_ALPHA, KeyCode.ALPHA, KeyCode.SYMBOL, KeyCode.NUMPAD, KeyCode.EMOJI,
|
case KeyCode.CAPS_LOCK, KeyCode.SYMBOL_ALPHA, KeyCode.ALPHA, KeyCode.SYMBOL, KeyCode.NUMPAD, KeyCode.EMOJI,
|
||||||
KeyCode.START_ONE_HANDED_MODE, KeyCode.STOP_ONE_HANDED_MODE, KeyCode.SWITCH_ONE_HANDED_MODE,
|
KeyCode.TOGGLE_ONE_HANDED_MODE, KeyCode.SWITCH_ONE_HANDED_MODE,
|
||||||
KeyCode.CTRL, KeyCode.ALT, KeyCode.FN, KeyCode.META:
|
KeyCode.CTRL, KeyCode.ALT, KeyCode.FN, KeyCode.META:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -60,7 +60,7 @@ fun getCodeForToolbarKey(key: ToolbarKey) = Settings.getInstance().getCustomTool
|
||||||
COPY -> KeyCode.CLIPBOARD_COPY
|
COPY -> KeyCode.CLIPBOARD_COPY
|
||||||
CUT -> KeyCode.CLIPBOARD_CUT
|
CUT -> KeyCode.CLIPBOARD_CUT
|
||||||
PASTE -> KeyCode.CLIPBOARD_PASTE
|
PASTE -> KeyCode.CLIPBOARD_PASTE
|
||||||
ONE_HANDED -> if (Settings.getInstance().current.mOneHandedModeEnabled) KeyCode.STOP_ONE_HANDED_MODE else KeyCode.START_ONE_HANDED_MODE
|
ONE_HANDED -> KeyCode.TOGGLE_ONE_HANDED_MODE
|
||||||
INCOGNITO -> KeyCode.TOGGLE_INCOGNITO_MODE
|
INCOGNITO -> KeyCode.TOGGLE_INCOGNITO_MODE
|
||||||
AUTOCORRECT -> KeyCode.TOGGLE_AUTOCORRECT
|
AUTOCORRECT -> KeyCode.TOGGLE_AUTOCORRECT
|
||||||
CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
|
CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue