1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
// 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/events/ozone/layout/keyboard_layout_engine.h"
#include "ui/events/ozone/layout/keyboard_layout_engine_manager.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;
ui::KeyboardLayoutEngine* keyboard_engine = ui::KeyboardLayoutEngineManager::
GetKeyboardLayoutEngine();
keyboard_engine->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
|