OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h" | |
6 | |
7 #include "ui/events/keycodes/dom3/dom_key.h" | |
8 #include "ui/events/ozone/layout/xkb/xkb_keysym.h" | |
9 | |
10 namespace ui { | |
11 | |
12 namespace { | |
13 | |
14 } // anonymous namespace | |
spang
2014/12/08 22:47:28
remove this
kpschoedel
2014/12/08 23:15:26
Oops, USE_X11 was in there.
| |
15 | |
16 DomKey XkbKeySymToDomKey(XkbKeySym keysym) { | |
17 switch (keysym) { | |
18 case XK_BackSpace: | |
19 return DomKey::BACKSPACE; | |
20 case XK_Tab: | |
21 case XK_KP_Tab: | |
22 case XK_ISO_Left_Tab: | |
23 return DomKey::TAB; | |
24 case XK_Clear: | |
25 case XK_KP_Begin: | |
26 case XF86XK_Clear: | |
27 return DomKey::CLEAR; | |
28 case XK_Return: | |
29 case XK_KP_Enter: | |
30 return DomKey::ENTER; | |
31 case XK_Linefeed: | |
32 return DomKey::ENTER; | |
33 case XK_Pause: | |
34 return DomKey::PAUSE; | |
35 case XK_Scroll_Lock: | |
36 return DomKey::SCROLL_LOCK; | |
37 case XK_Escape: | |
38 return DomKey::ESCAPE; | |
39 case XK_Multi_key: | |
40 return DomKey::COMPOSE; | |
41 case XK_Kanji: | |
42 return DomKey::KANJI_MODE; | |
43 case XK_Muhenkan: | |
44 return DomKey::NON_CONVERT; | |
45 case XK_Henkan_Mode: | |
46 return DomKey::CONVERT; | |
47 case XK_Romaji: | |
48 return DomKey::ROMAJI; | |
49 case XK_Hiragana: | |
50 return DomKey::HIRAGANA; | |
51 case XK_Katakana: | |
52 return DomKey::KATAKANA; | |
53 case XK_Hiragana_Katakana: | |
54 return DomKey::HIRAGANA_KATAKANA; | |
55 case XK_Zenkaku: | |
56 return DomKey::ZENKAKU; | |
57 case XK_Hankaku: | |
58 return DomKey::HANKAKU; | |
59 case XK_Zenkaku_Hankaku: | |
60 return DomKey::ZENKAKU_HANKAKU; | |
61 case XK_Kana_Lock: | |
62 return DomKey::KANA_MODE; | |
63 case XK_Eisu_Shift: | |
64 case XK_Eisu_toggle: | |
65 return DomKey::EISU; | |
66 case XK_Hangul: | |
67 return DomKey::HANGUL_MODE; | |
68 case XK_Hangul_Hanja: | |
69 return DomKey::HANJA_MODE; | |
70 case XK_Codeinput: | |
71 return DomKey::CODE_INPUT; | |
72 case XK_SingleCandidate: | |
73 return DomKey::SINGLE_CANDIDATE; | |
74 case XK_MultipleCandidate: | |
75 return DomKey::ALL_CANDIDATES; | |
76 case XK_PreviousCandidate: | |
77 return DomKey::PREVIOUS_CANDIDATE; | |
78 case XK_Home: | |
79 case XK_KP_Home: | |
80 return DomKey::HOME; | |
81 case XK_Left: | |
82 case XK_KP_Left: | |
83 return DomKey::ARROW_LEFT; | |
84 case XK_Up: | |
85 case XK_KP_Up: | |
86 return DomKey::ARROW_UP; | |
87 case XK_Right: | |
88 case XK_KP_Right: | |
89 return DomKey::ARROW_RIGHT; | |
90 case XK_Down: | |
91 case XK_KP_Down: | |
92 return DomKey::ARROW_DOWN; | |
93 case XK_Prior: | |
94 case XK_KP_Prior: | |
95 return DomKey::PAGE_UP; | |
96 case XK_Next: | |
97 case XK_KP_Next: | |
98 case XF86XK_ScrollDown: | |
99 return DomKey::PAGE_DOWN; | |
100 case XK_End: | |
101 case XK_KP_End: | |
102 case XF86XK_ScrollUp: | |
103 return DomKey::END; | |
104 case XK_Select: | |
105 return DomKey::SELECT; | |
106 case XK_Print: | |
107 return DomKey::PRINT; | |
108 case XK_Execute: | |
109 return DomKey::EXECUTE; | |
110 case XK_Insert: | |
111 case XK_KP_Insert: | |
112 return DomKey::INSERT; | |
113 case XK_Undo: | |
114 return DomKey::UNDO; | |
115 case XK_Redo: | |
116 return DomKey::REDO; | |
117 case XK_Menu: | |
118 return DomKey::CONTEXT_MENU; | |
119 case XK_Find: | |
120 return DomKey::FIND; | |
121 case XK_Cancel: | |
122 return DomKey::CANCEL; | |
123 case XK_Help: | |
124 return DomKey::HELP; | |
125 case XK_Break: | |
126 case XK_3270_Attn: | |
127 return DomKey::ATTN; | |
128 case XK_Mode_switch: | |
129 return DomKey::MODE_CHANGE; | |
130 case XK_Num_Lock: | |
131 return DomKey::NUM_LOCK; | |
132 case XK_F1: | |
133 case XK_KP_F1: | |
134 return DomKey::F1; | |
135 case XK_F2: | |
136 case XK_KP_F2: | |
137 return DomKey::F2; | |
138 case XK_F3: | |
139 case XK_KP_F3: | |
140 return DomKey::F3; | |
141 case XK_F4: | |
142 case XK_KP_F4: | |
143 return DomKey::F4; | |
144 case XK_F5: | |
145 return DomKey::F5; | |
146 case XK_F6: | |
147 return DomKey::F6; | |
148 case XK_F7: | |
149 return DomKey::F7; | |
150 case XK_F8: | |
151 return DomKey::F8; | |
152 case XK_F9: | |
153 return DomKey::F9; | |
154 case XK_F10: | |
155 return DomKey::F10; | |
156 case XK_F11: | |
157 return DomKey::F11; | |
158 case XK_F12: | |
159 return DomKey::F12; | |
160 case XK_F13: | |
161 return DomKey::F13; | |
162 case XK_F14: | |
163 return DomKey::F14; | |
164 case XK_F15: | |
165 return DomKey::F15; | |
166 case XK_F16: | |
167 return DomKey::F16; | |
168 case XK_F17: | |
169 return DomKey::F17; | |
170 case XK_F18: | |
171 return DomKey::F18; | |
172 case XK_F19: | |
173 return DomKey::F19; | |
174 case XK_F20: | |
175 return DomKey::F20; | |
176 case XK_F21: | |
177 return DomKey::F21; | |
178 case XK_F22: | |
179 return DomKey::F22; | |
180 case XK_F23: | |
181 return DomKey::F23; | |
182 case XK_F24: | |
183 return DomKey::F24; | |
184 case XK_Shift_L: | |
185 case XK_Shift_R: | |
186 return DomKey::SHIFT; | |
187 case XK_Control_L: | |
188 case XK_Control_R: | |
189 return DomKey::CONTROL; | |
190 case XK_Caps_Lock: | |
191 return DomKey::CAPS_LOCK; | |
192 case XK_Meta_L: | |
193 case XK_Meta_R: | |
194 return DomKey::META; | |
195 case XK_Alt_L: | |
196 case XK_Alt_R: | |
197 return DomKey::ALT; | |
198 case XK_Super_L: | |
199 case XK_Super_R: | |
200 return DomKey::OS; | |
201 case XK_Hyper_L: | |
202 case XK_Hyper_R: | |
203 return DomKey::HYPER; | |
204 case XK_Delete: | |
205 return DomKey::DEL; | |
206 case SunXK_Props: | |
207 return DomKey::PROPS; | |
208 case XF86XK_Next_VMode: | |
209 return DomKey::VIDEO_MODE_NEXT; | |
210 case XF86XK_MonBrightnessUp: | |
211 return DomKey::BRIGHTNESS_UP; | |
212 case XF86XK_MonBrightnessDown: | |
213 return DomKey::BRIGHTNESS_DOWN; | |
214 case XF86XK_Standby: | |
215 case XF86XK_Sleep: | |
216 case XF86XK_Suspend: | |
217 return DomKey::STANDBY; | |
218 case XF86XK_AudioLowerVolume: | |
219 return DomKey::VOLUME_DOWN; | |
220 case XF86XK_AudioMute: | |
221 return DomKey::VOLUME_MUTE; | |
222 case XF86XK_AudioRaiseVolume: | |
223 return DomKey::VOLUME_UP; | |
224 case XF86XK_AudioPlay: | |
225 return DomKey::MEDIA_PLAY; | |
226 case XF86XK_AudioStop: | |
227 return DomKey::MEDIA_STOP; | |
228 case XF86XK_AudioPrev: | |
229 return DomKey::MEDIA_TRACK_PREVIOUS; | |
230 case XF86XK_AudioNext: | |
231 return DomKey::MEDIA_TRACK_NEXT; | |
232 case XF86XK_HomePage: | |
233 return DomKey::BROWSER_HOME; | |
234 case XF86XK_Mail: | |
235 return DomKey::LAUNCH_MAIL; | |
236 case XF86XK_Search: | |
237 return DomKey::BROWSER_SEARCH; | |
238 case XF86XK_AudioRecord: | |
239 return DomKey::MEDIA_RECORD; | |
240 case XF86XK_Calculator: | |
241 return DomKey::LAUNCH_CALCULATOR; | |
242 case XF86XK_Calendar: | |
243 return DomKey::LAUNCH_CALENDAR; | |
244 case XF86XK_Back: | |
245 return DomKey::BROWSER_BACK; | |
246 case XF86XK_Forward: | |
247 return DomKey::BROWSER_FORWARD; | |
248 case XF86XK_Stop: | |
249 return DomKey::BROWSER_STOP; | |
250 case XF86XK_Refresh: | |
251 case XF86XK_Reload: | |
252 return DomKey::BROWSER_REFRESH; | |
253 case XF86XK_PowerOff: | |
254 return DomKey::POWER_OFF; | |
255 case XF86XK_WakeUp: | |
256 return DomKey::WAKE_UP; | |
257 case XF86XK_Eject: | |
258 return DomKey::EJECT; | |
259 case XF86XK_ScreenSaver: | |
260 return DomKey::LAUNCH_SCREEN_SAVER; | |
261 case XF86XK_WWW: | |
262 return DomKey::LAUNCH_WEB_BROWSER; | |
263 case XF86XK_Favorites: | |
264 return DomKey::BROWSER_FAVORITES; | |
265 case XF86XK_AudioPause: | |
266 return DomKey::MEDIA_PAUSE; | |
267 case XF86XK_AudioMedia: | |
268 case XF86XK_Music: | |
269 return DomKey::LAUNCH_MUSIC_PLAYER; | |
270 case XF86XK_MyComputer: | |
271 case XF86XK_Explorer: | |
272 return DomKey::LAUNCH_MY_COMPUTER; | |
273 case XF86XK_AudioRewind: | |
274 return DomKey::MEDIA_REWIND; | |
275 case XF86XK_CD: | |
276 case XF86XK_Video: | |
277 return DomKey::LAUNCH_MEDIA_PLAYER; | |
278 case XF86XK_Close: | |
279 return DomKey::CLOSE; | |
280 case XF86XK_Copy: | |
281 case SunXK_Copy: | |
282 return DomKey::COPY; | |
283 case XF86XK_Cut: | |
284 case SunXK_Cut: | |
285 return DomKey::CUT; | |
286 case XF86XK_Display: | |
287 return DomKey::DISPLAY_SWAP; | |
288 case XF86XK_Excel: | |
289 return DomKey::LAUNCH_SPREADSHEET; | |
290 case XF86XK_LogOff: | |
291 return DomKey::LOG_OFF; | |
292 case XF86XK_New: | |
293 return DomKey::NEW; | |
294 case XF86XK_Open: | |
295 case SunXK_Open: | |
296 return DomKey::OPEN; | |
297 case XF86XK_Paste: | |
298 case SunXK_Paste: | |
299 return DomKey::PASTE; | |
300 case XF86XK_Reply: | |
301 return DomKey::MAIL_REPLY; | |
302 case XF86XK_Save: | |
303 return DomKey::SAVE; | |
304 case XF86XK_Send: | |
305 return DomKey::MAIL_SEND; | |
306 case XF86XK_Spell: | |
307 return DomKey::SPELL_CHECK; | |
308 case XF86XK_SplitScreen: | |
309 return DomKey::SPLIT_SCREEN_TOGGLE; | |
310 case XF86XK_Word: | |
311 case XF86XK_OfficeHome: | |
312 return DomKey::LAUNCH_WORD_PROCESSOR; | |
313 case XF86XK_ZoomIn: | |
314 return DomKey::ZOOM_IN; | |
315 case XF86XK_ZoomOut: | |
316 return DomKey::ZOOM_OUT; | |
317 case XF86XK_WebCam: | |
318 return DomKey::LAUNCH_WEB_CAM; | |
319 case XF86XK_MailForward: | |
320 return DomKey::MAIL_FORWARD; | |
321 case XF86XK_AudioForward: | |
322 return DomKey::MEDIA_FAST_FORWARD; | |
323 case XF86XK_AudioRandomPlay: | |
324 return DomKey::RANDOM_TOGGLE; | |
325 case XF86XK_Subtitle: | |
326 return DomKey::SUBTITLE; | |
327 case XF86XK_Hibernate: | |
328 return DomKey::HIBERNATE; | |
329 case XK_3270_EraseEOF: | |
330 return DomKey::ERASE_EOF; | |
331 case XK_3270_Play: | |
332 return DomKey::PLAY; | |
333 case XK_3270_ExSelect: | |
334 return DomKey::EX_SEL; | |
335 case XK_3270_CursorSelect: | |
336 return DomKey::CR_SEL; | |
337 case XK_3270_PrintScreen: | |
338 return DomKey::PRINT_SCREEN; | |
339 case XK_ISO_Level3_Shift: | |
340 return DomKey::ALT_GRAPH; | |
341 case XK_ISO_Next_Group: | |
342 return DomKey::GROUP_NEXT; | |
343 case XK_ISO_Prev_Group: | |
344 return DomKey::GROUP_PREVIOUS; | |
345 case XK_ISO_First_Group: | |
346 return DomKey::GROUP_FIRST; | |
347 case XK_ISO_Last_Group: | |
348 return DomKey::GROUP_LAST; | |
349 case XK_dead_grave: | |
350 case XK_dead_acute: | |
351 case XK_dead_circumflex: | |
352 case XK_dead_tilde: | |
353 case XK_dead_macron: | |
354 case XK_dead_breve: | |
355 case XK_dead_abovedot: | |
356 case XK_dead_diaeresis: | |
357 case XK_dead_abovering: | |
358 case XK_dead_doubleacute: | |
359 case XK_dead_caron: | |
360 case XK_dead_cedilla: | |
361 case XK_dead_ogonek: | |
362 case XK_dead_iota: | |
363 case XK_dead_belowdot: | |
364 case XK_dead_hook: | |
365 case XK_dead_horn: | |
366 case XK_dead_stroke: | |
367 case XK_dead_abovecomma: | |
368 case XK_dead_abovereversedcomma: | |
369 case XK_dead_doublegrave: | |
370 case XK_dead_belowring: | |
371 case XK_dead_belowmacron: | |
372 case XK_dead_belowcircumflex: | |
373 case XK_dead_belowtilde: | |
374 case XK_dead_belowbreve: | |
375 case XK_dead_belowdiaeresis: | |
376 case XK_dead_invertedbreve: | |
377 case XK_dead_belowcomma: | |
378 case XK_dead_currency: | |
379 return DomKey::DEAD; | |
380 default: | |
381 return DomKey::NONE; | |
382 } | |
383 } | |
384 | |
385 base::char16 XkbKeySymDeadKey(XkbKeySym keysym) { | |
386 switch (keysym) { | |
387 case XK_dead_grave: | |
388 return 0x0768; // combining grave accent | |
389 case XK_dead_acute: | |
390 return 0x0769; // combining acute accent | |
391 case XK_dead_circumflex: | |
392 return 0x0770; // combining circumflex accent | |
393 case XK_dead_tilde: | |
394 return 0x0771; // combining tilde | |
395 case XK_dead_macron: | |
396 return 0x0772; // combining macron | |
397 case XK_dead_breve: | |
398 return 0x0774; // combining breve | |
399 case XK_dead_abovedot: | |
400 return 0x0775; // combining dot above | |
401 case XK_dead_diaeresis: | |
402 return 0x0776; // combining diaeresis | |
403 case XK_dead_abovering: | |
404 return 0x0778; // combining ring above | |
405 case XK_dead_doubleacute: | |
406 return 0x0779; // combining double acute accent | |
407 case XK_dead_caron: | |
408 return 0x0780; // combining caron | |
409 case XK_dead_cedilla: | |
410 return 0x0807; // combining cedilla | |
411 case XK_dead_ogonek: | |
412 return 0x0808; // combining ogonek | |
413 case XK_dead_iota: | |
414 return 0x0837; // combining greek ypogegrammeni | |
415 case XK_dead_belowdot: | |
416 return 0x0803; // combining dot below | |
417 case XK_dead_hook: | |
418 return 0x0777; // combining hook above | |
419 case XK_dead_horn: | |
420 return 0x0795; // combining horn | |
421 case XK_dead_stroke: | |
422 return 0x0824; // combining long solidus overlay | |
423 case XK_dead_abovecomma: | |
424 return 0x0787; // combining comma above | |
425 case XK_dead_abovereversedcomma: | |
426 return 0x0788; // combining reversed comma above | |
427 case XK_dead_doublegrave: | |
428 return 0x0783; // combining double grave accent | |
429 case XK_dead_belowring: | |
430 return 0x0805; // combining ring below | |
431 case XK_dead_belowmacron: | |
432 return 0x0817; // combining macron below | |
433 case XK_dead_belowcircumflex: | |
434 return 0x0813; // combining circumflex accent below | |
435 case XK_dead_belowtilde: | |
436 return 0x0816; // combining tilde below | |
437 case XK_dead_belowbreve: | |
438 return 0x0814; // combining breve below | |
439 case XK_dead_belowdiaeresis: | |
440 return 0x0804; // combining diaeresis below | |
441 case XK_dead_invertedbreve: | |
442 return 0x0785; // combining inverted breve | |
443 case XK_dead_belowcomma: | |
444 return 0x0806; // combining comma below | |
445 case XK_dead_currency: | |
446 return 0x0164; // currency sign | |
447 default: | |
448 return 0; | |
449 } | |
450 } | |
451 | |
452 } // namespace ui | |
OLD | NEW |