1 // Copyright 2013 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. 4 5 #include "chromeos/ime/mock_xkeyboard.h" 6 7 namespace chromeos { 8 namespace input_method { 9 10 MockXKeyboard::MockXKeyboard() 11 : set_current_keyboard_layout_by_name_count_(0), 12 caps_lock_is_enabled_(false), 13 num_lock_is_enabled_(false) { 14 } 15 16 bool MockXKeyboard::SetCurrentKeyboardLayoutByName( 17 const std::string& layout_name) { 18 ++set_current_keyboard_layout_by_name_count_; 19 last_layout_ = layout_name; 20 return true; 21 } 22 23 bool MockXKeyboard::ReapplyCurrentKeyboardLayout() { 24 return true; 25 } 26 27 void MockXKeyboard::ReapplyCurrentModifierLockStatus() { 28 } 29 30 void MockXKeyboard::SetLockedModifiers(ModifierLockStatus new_caps_lock_status, 31 ModifierLockStatus new_num_lock_status) { 32 if (new_caps_lock_status != kDontChange) { 33 caps_lock_is_enabled_ = 34 (new_caps_lock_status == kEnableLock) ? true : false; 35 } 36 if (new_num_lock_status != kDontChange) 37 num_lock_is_enabled_ = (new_num_lock_status == kEnableLock) ? true : false; 38 } 39 40 void MockXKeyboard::SetNumLockEnabled(bool enable_num_lock) { 41 num_lock_is_enabled_ = enable_num_lock; 42 } 43 44 void MockXKeyboard::SetCapsLockEnabled(bool enable_caps_lock) { 45 caps_lock_is_enabled_ = enable_caps_lock; 46 } 47 48 bool MockXKeyboard::NumLockIsEnabled() { 49 return num_lock_is_enabled_; 50 } 51 52 bool MockXKeyboard::CapsLockIsEnabled() { 53 return caps_lock_is_enabled_; 54 } 55 56 unsigned int MockXKeyboard::GetNumLockMask() { 57 return 1; 58 } 59 60 void MockXKeyboard::GetLockedModifiers(bool* out_caps_lock_enabled, 61 bool* out_num_lock_enabled) { 62 *out_caps_lock_enabled = caps_lock_is_enabled_; 63 *out_num_lock_enabled = num_lock_is_enabled_; 64 } 65 66 } // namespace input_method 67 } // namespace chromeos 68