| OLD | NEW |
| 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 #include "ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h" | 5 #include "ui/events/keycodes/keyboard_code_conversion_xkb.h" |
| 6 | 6 |
| 7 #include "ui/events/keycodes/dom3/dom_key.h" | 7 #include "ui/events/keycodes/dom3/dom_key.h" |
| 8 #include "ui/events/keycodes/keyboard_code_conversion.h" |
| 8 | 9 |
| 9 namespace ui { | 10 namespace ui { |
| 10 | 11 |
| 11 DomKey NonPrintableXkbKeySymToDomKey(xkb_keysym_t keysym) { | 12 DomKey NonPrintableXkbKeySymToDomKey(xkb_keysym_t keysym) { |
| 12 switch (keysym) { | 13 switch (keysym) { |
| 13 case XKB_KEY_BackSpace: | 14 case XKB_KEY_BackSpace: |
| 14 return DomKey::BACKSPACE; | 15 return DomKey::BACKSPACE; |
| 15 case XKB_KEY_Tab: | 16 case XKB_KEY_Tab: |
| 16 case XKB_KEY_KP_Tab: | 17 case XKB_KEY_KP_Tab: |
| 17 case XKB_KEY_ISO_Left_Tab: | 18 case XKB_KEY_ISO_Left_Tab: |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 case XKB_KEY_dead_belowdiaeresis: | 377 case XKB_KEY_dead_belowdiaeresis: |
| 377 case XKB_KEY_dead_invertedbreve: | 378 case XKB_KEY_dead_invertedbreve: |
| 378 case XKB_KEY_dead_belowcomma: | 379 case XKB_KEY_dead_belowcomma: |
| 379 case XKB_KEY_dead_currency: | 380 case XKB_KEY_dead_currency: |
| 380 return DomKey::DEAD; | 381 return DomKey::DEAD; |
| 381 default: | 382 default: |
| 382 return DomKey::NONE; | 383 return DomKey::NONE; |
| 383 } | 384 } |
| 384 } | 385 } |
| 385 | 386 |
| 386 base::char16 DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym) { | 387 DomKey XkbKeySymToDomKey(xkb_keysym_t keysym, base::char16 character) { |
| 387 switch (keysym) { | 388 DomKey dom_key = NonPrintableXkbKeySymToDomKey(keysym); |
| 388 case XKB_KEY_dead_grave: | 389 if (dom_key == DomKey::NONE) |
| 389 return 0x0768; // combining grave accent | 390 dom_key = CharacterToDomKey(character); |
| 390 case XKB_KEY_dead_acute: | 391 return dom_key; |
| 391 return 0x0769; // combining acute accent | |
| 392 case XKB_KEY_dead_circumflex: | |
| 393 return 0x0770; // combining circumflex accent | |
| 394 case XKB_KEY_dead_tilde: | |
| 395 return 0x0771; // combining tilde | |
| 396 case XKB_KEY_dead_macron: | |
| 397 return 0x0772; // combining macron | |
| 398 case XKB_KEY_dead_breve: | |
| 399 return 0x0774; // combining breve | |
| 400 case XKB_KEY_dead_abovedot: | |
| 401 return 0x0775; // combining dot above | |
| 402 case XKB_KEY_dead_diaeresis: | |
| 403 return 0x0776; // combining diaeresis | |
| 404 case XKB_KEY_dead_abovering: | |
| 405 return 0x0778; // combining ring above | |
| 406 case XKB_KEY_dead_doubleacute: | |
| 407 return 0x0779; // combining double acute accent | |
| 408 case XKB_KEY_dead_caron: | |
| 409 return 0x0780; // combining caron | |
| 410 case XKB_KEY_dead_cedilla: | |
| 411 return 0x0807; // combining cedilla | |
| 412 case XKB_KEY_dead_ogonek: | |
| 413 return 0x0808; // combining ogonek | |
| 414 case XKB_KEY_dead_iota: | |
| 415 return 0x0837; // combining greek ypogegrammeni | |
| 416 case XKB_KEY_dead_belowdot: | |
| 417 return 0x0803; // combining dot below | |
| 418 case XKB_KEY_dead_hook: | |
| 419 return 0x0777; // combining hook above | |
| 420 case XKB_KEY_dead_horn: | |
| 421 return 0x0795; // combining horn | |
| 422 case XKB_KEY_dead_stroke: | |
| 423 return 0x0824; // combining long solidus overlay | |
| 424 case XKB_KEY_dead_abovecomma: | |
| 425 return 0x0787; // combining comma above | |
| 426 case XKB_KEY_dead_abovereversedcomma: | |
| 427 return 0x0788; // combining reversed comma above | |
| 428 case XKB_KEY_dead_doublegrave: | |
| 429 return 0x0783; // combining double grave accent | |
| 430 case XKB_KEY_dead_belowring: | |
| 431 return 0x0805; // combining ring below | |
| 432 case XKB_KEY_dead_belowmacron: | |
| 433 return 0x0817; // combining macron below | |
| 434 case XKB_KEY_dead_belowcircumflex: | |
| 435 return 0x0813; // combining circumflex accent below | |
| 436 case XKB_KEY_dead_belowtilde: | |
| 437 return 0x0816; // combining tilde below | |
| 438 case XKB_KEY_dead_belowbreve: | |
| 439 return 0x0814; // combining breve below | |
| 440 case XKB_KEY_dead_belowdiaeresis: | |
| 441 return 0x0804; // combining diaeresis below | |
| 442 case XKB_KEY_dead_invertedbreve: | |
| 443 return 0x0785; // combining inverted breve | |
| 444 case XKB_KEY_dead_belowcomma: | |
| 445 return 0x0806; // combining comma below | |
| 446 case XKB_KEY_dead_currency: | |
| 447 return 0x0164; // currency sign | |
| 448 default: | |
| 449 return 0; | |
| 450 } | |
| 451 } | 392 } |
| 452 | 393 |
| 453 } // namespace ui | 394 } // namespace ui |
| OLD | NEW |