| Index: ash/accelerators/accelerator_filter.cc
|
| diff --git a/ash/accelerators/accelerator_filter.cc b/ash/accelerators/accelerator_filter.cc
|
| index ee818e971d1de8943b1182097fbc285ad896cfab..957efaadba9f9908c01f71bc345f56047ec9641a 100644
|
| --- a/ash/accelerators/accelerator_filter.cc
|
| +++ b/ash/accelerators/accelerator_filter.cc
|
| @@ -34,12 +34,16 @@ AcceleratorFilter::~AcceleratorFilter() {
|
|
|
| bool AcceleratorFilter::PreHandleKeyEvent(aura::Window* target,
|
| aura::KeyEvent* event) {
|
| - if (event->type() == ui::ET_KEY_PRESSED && !event->is_char()) {
|
| - return Shell::GetInstance()->accelerator_controller()->Process(
|
| - ui::Accelerator(event->key_code(),
|
| - event->flags() & kModifierFlagMask));
|
| - }
|
| - return false;
|
| + const ui::EventType type = event->type();
|
| + if (type != ui::ET_KEY_PRESSED && type != ui::ET_TRANSLATED_KEY_PRESS)
|
| + return false;
|
| + if (event->is_char())
|
| + return false;
|
| +
|
| + ui::Accelerator accelerator(event->key_code(),
|
| + event->flags() & kModifierFlagMask);
|
| + accelerator.set_type(type);
|
| + return Shell::GetInstance()->accelerator_controller()->Process(accelerator);
|
| }
|
|
|
| bool AcceleratorFilter::PreHandleMouseEvent(aura::Window* target,
|
|
|