summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/system/input_device_settings.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/system/input_device_settings.cc')
-rw-r--r--chrome/browser/chromeos/system/input_device_settings.cc46
1 files changed, 24 insertions, 22 deletions
diff --git a/chrome/browser/chromeos/system/input_device_settings.cc b/chrome/browser/chromeos/system/input_device_settings.cc
index c377025..10cc5a6 100644
--- a/chrome/browser/chromeos/system/input_device_settings.cc
+++ b/chrome/browser/chromeos/system/input_device_settings.cc
@@ -33,8 +33,9 @@ namespace {
InputDeviceSettings* g_instance_;
InputDeviceSettings* g_test_instance_;
-const char kTpControl[] = "/opt/google/touchpad/tpcontrol";
-const char kMouseControl[] = "/opt/google/mouse/mousecontrol";
+const char kDeviceTypeTouchpad[] = "touchpad";
+const char kDeviceTypeMouse[] = "mouse";
+const char kInputControl[] = "/opt/google/input/inputcontrol";
const char kRemoraRequisition[] = "remora";
@@ -81,34 +82,35 @@ void ExecuteScript(const std::vector<std::string>& argv) {
runner->PostTask(FROM_HERE, base::Bind(&ExecuteScriptOnFileThread, argv));
}
-void AddSensitivityArguments(int value, std::vector<std::string>* argv) {
+void AddSensitivityArguments(const char* device_type, int value,
+ std::vector<std::string>* argv) {
DCHECK(value >= kMinPointerSensitivity && value <= kMaxPointerSensitivity);
- argv->push_back("sensitivity");
- argv->push_back(base::StringPrintf("%d", value));
+ argv->push_back(base::StringPrintf("--%s_sensitivity=%d",
+ device_type, value));
}
void AddTPControlArguments(const char* control,
bool enabled,
std::vector<std::string>* argv) {
- argv->push_back(control);
- argv->push_back(enabled ? "on" : "off");
+ argv->push_back(base::StringPrintf("--%s=%d", control, enabled ? 1 : 0));
}
-void DeviceExistsBlockingPool(const char* script,
+void DeviceExistsBlockingPool(const char* device_type,
scoped_refptr<RefCountedBool> exists) {
DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
exists->data = false;
- if (!ScriptExists(script))
+ if (!ScriptExists(kInputControl))
return;
std::vector<std::string> argv;
- argv.push_back(script);
- argv.push_back("status");
+ argv.push_back(kInputControl);
+ argv.push_back(base::StringPrintf("--type=%s", device_type));
+ argv.push_back("--list");
std::string output;
// Output is empty if the device is not found.
exists->data = base::GetAppOutput(CommandLine(argv), &output) &&
!output.empty();
- DVLOG(1) << "DeviceExistsBlockingPool:" << script << "=" << exists->data;
+ DVLOG(1) << "DeviceExistsBlockingPool:" << device_type << "=" << exists->data;
}
void RunCallbackUIThread(
@@ -168,7 +170,7 @@ InputDeviceSettingsImpl::InputDeviceSettingsImpl() {}
void InputDeviceSettingsImpl::TouchpadExists(
const DeviceExistsCallback& callback) {
- DeviceExists(kTpControl, callback);
+ DeviceExists(kDeviceTypeTouchpad, callback);
}
void InputDeviceSettingsImpl::UpdateTouchpadSettings(
@@ -206,7 +208,7 @@ void InputDeviceSettingsImpl::SetTapDragging(bool enabled) {
void InputDeviceSettingsImpl::MouseExists(
const DeviceExistsCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- DeviceExists(kMouseControl, callback);
+ DeviceExists(kDeviceTypeMouse, callback);
}
void InputDeviceSettingsImpl::UpdateMouseSettings(const MouseSettings& update) {
@@ -313,17 +315,17 @@ bool TouchpadSettings::GetTapDragging() const {
bool TouchpadSettings::Update(const TouchpadSettings& settings,
std::vector<std::string>* argv) {
if (argv)
- argv->push_back(kTpControl);
+ argv->push_back(kInputControl);
bool updated = false;
if (sensitivity_.Update(settings.sensitivity_)) {
updated = true;
if (argv)
- AddSensitivityArguments(sensitivity_.value(), argv);
+ AddSensitivityArguments(kDeviceTypeTouchpad, sensitivity_.value(), argv);
}
if (tap_to_click_.Update(settings.tap_to_click_)) {
updated = true;
if (argv)
- AddTPControlArguments("taptoclick", tap_to_click_.value(), argv);
+ AddTPControlArguments("tapclick", tap_to_click_.value(), argv);
}
if (three_finger_click_.Update(settings.three_finger_click_)) {
updated = true;
@@ -335,7 +337,7 @@ bool TouchpadSettings::Update(const TouchpadSettings& settings,
if (tap_dragging_.Update(settings.tap_dragging_)) {
updated = true;
if (argv)
- AddTPControlArguments("tap_dragging", tap_dragging_.value(), argv);
+ AddTPControlArguments("tapdrag", tap_dragging_.value(), argv);
}
return updated;
}
@@ -369,18 +371,18 @@ bool MouseSettings::GetPrimaryButtonRight() const {
bool MouseSettings::Update(const MouseSettings& settings,
std::vector<std::string>* argv) {
if (argv)
- argv->push_back(kMouseControl);
+ argv->push_back(kInputControl);
bool updated = false;
if (sensitivity_.Update(settings.sensitivity_)) {
updated = true;
if (argv)
- AddSensitivityArguments(sensitivity_.value(), argv);
+ AddSensitivityArguments(kDeviceTypeMouse, sensitivity_.value(), argv);
}
if (primary_button_right_.Update(settings.primary_button_right_)) {
updated = true;
if (argv) {
- argv->push_back("swap_left_right");
- argv->push_back(settings.GetPrimaryButtonRight() ? "1" : "0");
+ AddTPControlArguments("mouse_swap_lr", primary_button_right_.value(),
+ argv);
}
}
return updated;