Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: ui/base/ime/chromeos/ime_keyboard.h

Issue 2925353002: Implement sync of keyboard layout between Ozone and Wayland clients (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_ 5 #ifndef UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_
6 #define UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_ 6 #define UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 20 matching lines...) Expand all
31 // IMPORTANT: Add new key to the end, because the keys may have been stored 31 // IMPORTANT: Add new key to the end, because the keys may have been stored
32 // in user preferences. 32 // in user preferences.
33 kNumModifierKeys, 33 kNumModifierKeys,
34 }; 34 };
35 35
36 class UI_BASE_IME_EXPORT ImeKeyboard { 36 class UI_BASE_IME_EXPORT ImeKeyboard {
37 public: 37 public:
38 class Observer { 38 class Observer {
39 public: 39 public:
40 // Called when the caps lock state has changed. 40 // Called when the caps lock state has changed.
41 virtual void OnCapsLockChanged(bool enabled) = 0; 41 virtual void OnCapsLockChanged(bool enabled) = 0;
reveman 2017/06/09 14:53:19 blank line after this
jclinton 2017/06/09 16:36:04 Done.
42 virtual void OnLayoutChanged(const std::string& layout_name) = 0;
reveman 2017/06/09 14:53:19 Add a short comment above this. "// Called when th
jclinton 2017/06/09 16:36:03 Done.
42 }; 43 };
43 44
44 ImeKeyboard(); 45 ImeKeyboard();
45 virtual ~ImeKeyboard(); 46 virtual ~ImeKeyboard();
46 // Adds/removes observer. 47 // Adds/removes observer.
47 virtual void AddObserver(Observer* observer); 48 virtual void AddObserver(Observer* observer);
48 virtual void RemoveObserver(Observer* observer); 49 virtual void RemoveObserver(Observer* observer);
49 50
50 // Sets the current keyboard layout to |layout_name|. This function does not 51 // Sets the current keyboard layout to |layout_name|. This function does not
51 // change the current mapping of the modifier keys. Returns true on success. 52 // change the current mapping of the modifier keys. Returns true on success.
52 virtual bool SetCurrentKeyboardLayoutByName( 53 virtual bool SetCurrentKeyboardLayoutByName(const std::string& layout_name);
53 const std::string& layout_name) = 0;
54 54
55 // Sets the current keyboard layout again. We have to call the function every 55 // Sets the current keyboard layout again. We have to call the function every
56 // time when "XI_HierarchyChanged" XInput2 event is sent to Chrome. See 56 // time when "XI_HierarchyChanged" XInput2 event is sent to Chrome. See
57 // xinput_hierarchy_changed_event_listener.h for details. 57 // xinput_hierarchy_changed_event_listener.h for details.
58 virtual bool ReapplyCurrentKeyboardLayout() = 0; 58 virtual bool ReapplyCurrentKeyboardLayout() = 0;
59 59
60 // Updates keyboard LEDs on all keyboards. 60 // Updates keyboard LEDs on all keyboards.
61 // XKB asymmetrically propagates keyboard modifier indicator state changes to 61 // XKB asymmetrically propagates keyboard modifier indicator state changes to
62 // slave keyboards. If the state change is initiated from a client to the 62 // slave keyboards. If the state change is initiated from a client to the
63 // "core/master keyboard", XKB changes global state and pushes an indication 63 // "core/master keyboard", XKB changes global state and pushes an indication
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 std::string last_layout_; 114 std::string last_layout_;
115 115
116 private: 116 private:
117 base::ObserverList<Observer> observers_; 117 base::ObserverList<Observer> observers_;
118 }; 118 };
119 119
120 } // namespace input_method 120 } // namespace input_method
121 } // namespace chromeos 121 } // namespace chromeos
122 122
123 #endif // UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_ 123 #endif // UI_BASE_IME_CHROMEOS_IME_KEYBOARD_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698