keyboard_brightness_controller.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ash/system/chromeos/keyboard_brightness_controller.h"
6
7#include "ash/shell.h"
8#include "ash/shell_delegate.h"
9#include "chromeos/dbus/dbus_thread_manager.h"
10#include "chromeos/dbus/power_manager_client.h"
11#include "content/public/browser/user_metrics.h"
12#include "ui/base/accelerators/accelerator.h"
13
14namespace ash {
15
16bool KeyboardBrightnessController::HandleKeyboardBrightnessDown(
17    const ui::Accelerator& accelerator) {
18  if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_DOWN) {
19    Shell::GetInstance()->delegate()->RecordUserMetricsAction(
20        UMA_ACCEL_KEYBOARD_BRIGHTNESS_DOWN_F6);
21  }
22
23  chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
24      DecreaseKeyboardBrightness();
25  return true;
26}
27
28bool KeyboardBrightnessController::HandleKeyboardBrightnessUp(
29    const ui::Accelerator& accelerator) {
30  if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_UP) {
31    Shell::GetInstance()->delegate()->RecordUserMetricsAction(
32        UMA_ACCEL_KEYBOARD_BRIGHTNESS_UP_F7);
33  }
34
35  chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
36      IncreaseKeyboardBrightness();
37  return true;
38}
39
40}  // namespace ash
41