OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 #include "chrome/browser/chromeos/input_method/input_method_engine.h" | 5 #include "chrome/browser/chromeos/input_method/input_method_engine.h" |
6 | 6 |
7 #undef FocusIn | 7 #undef FocusIn |
8 #undef FocusOut | 8 #undef FocusOut |
9 #undef RootWindow | 9 #undef RootWindow |
10 #include <map> | 10 #include <map> |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 if (code == "Escape") | 76 if (code == "Escape") |
77 return "Esc"; | 77 return "Esc"; |
78 if (code == "Backspace" || code == "Tab" || | 78 if (code == "Backspace" || code == "Tab" || |
79 code == "Enter" || code == "CapsLock") | 79 code == "Enter" || code == "CapsLock") |
80 return code; | 80 return code; |
81 uint16 ch = 0; | 81 uint16 ch = 0; |
82 // Ctrl+? cases, gets key value for Ctrl is not down. | 82 // Ctrl+? cases, gets key value for Ctrl is not down. |
83 if (event.flags() & ui::EF_CONTROL_DOWN) { | 83 if (event.flags() & ui::EF_CONTROL_DOWN) { |
84 ui::KeyEvent event_no_ctrl(event.type(), | 84 ui::KeyEvent event_no_ctrl(event.type(), |
85 event.key_code(), | 85 event.key_code(), |
86 event.flags() ^ ui::EF_CONTROL_DOWN, | 86 event.flags() ^ ui::EF_CONTROL_DOWN); |
87 false); | |
88 ch = event_no_ctrl.GetCharacter(); | 87 ch = event_no_ctrl.GetCharacter(); |
89 } else { | 88 } else { |
90 ch = event.GetCharacter(); | 89 ch = event.GetCharacter(); |
91 } | 90 } |
92 return base::UTF16ToUTF8(base::string16(1, ch)); | 91 return base::UTF16ToUTF8(base::string16(1, ch)); |
93 } | 92 } |
94 | 93 |
95 void GetExtensionKeyboardEventFromKeyEvent( | 94 void GetExtensionKeyboardEventFromKeyEvent( |
96 const ui::KeyEvent& event, | 95 const ui::KeyEvent& event, |
97 InputMethodEngine::KeyboardEvent* ext_event) { | 96 InputMethodEngine::KeyboardEvent* ext_event) { |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 | 309 |
311 int flags = ui::EF_NONE; | 310 int flags = ui::EF_NONE; |
312 flags |= event.alt_key ? ui::EF_ALT_DOWN : ui::EF_NONE; | 311 flags |= event.alt_key ? ui::EF_ALT_DOWN : ui::EF_NONE; |
313 flags |= event.ctrl_key ? ui::EF_CONTROL_DOWN : ui::EF_NONE; | 312 flags |= event.ctrl_key ? ui::EF_CONTROL_DOWN : ui::EF_NONE; |
314 flags |= event.shift_key ? ui::EF_SHIFT_DOWN : ui::EF_NONE; | 313 flags |= event.shift_key ? ui::EF_SHIFT_DOWN : ui::EF_NONE; |
315 flags |= event.caps_lock ? ui::EF_CAPS_LOCK_DOWN : ui::EF_NONE; | 314 flags |= event.caps_lock ? ui::EF_CAPS_LOCK_DOWN : ui::EF_NONE; |
316 | 315 |
317 ui::KeyEvent ui_event(type, | 316 ui::KeyEvent ui_event(type, |
318 key_code, | 317 key_code, |
319 event.code, | 318 event.code, |
320 flags, | 319 flags); |
321 false /* is_char */); | |
322 if (!event.key.empty()) | 320 if (!event.key.empty()) |
323 ui_event.set_character(base::UTF8ToUTF16(event.key)[0]); | 321 ui_event.set_character(base::UTF8ToUTF16(event.key)[0]); |
324 base::AutoReset<const ui::KeyEvent*> reset_sent_key(&sent_key_event_, | 322 base::AutoReset<const ui::KeyEvent*> reset_sent_key(&sent_key_event_, |
325 &ui_event); | 323 &ui_event); |
326 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(&ui_event); | 324 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(&ui_event); |
327 if (details.dispatcher_destroyed) | 325 if (details.dispatcher_destroyed) |
328 break; | 326 break; |
329 } | 327 } |
330 return true; | 328 return true; |
331 } | 329 } |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 // TODO(nona): Implement it. | 669 // TODO(nona): Implement it. |
672 break; | 670 break; |
673 } | 671 } |
674 } | 672 } |
675 } | 673 } |
676 | 674 |
677 // TODO(nona): Support item.children. | 675 // TODO(nona): Support item.children. |
678 } | 676 } |
679 | 677 |
680 } // namespace chromeos | 678 } // namespace chromeos |
OLD | NEW |