Loading services/core/java/com/android/server/input/InputGestureManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static com.android.hardware.input.Flags.enableTalkbackKeyGestures; import static com.android.hardware.input.Flags.enableVoiceAccessKeyGestures; import static com.android.hardware.input.Flags.keyboardA11yShortcutControl; import static com.android.hardware.input.Flags.enablePartialScreenshotKeyboardShortcut; import static com.android.hardware.input.Flags.keyboardBacklightShortcuts; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -346,6 +347,22 @@ final class InputGestureManager { /* allowCaptureByFocusedWindow = */true )); } if (keyboardBacklightShortcuts()) { systemShortcuts.add( createKeyGesture( KeyEvent.KEYCODE_BRIGHTNESS_UP, KeyEvent.META_META_ON, KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_UP, /* allowCaptureByFocusedWindow = */false )); systemShortcuts.add( createKeyGesture( KeyEvent.KEYCODE_BRIGHTNESS_DOWN, KeyEvent.META_META_ON, KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_DOWN, /* allowCaptureByFocusedWindow = */false )); } synchronized (mGestureLock) { for (InputGestureData systemShortcut : systemShortcuts) { mSystemShortcuts.put(systemShortcut.getTrigger(), systemShortcut); Loading tests/Input/src/com/android/server/input/KeyGestureControllerTests.kt +1 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ import org.mockito.kotlin.times com.android.hardware.input.Flags.FLAG_ENABLE_NEW_25Q2_KEYCODES, com.android.hardware.input.Flags.FLAG_ENABLE_QUICK_SETTINGS_PANEL_SHORTCUT, com.android.hardware.input.Flags.FLAG_ENABLE_PARTIAL_SCREENSHOT_KEYBOARD_SHORTCUT, com.android.hardware.input.Flags.FLAG_KEYBOARD_BACKLIGHT_SHORTCUTS, ) class KeyGestureControllerTests { Loading tests/Input/src/com/android/server/input/KeyGestureTestData.kt +16 −0 Original line number Diff line number Diff line Loading @@ -329,6 +329,22 @@ object KeyGestureTestData { intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), isGestureHandlerRegistered = true, ), KeyGestureData( "META + BRIGHTNESS_UP -> Keyboard Backlight Up", intArrayOf(KeyEvent.KEYCODE_META_LEFT, KeyEvent.KEYCODE_BRIGHTNESS_UP), KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_UP, intArrayOf(KeyEvent.KEYCODE_BRIGHTNESS_UP), KeyEvent.META_META_ON, intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), ), KeyGestureData( "META + BRIGHTNESS_DOWN -> Keyboard Backlight Down", intArrayOf(KeyEvent.KEYCODE_META_RIGHT, KeyEvent.KEYCODE_BRIGHTNESS_DOWN), KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_DOWN, intArrayOf(KeyEvent.KEYCODE_BRIGHTNESS_DOWN), KeyEvent.META_META_ON, intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), ), ) // All Key gestures that can be captured by the focused window (and should not happen in Loading Loading
services/core/java/com/android/server/input/InputGestureManager.java +17 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static com.android.hardware.input.Flags.enableTalkbackKeyGestures; import static com.android.hardware.input.Flags.enableVoiceAccessKeyGestures; import static com.android.hardware.input.Flags.keyboardA11yShortcutControl; import static com.android.hardware.input.Flags.enablePartialScreenshotKeyboardShortcut; import static com.android.hardware.input.Flags.keyboardBacklightShortcuts; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -346,6 +347,22 @@ final class InputGestureManager { /* allowCaptureByFocusedWindow = */true )); } if (keyboardBacklightShortcuts()) { systemShortcuts.add( createKeyGesture( KeyEvent.KEYCODE_BRIGHTNESS_UP, KeyEvent.META_META_ON, KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_UP, /* allowCaptureByFocusedWindow = */false )); systemShortcuts.add( createKeyGesture( KeyEvent.KEYCODE_BRIGHTNESS_DOWN, KeyEvent.META_META_ON, KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_DOWN, /* allowCaptureByFocusedWindow = */false )); } synchronized (mGestureLock) { for (InputGestureData systemShortcut : systemShortcuts) { mSystemShortcuts.put(systemShortcut.getTrigger(), systemShortcut); Loading
tests/Input/src/com/android/server/input/KeyGestureControllerTests.kt +1 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ import org.mockito.kotlin.times com.android.hardware.input.Flags.FLAG_ENABLE_NEW_25Q2_KEYCODES, com.android.hardware.input.Flags.FLAG_ENABLE_QUICK_SETTINGS_PANEL_SHORTCUT, com.android.hardware.input.Flags.FLAG_ENABLE_PARTIAL_SCREENSHOT_KEYBOARD_SHORTCUT, com.android.hardware.input.Flags.FLAG_KEYBOARD_BACKLIGHT_SHORTCUTS, ) class KeyGestureControllerTests { Loading
tests/Input/src/com/android/server/input/KeyGestureTestData.kt +16 −0 Original line number Diff line number Diff line Loading @@ -329,6 +329,22 @@ object KeyGestureTestData { intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), isGestureHandlerRegistered = true, ), KeyGestureData( "META + BRIGHTNESS_UP -> Keyboard Backlight Up", intArrayOf(KeyEvent.KEYCODE_META_LEFT, KeyEvent.KEYCODE_BRIGHTNESS_UP), KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_UP, intArrayOf(KeyEvent.KEYCODE_BRIGHTNESS_UP), KeyEvent.META_META_ON, intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), ), KeyGestureData( "META + BRIGHTNESS_DOWN -> Keyboard Backlight Down", intArrayOf(KeyEvent.KEYCODE_META_RIGHT, KeyEvent.KEYCODE_BRIGHTNESS_DOWN), KeyGestureEvent.KEY_GESTURE_TYPE_KEYBOARD_BACKLIGHT_DOWN, intArrayOf(KeyEvent.KEYCODE_BRIGHTNESS_DOWN), KeyEvent.META_META_ON, intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE), ), ) // All Key gestures that can be captured by the focused window (and should not happen in Loading