diff options
3 files changed, 53 insertions, 0 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 64367ef79856..3b89e9c42c93 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2384,6 +2384,12 @@ <string name="group_accessibility_toggle_slow_keys">Toggle slow keys</string> <!-- User visible title for the keyboard shortcut that toggles Voice Access. [CHAR LIMIT=70] --> <string name="group_accessibility_toggle_voice_access">Toggle Voice Access</string> + <!-- User visible title for the keyboard shortcut that toggles Talkback. [CHAR LIMIT=70] --> + <string name="group_accessibility_toggle_talkback">Toggle Talkback</string> + <!-- User visible title for the keyboard shortcut that toggles Magnification. [CHAR LIMIT=70] --> + <string name="group_accessibility_toggle_magnification">Toggle Magnification</string> + <!-- User visible title for the keyboard shortcut that activates Select to Speak service. [CHAR LIMIT=70] --> + <string name="group_accessibility_activate_select_to_speak">Activate Select to Speak</string> <!-- SysUI Tuner: Label for screen about do not disturb settings [CHAR LIMIT=60] --> <string name="volume_and_do_not_disturb">Do Not Disturb</string> diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/InputGestureMaps.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/InputGestureMaps.kt index 8e4c9349c604..0908e3b5bf85 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/InputGestureMaps.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/InputGestureMaps.kt @@ -17,6 +17,7 @@ package com.android.systemui.keyboard.shortcut.data.repository import android.content.Context +import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_ACTIVATE_SELECT_TO_SPEAK import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_BACK import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT @@ -40,11 +41,13 @@ import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVI import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_RIGHT import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TAKE_SCREENSHOT import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_BOUNCE_KEYS +import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MAXIMIZE_FREEFORM_WINDOW import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_MOUSE_KEYS import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_NOTIFICATION_PANEL import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_SLOW_KEYS import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_STICKY_KEYS +import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_VOICE_ACCESS import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategoryType.Accessibility import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategoryType.AppCategories @@ -92,6 +95,9 @@ class InputGestureMaps @Inject constructor(private val context: Context) { KEY_GESTURE_TYPE_TOGGLE_STICKY_KEYS to Accessibility, KEY_GESTURE_TYPE_TOGGLE_SLOW_KEYS to Accessibility, KEY_GESTURE_TYPE_TOGGLE_VOICE_ACCESS to Accessibility, + KEY_GESTURE_TYPE_TOGGLE_TALKBACK to Accessibility, + KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION to Accessibility, + KEY_GESTURE_TYPE_ACTIVATE_SELECT_TO_SPEAK to Accessibility, ) val gestureToInternalKeyboardShortcutGroupLabelResIdMap = @@ -144,6 +150,10 @@ class InputGestureMaps @Inject constructor(private val context: Context) { KEY_GESTURE_TYPE_TOGGLE_STICKY_KEYS to R.string.shortcutHelper_category_accessibility, KEY_GESTURE_TYPE_TOGGLE_SLOW_KEYS to R.string.shortcutHelper_category_accessibility, KEY_GESTURE_TYPE_TOGGLE_VOICE_ACCESS to R.string.shortcutHelper_category_accessibility, + KEY_GESTURE_TYPE_TOGGLE_TALKBACK to R.string.shortcutHelper_category_accessibility, + KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION to R.string.shortcutHelper_category_accessibility, + KEY_GESTURE_TYPE_ACTIVATE_SELECT_TO_SPEAK to + R.string.shortcutHelper_category_accessibility, ) /** @@ -192,6 +202,11 @@ class InputGestureMaps @Inject constructor(private val context: Context) { KEY_GESTURE_TYPE_TOGGLE_SLOW_KEYS to R.string.group_accessibility_toggle_slow_keys, KEY_GESTURE_TYPE_TOGGLE_VOICE_ACCESS to R.string.group_accessibility_toggle_voice_access, + KEY_GESTURE_TYPE_TOGGLE_TALKBACK to R.string.group_accessibility_toggle_talkback, + KEY_GESTURE_TYPE_TOGGLE_MAGNIFICATION to + R.string.group_accessibility_toggle_magnification, + KEY_GESTURE_TYPE_ACTIVATE_SELECT_TO_SPEAK to + R.string.group_accessibility_activate_select_to_speak, ) val shortcutLabelToKeyGestureTypeMap: Map<String, Int> diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/AccessibilityShortcutsSource.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/AccessibilityShortcutsSource.kt index 0c98f81e7cef..fdb80b2e0f87 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/AccessibilityShortcutsSource.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/AccessibilityShortcutsSource.kt @@ -22,11 +22,15 @@ import android.view.KeyEvent.KEYCODE_3 import android.view.KeyEvent.KEYCODE_4 import android.view.KeyEvent.KEYCODE_5 import android.view.KeyEvent.KEYCODE_6 +import android.view.KeyEvent.KEYCODE_M +import android.view.KeyEvent.KEYCODE_S +import android.view.KeyEvent.KEYCODE_T import android.view.KeyEvent.KEYCODE_V import android.view.KeyEvent.META_ALT_ON import android.view.KeyEvent.META_META_ON import android.view.KeyboardShortcutGroup import android.view.KeyboardShortcutInfo +import com.android.hardware.input.Flags.enableTalkbackAndMagnifierKeyGestures import com.android.hardware.input.Flags.enableVoiceAccessKeyGestures import com.android.hardware.input.Flags.keyboardA11yShortcutControl import com.android.systemui.dagger.qualifiers.Main @@ -106,6 +110,34 @@ class AccessibilityShortcutsSource @Inject constructor(@Main private val resourc ) } + if (enableTalkbackAndMagnifierKeyGestures()) { + shortcuts.add( + // Toggle talkback: + // - Meta + Alt + T + shortcutInfo(resources.getString(R.string.group_accessibility_toggle_talkback)) { + command(META_META_ON or META_ALT_ON, KEYCODE_T) + } + ) + shortcuts.add( + // Toggle magnification: + // - Meta + Alt + M + shortcutInfo( + resources.getString(R.string.group_accessibility_toggle_magnification) + ) { + command(META_META_ON or META_ALT_ON, KEYCODE_M) + } + ) + shortcuts.add( + // Activate Select to Speak: + // - Meta + Alt + S + shortcutInfo( + resources.getString(R.string.group_accessibility_activate_select_to_speak) + ) { + command(META_META_ON or META_ALT_ON, KEYCODE_S) + } + ) + } + return shortcuts } } |