diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Constants.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Constants.java index bf8fcb74..6d3b1be2 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Constants.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Constants.java @@ -249,8 +249,12 @@ public final class Constants { public static final int CODE_ALPHA_FROM_NUMPAD = -21; public static final int CODE_SYMBOL_FROM_NUMPAD = -22; public static final int CODE_SELECT_ALL = -23; + public static final int CODE_LEFT = -24; + public static final int CODE_RIGHT = -25; + public static final int CODE_UP = -26; + public static final int CODE_DOWN = -27; // Code value representing the code is not specified. - public static final int CODE_UNSPECIFIED = -24; + public static final int CODE_UNSPECIFIED = -28; public static boolean isLetterCode(final int code) { return code >= CODE_SPACE; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/inputlogic/InputLogic.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/inputlogic/InputLogic.java index fc6ae25b..9734fa85 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/inputlogic/InputLogic.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/inputlogic/InputLogic.java @@ -766,6 +766,18 @@ public final class InputLogic { case Constants.CODE_SELECT_ALL: mConnection.selectAll(); break; + case Constants.CODE_LEFT: + sendDownUpKeyEvent(KeyEvent.KEYCODE_DPAD_LEFT); + break; + case Constants.CODE_RIGHT: + sendDownUpKeyEvent(KeyEvent.KEYCODE_DPAD_RIGHT); + break; + case Constants.CODE_UP: + sendDownUpKeyEvent(KeyEvent.KEYCODE_DPAD_UP); + break; + case Constants.CODE_DOWN: + sendDownUpKeyEvent(KeyEvent.KEYCODE_DPAD_DOWN); + break; default: throw new RuntimeException("Unknown key code : " + event.getMKeyCode()); } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java index 4777a310..0b4eb95c 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java @@ -88,6 +88,10 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick private static final String SETTINGS_KEY_TAG = "settings_key"; private static final String SELECT_ALL_KEY_TAG = "select_all_key"; private static final String ONE_HANDED_KEY_TAG = "one_handed_key"; + private static final String LEFT_KEY_TAG = "left_key"; + private static final String RIGHT_KEY_TAG = "right_key"; + private static final String UP_KEY_TAG = "up_key"; + private static final String DOWN_KEY_TAG = "down_key"; private final ViewGroup mSuggestionsStrip; private final ImageButton mOtherKey; @@ -201,7 +205,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick oneHandedKey.setImageDrawable(keyboardAttr.getDrawable(R.styleable.Keyboard_iconStartOneHandedMode)); keyboardAttr.recycle(); - mToolbarArrowIcon = ContextCompat.getDrawable(context, R.drawable.sym_keyboard_next_lxx_light); + mToolbarArrowIcon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right); mDefaultBackground = mOtherKey.getBackground(); colors.setBackgroundColor(mDefaultBackground, BackgroundType.SUGGESTION); mEnabledToolKeyBackground.setColors(new int[] {colors.getAccent(), Color.TRANSPARENT}); @@ -615,6 +619,18 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick case SETTINGS_KEY_TAG: mListener.onCodeInput(Constants.CODE_SETTINGS, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, false); return; + case LEFT_KEY_TAG: + mListener.onCodeInput(Constants.CODE_LEFT, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, false); + return; + case RIGHT_KEY_TAG: + mListener.onCodeInput(Constants.CODE_RIGHT, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, false); + return; + case UP_KEY_TAG: + mListener.onCodeInput(Constants.CODE_UP, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, false); + return; + case DOWN_KEY_TAG: + mListener.onCodeInput(Constants.CODE_DOWN, Constants.SUGGESTION_STRIP_COORDINATE, Constants.SUGGESTION_STRIP_COORDINATE, false); + return; } } if (view == mOtherKey) { @@ -685,6 +701,14 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick return R.layout.suggestions_strip_select_all_key; case ONE_HANDED_KEY_TAG: return R.layout.suggestions_strip_one_handed_key; + case LEFT_KEY_TAG: + return R.layout.suggestions_strip_left_key; + case RIGHT_KEY_TAG: + return R.layout.suggestions_strip_right_key; + case UP_KEY_TAG: + return R.layout.suggestions_strip_up_key; + case DOWN_KEY_TAG: + return R.layout.suggestions_strip_down_key; } return 0; } diff --git a/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_dark.webp b/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_dark.webp deleted file mode 100644 index 5ba9ee6d..00000000 Binary files a/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_light.webp b/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_light.webp deleted file mode 100644 index 5ba9ee6d..00000000 Binary files a/app/src/main/res/drawable-hdpi/sym_keyboard_next_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.webp b/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.webp deleted file mode 100644 index ba2de765..00000000 Binary files a/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_light.webp b/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_light.webp deleted file mode 100644 index ba2de765..00000000 Binary files a/app/src/main/res/drawable-hdpi/sym_keyboard_previous_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_dark.webp b/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_dark.webp deleted file mode 100644 index fa676c0d..00000000 Binary files a/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_light.webp b/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_light.webp deleted file mode 100644 index fa676c0d..00000000 Binary files a/app/src/main/res/drawable-mdpi/sym_keyboard_next_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.webp b/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.webp deleted file mode 100644 index fa2c0c72..00000000 Binary files a/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_light.webp b/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_light.webp deleted file mode 100644 index fa2c0c72..00000000 Binary files a/app/src/main/res/drawable-mdpi/sym_keyboard_previous_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.webp b/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.webp deleted file mode 100644 index cb8afebc..00000000 Binary files a/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_light.webp b/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_light.webp deleted file mode 100644 index cb8afebc..00000000 Binary files a/app/src/main/res/drawable-xhdpi/sym_keyboard_next_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.webp b/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.webp deleted file mode 100644 index 652ee010..00000000 Binary files a/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_light.webp b/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_light.webp deleted file mode 100644 index 652ee010..00000000 Binary files a/app/src/main/res/drawable-xhdpi/sym_keyboard_previous_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.webp b/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.webp deleted file mode 100644 index da8a36bb..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_light.webp b/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_light.webp deleted file mode 100644 index da8a36bb..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/sym_keyboard_next_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.webp b/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.webp deleted file mode 100644 index 0b4064ae..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_light.webp b/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_light.webp deleted file mode 100644 index 0b4064ae..00000000 Binary files a/app/src/main/res/drawable-xxhdpi/sym_keyboard_previous_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_dark.webp b/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_dark.webp deleted file mode 100644 index 7542f417..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_light.webp b/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_light.webp deleted file mode 100644 index 7542f417..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_next_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_dark.webp b/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_dark.webp deleted file mode 100644 index dadd0cdc..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_light.webp b/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_light.webp deleted file mode 100644 index dadd0cdc..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/sym_keyboard_previous_lxx_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable/ic_arrow_left.xml b/app/src/main/res/drawable/ic_arrow_left.xml new file mode 100644 index 00000000..f901c305 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_left.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_arrow_right.xml b/app/src/main/res/drawable/ic_arrow_right.xml new file mode 100644 index 00000000..7845506b --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_right.xml @@ -0,0 +1,8 @@ + + + diff --git a/app/src/main/res/drawable/ic_arrow_up.xml b/app/src/main/res/drawable/ic_arrow_up.xml new file mode 100644 index 00000000..2aad37ef --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_up.xml @@ -0,0 +1,8 @@ + + + diff --git a/app/src/main/res/layout/suggestions_strip.xml b/app/src/main/res/layout/suggestions_strip.xml index 18546aa5..d8e64c46 100644 --- a/app/src/main/res/layout/suggestions_strip.xml +++ b/app/src/main/res/layout/suggestions_strip.xml @@ -62,6 +62,18 @@ + + + + diff --git a/app/src/main/res/layout/suggestions_strip_down_key.xml b/app/src/main/res/layout/suggestions_strip_down_key.xml new file mode 100644 index 00000000..507dccc6 --- /dev/null +++ b/app/src/main/res/layout/suggestions_strip_down_key.xml @@ -0,0 +1,10 @@ + + diff --git a/app/src/main/res/layout/suggestions_strip_left_key.xml b/app/src/main/res/layout/suggestions_strip_left_key.xml new file mode 100644 index 00000000..147c8441 --- /dev/null +++ b/app/src/main/res/layout/suggestions_strip_left_key.xml @@ -0,0 +1,10 @@ + + diff --git a/app/src/main/res/layout/suggestions_strip_right_key.xml b/app/src/main/res/layout/suggestions_strip_right_key.xml new file mode 100644 index 00000000..9f82b984 --- /dev/null +++ b/app/src/main/res/layout/suggestions_strip_right_key.xml @@ -0,0 +1,10 @@ + + diff --git a/app/src/main/res/layout/suggestions_strip_up_key.xml b/app/src/main/res/layout/suggestions_strip_up_key.xml new file mode 100644 index 00000000..6318f7d8 --- /dev/null +++ b/app/src/main/res/layout/suggestions_strip_up_key.xml @@ -0,0 +1,10 @@ + + diff --git a/app/src/main/res/values/keyboard-icons-lxx-light-parent.xml b/app/src/main/res/values/keyboard-icons-lxx-light-parent.xml index 41ee053a..b91a39ee 100644 --- a/app/src/main/res/values/keyboard-icons-lxx-light-parent.xml +++ b/app/src/main/res/values/keyboard-icons-lxx-light-parent.xml @@ -31,9 +31,9 @@ @drawable/sym_keyboard_go_lxx_light @drawable/sym_keyboard_search_lxx_light @drawable/sym_keyboard_send_lxx_light - @drawable/sym_keyboard_next_lxx_light + @drawable/ic_arrow_right @drawable/sym_keyboard_done_lxx_light - @drawable/sym_keyboard_previous_lxx_light + @drawable/ic_arrow_left @drawable/sym_keyboard_voice_lxx_light @drawable/sym_keyboard_voice_off_lxx_light @drawable/sym_keyboard_incognito_lxx_light