diff options
author | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-10 03:15:54 +0000 |
---|---|---|
committer | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-10 03:15:54 +0000 |
commit | 46d54c478142e7aca9b5f78e7fe46f5c28fcad6e (patch) | |
tree | 4bfba13fc7876d0bad28c0ed11fccea7cdf56901 /ash | |
parent | 5b040e597b56713c3f2d69a198079ace7af978d5 (diff) | |
download | chromium_src-46d54c478142e7aca9b5f78e7fe46f5c28fcad6e.zip chromium_src-46d54c478142e7aca9b5f78e7fe46f5c28fcad6e.tar.gz chromium_src-46d54c478142e7aca9b5f78e7fe46f5c28fcad6e.tar.bz2 |
Handle F6 and F7 (brightness keys) in ash [part 3 of 3].
Support multimedia keys on an external USB keyboard. Since Windows does not define VKs for brightness keys, add new VKEYs to keyboard_codes_posix.h.
BUG=110407
TEST=ran aura_shell_unittests
Review URL: http://codereview.chromium.org/9309098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121394 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 4 | ||||
-rw-r--r-- | ash/accelerators/accelerator_controller_unittest.cc | 35 |
2 files changed, 37 insertions, 2 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 8bad7f0..e6e0764 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -62,6 +62,8 @@ struct AcceleratorData { { ui::VKEY_TAB, true, false, true, CYCLE_BACKWARD }, { ui::VKEY_F5, false, false, false, CYCLE_FORWARD }, #if defined(OS_CHROMEOS) + { ui::VKEY_BRIGHTNESS_DOWN, false, false, false, BRIGHTNESS_DOWN }, + { ui::VKEY_BRIGHTNESS_UP, false, false, false, BRIGHTNESS_UP }, { ui::VKEY_L, true, true, false, LOCK_SCREEN }, #endif { ui::VKEY_Q, true, true, false, EXIT }, @@ -71,8 +73,6 @@ struct AcceleratorData { { ui::VKEY_PRINT, false, false, false, TAKE_SCREENSHOT }, // On Chrome OS, Search key is mapped to LWIN. { ui::VKEY_LWIN, true, false, false, TOGGLE_CAPS_LOCK }, - // TODO(yusukes): Support multimedia keys for controlling brightness on an - // external USB keyboard. { ui::VKEY_F6, false, false, false, BRIGHTNESS_DOWN }, { ui::VKEY_F7, false, false, false, BRIGHTNESS_UP }, { ui::VKEY_F8, false, false, false, VOLUME_MUTE }, diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc index c494701..848fa44 100644 --- a/ash/accelerators/accelerator_controller_unittest.cc +++ b/ash/accelerators/accelerator_controller_unittest.cc @@ -504,6 +504,41 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) { EXPECT_EQ(1, delegate->handle_brightness_up_count()); EXPECT_EQ(f7, delegate->last_accelerator()); } +#if defined(OS_CHROMEOS) + // ui::VKEY_BRIGHTNESS_DOWN/UP are not defined on Windows. + const ui::Accelerator brightness_down( + ui::VKEY_BRIGHTNESS_DOWN, false, false, false); + const ui::Accelerator brightness_up( + ui::VKEY_BRIGHTNESS_UP, false, false, false); + { + DummyBrightnessControlDelegate* delegate = + new DummyBrightnessControlDelegate(false); + GetController()->SetBrightnessControlDelegate( + scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); + EXPECT_EQ(0, delegate->handle_brightness_down_count()); + EXPECT_FALSE(GetController()->Process(brightness_down)); + EXPECT_EQ(1, delegate->handle_brightness_down_count()); + EXPECT_EQ(brightness_down, delegate->last_accelerator()); + EXPECT_EQ(0, delegate->handle_brightness_up_count()); + EXPECT_FALSE(GetController()->Process(brightness_up)); + EXPECT_EQ(1, delegate->handle_brightness_up_count()); + EXPECT_EQ(brightness_up, delegate->last_accelerator()); + } + { + DummyBrightnessControlDelegate* delegate = + new DummyBrightnessControlDelegate(true); + GetController()->SetBrightnessControlDelegate( + scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); + EXPECT_EQ(0, delegate->handle_brightness_down_count()); + EXPECT_TRUE(GetController()->Process(brightness_down)); + EXPECT_EQ(1, delegate->handle_brightness_down_count()); + EXPECT_EQ(brightness_down, delegate->last_accelerator()); + EXPECT_EQ(0, delegate->handle_brightness_up_count()); + EXPECT_TRUE(GetController()->Process(brightness_up)); + EXPECT_EQ(1, delegate->handle_brightness_up_count()); + EXPECT_EQ(brightness_up, delegate->last_accelerator()); + } +#endif #if !defined(NDEBUG) // RotateScreen EXPECT_TRUE(GetController()->Process( |