diff options
| author | Jeff Brown <jeffbrown@google.com> | 2010-12-21 16:38:50 -0800 |
|---|---|---|
| committer | Jeff Brown <jeffbrown@google.com> | 2010-12-21 17:39:12 -0800 |
| commit | c1df907e3950fd8d2efac110edd72ea07b3b441e (patch) | |
| tree | c6bfa074155a655621c36147edc4b712f295b976 /core/java/android/view/ViewRoot.java | |
| parent | 68e8ed38feffb8608858a6bfc3a14d183bf5a166 (diff) | |
Support invoking key shortcuts using Control.
This enables Select All, Cut, Copy and Paste behavior in TextViews
and provides a general pattern for implementing additional keyboard
accelerators based on Control key shortcuts. The same shortcuts
also apply to menu accelerators.
Bug: 3286262
Change-Id: I7d458ee26abf51e0de1735ce490ce3baf504b471
Diffstat (limited to 'core/java/android/view/ViewRoot.java')
| -rw-r--r-- | core/java/android/view/ViewRoot.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index 281dd2771d7c..5d8170274a01 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -2626,6 +2626,16 @@ public final class ViewRoot extends Handler implements ViewParent, return; } + // If the Control modifier is held, try to interpret the key as a shortcut. + if (event.getAction() == KeyEvent.ACTION_UP + && event.isCtrlPressed() + && !KeyEvent.isModifierKey(event.getKeyCode())) { + if (mView.dispatchKeyShortcutEvent(event)) { + finishKeyEvent(event, sendDone, true); + return; + } + } + // Apply the fallback event policy. if (mFallbackEventHandler.dispatchKeyEvent(event)) { finishKeyEvent(event, sendDone, true); |
