Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More cursor keys #925

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Does not use internet permission, and thus is 100% offline.

## Hidden Functionality
Features that may go unnoticed, and further potentially useful information
* Long-pressing toolbar keys results in additional functionality: clipboard -> paste, move left/right -> move full left/right, move up/down -> page up/down, copy -> copy all, select word -> select all, undo <-> redo
* Long-pressing toolbar keys results in additional functionality: clipboard -> paste, move left/right -> word left/right, move up/down -> page up/down, word left/right -> line start/end, page up/down -> page start/end, copy -> copy all, select word -> select all, undo <-> redo
* Long-press the Comma-key to access Clipboard View, Emoji View, One-handed Mode, Settings, or Switch Language:
* Emoji View and Language Switch will disappear if you have the corresponding key enabled;
* For some layouts it\'s not the Comma-key, but the key at the same position (e.g. it\'s `q` for Dvorak layout).
Expand Down
14 changes: 10 additions & 4 deletions app/src/main/java/helium314/keyboard/keyboard/Key.java
Original file line number Diff line number Diff line change
Expand Up @@ -1171,13 +1171,19 @@ public KeyParams(
if (mCode <= Constants.CODE_SPACE && mCode != KeyCode.MULTIPLE_CODE_POINTS && mIconName == null)
actionFlags |= ACTION_FLAGS_NO_KEY_PREVIEW;
switch (mCode) {
case KeyCode.DELETE, KeyCode.SHIFT, Constants.CODE_ENTER, KeyCode.SHIFT_ENTER, KeyCode.ALPHA, Constants.CODE_SPACE, KeyCode.NUMPAD,
KeyCode.SYMBOL, KeyCode.SYMBOL_ALPHA, KeyCode.LANGUAGE_SWITCH, KeyCode.EMOJI, KeyCode.CLIPBOARD -> actionFlags |= ACTION_FLAGS_NO_KEY_PREVIEW; // no preview even if icon!
case KeyCode.DELETE, KeyCode.ARROW_LEFT, KeyCode.ARROW_RIGHT, KeyCode.ARROW_UP, KeyCode.ARROW_DOWN,
KeyCode.WORD_LEFT, KeyCode.WORD_RIGHT, KeyCode.PAGE_UP, KeyCode.PAGE_DOWN:
// todo: it would be ideal if the cursor keys didn't keep making sound when scraping
// the edge of a text field (like the delete key)
actionFlags |= ACTION_FLAGS_IS_REPEATABLE;
// fallthrough
case KeyCode.SHIFT, Constants.CODE_ENTER, KeyCode.SHIFT_ENTER, KeyCode.ALPHA, Constants.CODE_SPACE, KeyCode.NUMPAD,
KeyCode.SYMBOL, KeyCode.SYMBOL_ALPHA, KeyCode.LANGUAGE_SWITCH, KeyCode.EMOJI, KeyCode.CLIPBOARD,
KeyCode.MOVE_START_OF_LINE, KeyCode.MOVE_END_OF_LINE, KeyCode.MOVE_START_OF_PAGE, KeyCode.MOVE_END_OF_PAGE:
actionFlags |= ACTION_FLAGS_NO_KEY_PREVIEW; // no preview even if icon!
}
if (mCode == KeyCode.SETTINGS || mCode == KeyCode.LANGUAGE_SWITCH)
actionFlags |= ACTION_FLAGS_ALT_CODE_WHILE_TYPING;
if (mCode == KeyCode.DELETE)
actionFlags |= ACTION_FLAGS_IS_REPEATABLE;
mActionFlags = actionFlags;

final int altCodeInAttr; // settings and language switch keys have alt code space, all others nothing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ object KeyCode {
const val META = -10012
const val META_LOCK = -10013 // to be consistent with the CTRL/ALT(/FN LOCK codes, not sure whether this will be used
const val TAB = -10014
const val WORD_LEFT = -10015
const val WORD_RIGHT = -10016

/** to make sure a FlorisBoard code works when reading a JSON layout */
fun Int.checkAndConvertCode(): Int = if (this > 0) this else when (this) {
Expand All @@ -147,11 +149,13 @@ object KeyCode {
VOICE_INPUT, LANGUAGE_SWITCH, SETTINGS, DELETE, ALPHA, SYMBOL, EMOJI, CLIPBOARD, CLIPBOARD_CUT,
UNDO, REDO, ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, CLIPBOARD_COPY, CLIPBOARD_SELECT_ALL,
CLIPBOARD_SELECT_WORD, TOGGLE_INCOGNITO_MODE, TOGGLE_AUTOCORRECT, MOVE_START_OF_LINE, MOVE_END_OF_LINE,
SHIFT, CAPS_LOCK, MULTIPLE_CODE_POINTS, UNSPECIFIED, CTRL, ALT, FN, CLIPBOARD_CLEAR_HISTORY,
MOVE_START_OF_PAGE, MOVE_END_OF_PAGE, SHIFT, CAPS_LOCK, MULTIPLE_CODE_POINTS, UNSPECIFIED, CTRL, ALT,
FN, CLIPBOARD_CLEAR_HISTORY,

// heliboard only
SYMBOL_ALPHA, START_ONE_HANDED_MODE, STOP_ONE_HANDED_MODE, SWITCH_ONE_HANDED_MODE, SHIFT_ENTER,
ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, PAGE_UP, PAGE_DOWN, META, TAB
ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, WORD_LEFT, WORD_RIGHT, PAGE_UP,
PAGE_DOWN, META, TAB
-> this

// conversion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -761,23 +761,39 @@ private void handleFunctionalEvent(final Event event, final InputTransaction inp
case KeyCode.ARROW_DOWN:
sendDownUpKeyEvent(KeyEvent.KEYCODE_DPAD_DOWN);
break;
case KeyCode.UNDO:
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_Z, KeyEvent.META_CTRL_ON);
case KeyCode.WORD_LEFT:
// todo: this approach is error-prone
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_DPAD_LEFT, KeyEvent.META_CTRL_ON);
break;
case KeyCode.REDO:
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_Z, KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON);
case KeyCode.WORD_RIGHT:
// todo: this approach is error-prone
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_DPAD_RIGHT, KeyEvent.META_CTRL_ON);
break;
case KeyCode.PAGE_UP:
sendDownUpKeyEvent(KeyEvent.KEYCODE_PAGE_UP);
break;
case KeyCode.PAGE_DOWN:
sendDownUpKeyEvent(KeyEvent.KEYCODE_PAGE_DOWN);
break;
case KeyCode.MOVE_START_OF_LINE:
sendDownUpKeyEvent(KeyEvent.KEYCODE_MOVE_HOME);
break;
case KeyCode.MOVE_END_OF_LINE:
sendDownUpKeyEvent(KeyEvent.KEYCODE_MOVE_END);
break;
case KeyCode.PAGE_UP:
sendDownUpKeyEvent(KeyEvent.KEYCODE_PAGE_UP);
case KeyCode.MOVE_START_OF_PAGE:
// todo: this approach is error-prone
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_MOVE_HOME, KeyEvent.META_CTRL_ON);
break;
case KeyCode.PAGE_DOWN:
sendDownUpKeyEvent(KeyEvent.KEYCODE_PAGE_DOWN);
case KeyCode.MOVE_END_OF_PAGE:
// todo: this approach is error-prone
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_MOVE_END, KeyEvent.META_CTRL_ON);
break;
case KeyCode.UNDO:
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_Z, KeyEvent.META_CTRL_ON);
break;
case KeyCode.REDO:
sendDownUpKeyEventWithMetaState(KeyEvent.KEYCODE_Z, KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON);
break;
case KeyCode.TAB:
sendDownUpKeyEvent(KeyEvent.KEYCODE_TAB);
Expand Down
27 changes: 23 additions & 4 deletions app/src/main/java/helium314/keyboard/latin/utils/ToolbarUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ fun createToolbarKey(context: Context, keyboardAttr: TypedArray, key: ToolbarKey
button.contentDescription = context.getString(contentDescriptionId)
if (key == LEFT || key == RIGHT || key == UP || key == DOWN) {
// arrows look a little awkward when not scaled
// todo: this should apply to the main keyboard as well
button.scaleX = 1.2f
button.scaleY = 1.2f
}
Expand All @@ -51,23 +52,33 @@ fun getCodeForToolbarKey(key: ToolbarKey) = when (key) {
RIGHT -> KeyCode.ARROW_RIGHT
UP -> KeyCode.ARROW_UP
DOWN -> KeyCode.ARROW_DOWN
WORD_LEFT -> KeyCode.WORD_LEFT
WORD_RIGHT -> KeyCode.WORD_RIGHT
PAGE_UP -> KeyCode.PAGE_UP
PAGE_DOWN -> KeyCode.PAGE_DOWN
UNDO -> KeyCode.UNDO
REDO -> KeyCode.REDO
INCOGNITO -> KeyCode.TOGGLE_INCOGNITO_MODE
AUTOCORRECT -> KeyCode.TOGGLE_AUTOCORRECT
FULL_LEFT -> KeyCode.MOVE_START_OF_LINE
FULL_RIGHT -> KeyCode.MOVE_END_OF_LINE
PAGE_START -> KeyCode.MOVE_START_OF_PAGE
PAGE_END -> KeyCode.MOVE_END_OF_PAGE
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_WORD
CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
CLOSE_HISTORY -> KeyCode.ALPHA
EMOJI -> KeyCode.EMOJI
}

fun getCodeForToolbarKeyLongClick(key: ToolbarKey) = when (key) {
RIGHT -> KeyCode.MOVE_END_OF_LINE
LEFT -> KeyCode.MOVE_START_OF_LINE
LEFT -> KeyCode.WORD_LEFT
RIGHT -> KeyCode.WORD_RIGHT
UP -> KeyCode.PAGE_UP
DOWN -> KeyCode.PAGE_DOWN
WORD_LEFT -> KeyCode.MOVE_START_OF_LINE
WORD_RIGHT -> KeyCode.MOVE_END_OF_LINE
PAGE_UP -> KeyCode.MOVE_START_OF_PAGE
PAGE_DOWN -> KeyCode.MOVE_END_OF_PAGE
UNDO -> KeyCode.REDO
REDO -> KeyCode.UNDO
COPY -> KeyCode.CLIPBOARD_COPY_ALL
Expand All @@ -88,13 +99,19 @@ fun getStyleableIconId(key: ToolbarKey) = when (key) {
RIGHT -> R.styleable.Keyboard_iconArrowRight
UP -> R.styleable.Keyboard_iconArrowUp
DOWN -> R.styleable.Keyboard_iconArrowDown
WORD_LEFT -> R.styleable.Keyboard_iconWordLeft
WORD_RIGHT -> R.styleable.Keyboard_iconWordRight
PAGE_UP -> R.styleable.Keyboard_iconPageUp
PAGE_DOWN -> R.styleable.Keyboard_iconPageDown
UNDO -> R.styleable.Keyboard_iconUndo
REDO -> R.styleable.Keyboard_iconRedo
INCOGNITO -> R.styleable.Keyboard_iconIncognitoKey
AUTOCORRECT -> R.styleable.Keyboard_iconAutoCorrect
CLEAR_CLIPBOARD -> R.styleable.Keyboard_iconClearClipboardKey
FULL_LEFT -> R.styleable.Keyboard_iconFullLeft
FULL_RIGHT -> R.styleable.Keyboard_iconFullRight
PAGE_START -> R.styleable.Keyboard_iconPageStart
PAGE_END -> R.styleable.Keyboard_iconPageEnd
SELECT_WORD -> R.styleable.Keyboard_iconSelectWord
CLOSE_HISTORY -> R.styleable.Keyboard_iconClose
EMOJI -> R.styleable.Keyboard_iconEmojiNormalKey
Expand All @@ -112,14 +129,16 @@ fun getToolbarIconByName(name: String, context: Context): Drawable? {
// names need to be aligned with resources strings (using lowercase of key.name)
enum class ToolbarKey {
VOICE, CLIPBOARD, UNDO, REDO, SETTINGS, SELECT_ALL, SELECT_WORD, COPY, CUT, ONE_HANDED, LEFT, RIGHT, UP, DOWN,
FULL_LEFT, FULL_RIGHT, INCOGNITO, AUTOCORRECT, CLEAR_CLIPBOARD, CLOSE_HISTORY, EMOJI
WORD_LEFT, WORD_RIGHT, PAGE_UP, PAGE_DOWN, FULL_LEFT, FULL_RIGHT, PAGE_START, PAGE_END, INCOGNITO, AUTOCORRECT,
CLEAR_CLIPBOARD, CLOSE_HISTORY, EMOJI
}

val toolbarKeyStrings = entries.associateWithTo(EnumMap(ToolbarKey::class.java)) { it.toString().lowercase(Locale.US) }

val defaultToolbarPref = entries.filterNot { it == CLOSE_HISTORY }.joinToString(";") {
when (it) {
INCOGNITO, AUTOCORRECT, UP, DOWN, ONE_HANDED, FULL_LEFT, FULL_RIGHT, CUT, CLEAR_CLIPBOARD, EMOJI -> "${it.name},false"
INCOGNITO, AUTOCORRECT, UP, DOWN, ONE_HANDED, WORD_LEFT, WORD_RIGHT, PAGE_UP, PAGE_DOWN,
FULL_LEFT, FULL_RIGHT, PAGE_START, PAGE_END, CUT, CLEAR_CLIPBOARD, EMOJI -> "${it.name},false"
else -> "${it.name},true"
}
}
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_down.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:drawable="@drawable/ic_word_left">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_down_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:drawable="@drawable/ic_word_left_rounded">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_end.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:drawable="@drawable/ic_to_end">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_end_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:drawable="@drawable/ic_to_end_rounded">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_start.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:drawable="@drawable/ic_to_end">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_start_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="270"
android:drawable="@drawable/ic_to_end_rounded">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_up.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:drawable="@drawable/ic_word_left">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_page_up_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:drawable="@drawable/ic_word_left_rounded">
</rotate>
14 changes: 14 additions & 0 deletions app/src/main/res/drawable/ic_word_left.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
icon available in Android Studio
SPDX-License-Identifier: Apache-2.0
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24"
android:viewportWidth="24" >
<path android:fillColor="#FFF"
android:pathData="M17.59,18l1.41,-1.41l-4.58,-4.59l4.58,-4.59l-1.41,-1.41l-6,6z"/>
<path android:fillColor="#FFF"
android:pathData="M11,18l1.41,-1.41l-4.58,-4.59l4.58,-4.59l-1.41,-1.41l-6,6z"/>
</vector>
14 changes: 14 additions & 0 deletions app/src/main/res/drawable/ic_word_left_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: Material Design Authors / Google LLC
SPDX-License-Identifier: Apache-2.0
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="#FFF"
android:pathData="M313,480L468,636Q479,647 479.5,663.5Q480,680 468,692Q457,703 440,703Q423,703 412,692L228,508Q222,502 219.5,495Q217,488 217,480Q217,472 219.5,465Q222,458 228,452L412,268Q423,257 439.5,256.5Q456,256 468,268Q479,279 479,296Q479,313 468,324L313,480ZM577,480L732,636Q743,647 743.5,663.5Q744,680 732,692Q721,703 704,703Q687,703 676,692L492,508Q486,502 483.5,495Q481,488 481,480Q481,472 483.5,465Q486,458 492,452L676,268Q687,257 703.5,256.5Q720,256 732,268Q743,279 743,296Q743,313 732,324L577,480Z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_word_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="180"
android:drawable="@drawable/ic_word_left">
</rotate>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_word_right_rounded.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="180"
android:drawable="@drawable/ic_word_left_rounded">
</rotate>
6 changes: 6 additions & 0 deletions app/src/main/res/values/attrs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,14 @@
<attr name="iconArrowRight" format="reference" />
<attr name="iconArrowUp" format="reference" />
<attr name="iconArrowDown" format="reference" />
<attr name="iconWordLeft" format="reference" />
<attr name="iconWordRight" format="reference" />
<attr name="iconPageUp" format="reference" />
<attr name="iconPageDown" format="reference" />
<attr name="iconFullLeft" format="reference" />
<attr name="iconFullRight" format="reference" />
<attr name="iconPageStart" format="reference" />
<attr name="iconPageEnd" format="reference" />
<attr name="iconSelectWord" format="reference" />
<attr name="iconBin" format="reference" />
<attr name="iconUndo" format="reference" />
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values/keyboard-icons-holo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,17 @@
<item name="iconArrowRight">@drawable/ic_arrow_right</item>
<item name="iconArrowUp">@drawable/ic_arrow_up</item>
<item name="iconArrowDown">@drawable/ic_arrow_down</item>
<item name="iconWordLeft">@drawable/ic_word_left</item>
<item name="iconWordRight">@drawable/ic_word_right</item>
<item name="iconPageUp">@drawable/ic_page_up</item>
<item name="iconPageDown">@drawable/ic_page_down</item>
<item name="iconBin">@drawable/ic_delete</item>
<item name="iconUndo">@drawable/ic_undo</item>
<item name="iconRedo">@drawable/ic_redo</item>
<item name="iconFullLeft">@drawable/ic_to_start</item>
<item name="iconFullRight">@drawable/ic_to_end</item>
<item name="iconPageStart">@drawable/ic_page_start</item>
<item name="iconPageEnd">@drawable/ic_page_end</item>
<item name="iconSelectWord">@drawable/ic_select</item>
<item name="iconClose">@drawable/ic_close</item>
</style>
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values/keyboard-icons-lxx-light.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,17 @@
<item name="iconArrowRight">@drawable/ic_arrow_right</item>
<item name="iconArrowUp">@drawable/ic_arrow_up</item>
<item name="iconArrowDown">@drawable/ic_arrow_down</item>
<item name="iconWordLeft">@drawable/ic_word_left</item>
<item name="iconWordRight">@drawable/ic_word_right</item>
<item name="iconPageUp">@drawable/ic_page_up</item>
<item name="iconPageDown">@drawable/ic_page_down</item>
<item name="iconBin">@drawable/ic_delete</item>
<item name="iconUndo">@drawable/ic_undo</item>
<item name="iconRedo">@drawable/ic_redo</item>
<item name="iconFullLeft">@drawable/ic_to_start</item>
<item name="iconFullRight">@drawable/ic_to_end</item>
<item name="iconPageStart">@drawable/ic_page_start</item>
<item name="iconPageEnd">@drawable/ic_page_end</item>
<item name="iconSelectWord">@drawable/ic_select</item>
<item name="iconClose">@drawable/ic_close</item>
</style>
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values/keyboard-icons-rounded.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,17 @@
<item name="iconArrowRight">@drawable/ic_arrow_right_rounded</item>
<item name="iconArrowUp">@drawable/ic_arrow_up_rounded</item>
<item name="iconArrowDown">@drawable/ic_arrow_down_rounded</item>
<item name="iconWordLeft">@drawable/ic_word_left_rounded</item>
<item name="iconWordRight">@drawable/ic_word_right_rounded</item>
<item name="iconPageUp">@drawable/ic_page_up_rounded</item>
<item name="iconPageDown">@drawable/ic_page_down_rounded</item>
<item name="iconBin">@drawable/ic_delete_rounded</item>
<item name="iconUndo">@drawable/ic_undo_rounded</item>
<item name="iconRedo">@drawable/ic_redo_rounded</item>
<item name="iconFullLeft">@drawable/ic_to_start_rounded</item>
<item name="iconFullRight">@drawable/ic_to_end_rounded</item>
<item name="iconPageStart">@drawable/ic_page_start_rounded</item>
<item name="iconPageEnd">@drawable/ic_page_end_rounded</item>
<item name="iconSelectWord">@drawable/ic_select_rounded</item>
<item name="iconClose">@drawable/ic_close</item>
</style>
Expand Down
Loading