blob: 8aa09e08b51131b1873e101a7fc2e68be049f947 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/base/ime/chromeos/ime_keyboard_ozone.h"
#include "ui/ozone/public/input_controller.h"
#include "ui/ozone/public/ozone_platform.h"
namespace chromeos {
namespace input_method {
ImeKeyboardOzone::ImeKeyboardOzone(ui::InputController* input_controller)
: input_controller_(input_controller) {
}
ImeKeyboardOzone::~ImeKeyboardOzone() {
}
bool ImeKeyboardOzone::SetCurrentKeyboardLayoutByName(
const std::string& layout_name) {
last_layout_ = layout_name;
input_controller_->SetCurrentLayoutByName(layout_name);
return true;
}
bool ImeKeyboardOzone::ReapplyCurrentKeyboardLayout() {
return SetCurrentKeyboardLayoutByName(last_layout_);
}
void ImeKeyboardOzone::SetCapsLockEnabled(bool enable_caps_lock) {
// Inform ImeKeyboard of caps lock state.
ImeKeyboard::SetCapsLockEnabled(enable_caps_lock);
// Inform Ozone InputController input of caps lock state.
input_controller_->SetCapsLockEnabled(enable_caps_lock);
}
bool ImeKeyboardOzone::CapsLockIsEnabled() {
return input_controller_->IsCapsLockEnabled();
}
void ImeKeyboardOzone::ReapplyCurrentModifierLockStatus() {
}
void ImeKeyboardOzone::DisableNumLock() {
input_controller_->SetNumLockEnabled(false);
}
bool ImeKeyboardOzone::SetAutoRepeatRate(const AutoRepeatRate& rate) {
input_controller_->SetAutoRepeatRate(
base::TimeDelta::FromMilliseconds(rate.initial_delay_in_ms),
base::TimeDelta::FromMilliseconds(rate.repeat_interval_in_ms));
return true;
}
bool ImeKeyboardOzone::SetAutoRepeatEnabled(bool enabled) {
input_controller_->SetAutoRepeatEnabled(enabled);
return true;
}
bool ImeKeyboardOzone::GetAutoRepeatEnabled() {
return input_controller_->IsAutoRepeatEnabled();
}
// static
ImeKeyboard* ImeKeyboard::Create() {
return new ImeKeyboardOzone(
ui::OzonePlatform::GetInstance()->GetInputController());
}
} // namespace input_method
} // namespace chromeos