summaryrefslogtreecommitdiffstats
path: root/ash/accelerators
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-15 20:51:33 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-15 20:51:33 +0000
commit2f6ef12d6a1f44a8fe5370a816dd4c5d420ab421 (patch)
tree6861f1f893b9d99846a001793d6428f2f12aabb9 /ash/accelerators
parent3d7794771a901c341fb6b380e57cb492f95f36d9 (diff)
downloadchromium_src-2f6ef12d6a1f44a8fe5370a816dd4c5d420ab421.zip
chromium_src-2f6ef12d6a1f44a8fe5370a816dd4c5d420ab421.tar.gz
chromium_src-2f6ef12d6a1f44a8fe5370a816dd4c5d420ab421.tar.bz2
chromeos: Listen for lock key from within Chrome.
We were formerly getting notified via D-Bus signal from the power manager whenever the lock key on external Chrome OS keyboards (F13) was pressed or released. This change makes Chrome instead listen for F13 directly, which will allow apps to override the F13 key when desired. BUG=153951 TEST=lock key still works as before Review URL: https://chromiumcodereview.appspot.com/11420009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168022 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/accelerators')
-rw-r--r--ash/accelerators/accelerator_controller.cc19
-rw-r--r--ash/accelerators/accelerator_table.cc11
2 files changed, 9 insertions, 21 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 5bd6758..f6199cc 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -770,26 +770,15 @@ bool AcceleratorController::PerformAction(int action,
}
#endif
// We don't do anything with these at present on the device,
- // (power button evets are reported to us from powerm via
+ // (power button events are reported to us from powerm via
// D-BUS), but we consume them to prevent them from getting
// passed to apps -- see http://crbug.com/146609.
return true;
case LOCK_PRESSED:
case LOCK_RELEASED:
-#if defined(OS_CHROMEOS)
- if (!base::chromeos::IsRunningOnChromeOS()) {
- // There is no powerd in linux desktop, so call the
- // PowerButtonController here.
- Shell::GetInstance()->power_button_controller()->
- OnLockButtonEvent(action == LOCK_PRESSED, base::TimeTicks());
- return true;
- }
-#endif
- // LOCK_PRESSED/RELEASED in debug only action that is meant for
- // testing lock behavior on linux desktop. If we ever reached
- // here (when you run a debug build on the device), pass it onto
- // apps.
- return false;
+ Shell::GetInstance()->power_button_controller()->
+ OnLockButtonEvent(action == LOCK_PRESSED, base::TimeTicks());
+ return true;
#if !defined(NDEBUG)
case PRINT_LAYER_HIERARCHY:
return HandlePrintLayerHierarchy();
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc
index e8f4d4e..57ba217 100644
--- a/ash/accelerators/accelerator_table.cc
+++ b/ash/accelerators/accelerator_table.cc
@@ -65,8 +65,9 @@ const AcceleratorData kAcceleratorData[] = {
{ true, ui::VKEY_F8, ui::EF_NONE, VOLUME_MUTE },
{ true, ui::VKEY_F9, ui::EF_NONE, VOLUME_DOWN },
{ true, ui::VKEY_F10, ui::EF_NONE, VOLUME_UP },
- // F13 (which is also for locking screen) is handled directly in power
- // manager.
+ // The lock key on Chrome OS keyboards produces F13 scancodes.
+ { true, ui::VKEY_F13, ui::EF_NONE, LOCK_PRESSED },
+ { false, ui::VKEY_F13, ui::EF_NONE, LOCK_RELEASED },
{ true, ui::VKEY_POWER, ui::EF_NONE, POWER_PRESSED },
{ false, ui::VKEY_POWER, ui::EF_NONE, POWER_RELEASED },
#if !defined(NDEBUG)
@@ -81,11 +82,11 @@ const AcceleratorData kAcceleratorData[] = {
// Extra shortcut to lock the screen on linux desktop.
{ true, ui::VKEY_F11, ui::EF_SHIFT_DOWN, LOCK_PRESSED },
{ false, ui::VKEY_F11, ui::EF_SHIFT_DOWN, LOCK_RELEASED },
-#endif
+#endif // !defined(NDEBUG)
{ true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_MANAGER_DIALOG },
{ true, ui::VKEY_M, ui::EF_CONTROL_DOWN, OPEN_FILE_MANAGER_TAB },
{ true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH },
-#endif
+#endif // !defined(OS_CHROMEOS)
{ true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE },
{ true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT },
{ true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
@@ -185,8 +186,6 @@ const AcceleratorAction kReservedActions[] = {
CYCLE_BACKWARD_MRU, // Shift+Alt+Tab
CYCLE_FORWARD_MRU, // Alt+Tab
#if defined(OS_CHROMEOS)
- LOCK_PRESSED,
- LOCK_RELEASED,
POWER_PRESSED,
POWER_RELEASED,
#endif