// 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