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.
5 #ifndef CHROME_BROWSER_CHROMEOS_SYSTEM_INPUT_DEVICE_SETTINGS_H_
6 #define CHROME_BROWSER_CHROMEOS_SYSTEM_INPUT_DEVICE_SETTINGS_H_
8 #include "base/callback.h"
13 // Min/max possible pointer sensitivity values. Defined in CrOS inputcontrol
14 // scripts (see kTpControl/kMouseControl in the source file).
15 const int kMinPointerSensitivity = 1;
16 const int kMaxPointerSensitivity = 5;
18 typedef base::Callback<void(bool)> DeviceExistsCallback;
20 namespace touchpad_settings {
22 // Calls |callback| asynchronously after determining if a touchpad is connected.
23 void TouchpadExists(const DeviceExistsCallback& callback);
25 // Sets the touchpad sensitivity in the range [1, 5].
26 void SetSensitivity(int value);
28 // Turns tap to click on/off.
29 void SetTapToClick(bool enabled);
31 // Switch for three-finger click.
32 void SetThreeFingerClick(bool enabled);
34 // Turns tap-dragging on/off.
35 void SetTapDragging(bool enabled);
37 } // namespace touchpad_settings
39 namespace mouse_settings {
41 // Calls |callback| asynchronously after determining if a mouse is connected.
42 void MouseExists(const DeviceExistsCallback& callback);
44 // Sets the mouse sensitivity in the range [1, 5].
45 void SetSensitivity(int value);
47 // Sets the primary mouse button to the right button if |right| is true.
48 void SetPrimaryButtonRight(bool right);
50 } // namespace mouse_settings
52 namespace keyboard_settings {
54 // Returns true if UI should implement enhanced keyboard support for cases where
55 // other input devices like mouse are absent.
56 bool ForceKeyboardDrivenUINavigation();
58 } // namespace keyboard_settings
61 } // namespace chromeos
63 #endif // CHROME_BROWSER_CHROMEOS_SYSTEM_INPUT_DEVICE_SETTINGS_H_