summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authoryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 03:15:54 +0000
committeryusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-10 03:15:54 +0000
commit46d54c478142e7aca9b5f78e7fe46f5c28fcad6e (patch)
tree4bfba13fc7876d0bad28c0ed11fccea7cdf56901 /ash
parent5b040e597b56713c3f2d69a198079ace7af978d5 (diff)
downloadchromium_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.cc4
-rw-r--r--ash/accelerators/accelerator_controller_unittest.cc35
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(