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

Side by Side Diff: chrome/browser/chromeos/input_method/ibus_keymap.cc

Issue 10834108: Replace InputMethodEngineIBus. (Closed) Base URL: http://git.chromium.org/chromium/src.git@input_method_engine_ibus
Patch Set: Address comments Created 8 years, 4 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ibus_keymap.h" 5 #include "chrome/browser/chromeos/input_method/ibus_keymap.h"
6 6
7 #if defined(HAVE_IBUS) 7 #define XK_MISCELLANY
8 #include <ibus.h> 8 #include <X11/keysymdef.h>
9 #endif
10 9
11 namespace chromeos { 10 namespace chromeos {
12 namespace input_method { 11 namespace input_method {
13 12
14 #if defined(HAVE_IBUS)
15 std::string GetIBusKey(int keyval) { 13 std::string GetIBusKey(int keyval) {
16 // TODO: Ensure all keys are supported. 14 // TODO: Ensure all keys are supported.
17 switch (keyval) { 15 switch (keyval) {
18 case IBUS_Escape: 16 case XK_Escape:
19 return "Esc"; 17 return "Esc";
20 case IBUS_F1: 18 case XK_F1:
21 return "HistoryBack"; 19 return "HistoryBack";
22 case IBUS_F2: 20 case XK_F2:
23 return "HistoryForward"; 21 return "HistoryForward";
24 case IBUS_F3: 22 case XK_F3:
25 return "BrowserRefresh"; 23 return "BrowserRefresh";
26 case IBUS_F4: 24 case XK_F4:
27 return "ChromeOSFullscreen"; // TODO: Check this value 25 return "ChromeOSFullscreen"; // TODO: Check this value
28 case IBUS_F5: 26 case XK_F5:
29 return "ChromeOSSwitchWindow"; // TODO: Check this value 27 return "ChromeOSSwitchWindow"; // TODO: Check this value
30 case IBUS_F6: 28 case XK_F6:
31 return "BrightnessDown"; 29 return "BrightnessDown";
32 case IBUS_F7: 30 case XK_F7:
33 return "BrightnessUp"; 31 return "BrightnessUp";
34 case IBUS_F8: 32 case XK_F8:
35 return "AudioVolumeMute"; 33 return "AudioVolumeMute";
36 case IBUS_F9: 34 case XK_F9:
37 return "AudioVolumeDown"; 35 return "AudioVolumeDown";
38 case IBUS_F10: 36 case XK_F10:
39 return "AudioVolumeUp"; 37 return "AudioVolumeUp";
40 case IBUS_BackSpace: 38 case XK_BackSpace:
41 return "Backspace"; 39 return "Backspace";
42 case IBUS_Delete: 40 case XK_Delete:
43 case IBUS_KP_Delete: 41 case XK_KP_Delete:
44 return "Delete"; 42 return "Delete";
45 case IBUS_Tab: 43 case XK_Tab:
46 return "Tab"; 44 return "Tab";
47 case IBUS_KP_Enter: 45 case XK_KP_Enter:
48 case IBUS_Return: 46 case XK_Return:
49 return "Enter"; 47 return "Enter";
50 case IBUS_Meta_L: 48 case XK_Meta_L:
51 return "BrowserSearch"; 49 return "BrowserSearch";
52 case IBUS_Up: 50 case XK_Up:
53 case IBUS_KP_Up: 51 case XK_KP_Up:
54 return "Up"; 52 return "Up";
55 case IBUS_Down: 53 case XK_Down:
56 case IBUS_KP_Down: 54 case XK_KP_Down:
57 return "Down"; 55 return "Down";
58 case IBUS_Left: 56 case XK_Left:
59 case IBUS_KP_Left: 57 case XK_KP_Left:
60 return "Left"; 58 return "Left";
61 case IBUS_Right: 59 case XK_Right:
62 case IBUS_KP_Right: 60 case XK_KP_Right:
63 return "Right"; 61 return "Right";
64 case IBUS_Page_Up: 62 case XK_Page_Up:
65 return "PageUp"; 63 return "PageUp";
66 case IBUS_Page_Down: 64 case XK_Page_Down:
67 return "PageDown"; 65 return "PageDown";
68 case IBUS_Home: 66 case XK_Home:
69 return "Home"; 67 return "Home";
70 case IBUS_End: 68 case XK_End:
71 return "End"; 69 return "End";
72 default: { 70 default: {
73 // TODO: Properly support unicode characters. 71 // TODO: Properly support unicode characters.
74 char value[2]; 72 char value[2];
75 value[0] = keyval; 73 value[0] = keyval;
76 value[1] = '\0'; 74 value[1] = '\0';
77 return value; 75 return value;
78 } 76 }
79 } 77 }
80 } 78 }
81 79
82 std::string GetIBusKeyCode(int keycode) { 80 std::string GetIBusKeyCode(int keycode) {
83 // TODO: Support keyboard layouts properly. 81 // TODO: Support keyboard layouts properly.
84 return GetIBusKey(keycode); 82 return GetIBusKey(keycode);
85 } 83 }
86 #else
87 std::string GetIBusKey(int keyval) {
88 return "";
89 }
90
91 std::string GetIBusKeyCode(int keycode) {
92 return "";
93 }
94
95 #endif // HAVE_IBUS
96 84
97 } // namespace input_method 85 } // namespace input_method
98 } // namespace chromeos 86 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698