summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authoryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-27 00:57:57 +0000
committeryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-27 00:57:57 +0000
commit42f06f9ca2fe07018a88994569f87373a7c6c578 (patch)
tree526028affef80bcaa4a9b0771f27ac969e0b8c47 /ash/shell.h
parent706cfde8e0b70a58ecb60d3f6eb918295b188234 (diff)
downloadchromium_src-42f06f9ca2fe07018a88994569f87373a7c6c578.zip
chromium_src-42f06f9ca2fe07018a88994569f87373a7c6c578.tar.gz
chromium_src-42f06f9ca2fe07018a88994569f87373a7c6c578.tar.bz2
Automatically remap Command key on an Apple keyboard to Control [part 1 of 2 - Ash part]
Add key_rewriter_event_filter.h which allows its delegate to rewrite or delete an aura::KeyEvent. The new interface will be used for implementing the following three features: * crosbug.com/25097: Remap keys on external keyboards (R19) * crosbug.com/27167: Consider adding a way to send function keys to web pages (R20) * crbug.com/115112: Move modifier remapping code from X to Chrome (M20) Part 2 of 2: http://codereview.chromium.org/9854025/ BUG=chromium-os:25097 BUG=chromium-os:27167 BUG=115112 TEST=try Review URL: https://chromiumcodereview.appspot.com/9838010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129076 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r--ash/shell.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/ash/shell.h b/ash/shell.h
index 10f972a..2c864ad 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -64,6 +64,7 @@ class DragDropController;
class EventClientImpl;
class FocusCycler;
class InputMethodEventFilter;
+class KeyRewriterEventFilter;
class MonitorController;
class PartialScreenshotEventFilter;
class ResizeShadowController;
@@ -178,6 +179,9 @@ class ASH_EXPORT Shell {
internal::TooltipController* tooltip_controller() {
return tooltip_controller_.get();
}
+ internal::KeyRewriterEventFilter* key_rewriter_filter() {
+ return key_rewriter_filter_.get();
+ }
internal::PartialScreenshotEventFilter* partial_screenshot_filter() {
return partial_screenshot_filter_.get();
}
@@ -296,8 +300,8 @@ class ASH_EXPORT Shell {
scoped_ptr<internal::EventClientImpl> event_client_;
scoped_ptr<internal::MonitorController> monitor_controller_;
- // An event filter that pre-handles all key events to send them to an IME.
- scoped_ptr<internal::InputMethodEventFilter> input_method_filter_;
+ // An event filter that rewrites or drops a key event.
+ scoped_ptr<internal::KeyRewriterEventFilter> key_rewriter_filter_;
// An event filter that pre-handles key events while the partial
// screenshot UI is active.
@@ -308,6 +312,9 @@ class ASH_EXPORT Shell {
scoped_ptr<internal::AcceleratorFilter> accelerator_filter_;
#endif
+ // An event filter that pre-handles all key events to send them to an IME.
+ scoped_ptr<internal::InputMethodEventFilter> input_method_filter_;
+
// The shelf for managing the launcher and the status widget in non-compact
// mode. Shell does not own the shelf. Instead, it is owned by container of
// the status area.