OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ | 5 #ifndef UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ |
6 #define UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ | 6 #define UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ |
7 | 7 |
8 // TODO(kpschoedel): move this file out of Ozone so that it can be used to | 8 // These functions are used by X11 targets and by Ozone/XKBcommon targets. |
9 // determine DomKey for desktop X11, OR switch desktop X11 to use the Ozone | |
10 // keyboard layout interface. | |
11 | |
12 #include <xkbcommon/xkbcommon.h> | |
13 | 9 |
14 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
15 #include "ui/events/keycodes/keyboard_codes.h" | 11 #include "ui/events/keycodes/xkb_keysym.h" |
16 | 12 |
17 namespace ui { | 13 namespace ui { |
18 | 14 |
19 enum class DomKey; | 15 enum class DomKey; |
20 | 16 |
21 // Returns the DomKey associated with a non-character xkb_keysym_t. | 17 // Returns the DomKey associated with a non-character xkb_keysym_t. |
22 // Returns DomKey::NONE for unrecognized keysyms, which includes | 18 // Returns DomKey::NONE for unrecognized keysyms, which includes |
23 // all printable characters. | 19 // all printable characters. |
24 DomKey NonPrintableXkbKeySymToDomKey(xkb_keysym_t keysym); | 20 DomKey NonPrintableXkbKeySymToDomKey(xkb_keysym_t keysym); |
25 | 21 |
26 // Returns the dead key combining character associated with an xkb_keysym_t, | 22 // Returns the dead key combining character associated with an xkb_keysym_t, |
27 // or 0 if the keysym is not recognized. | 23 // or 0 if the keysym is not recognized. |
28 base::char16 DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym); | 24 base::char16 DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym); |
29 | 25 |
| 26 // Return the DomKey determined by the XKB layout result (keysym, character). |
| 27 DomKey XkbKeySymToDomKey(xkb_keysym_t keysym, base::char16 character); |
| 28 |
30 } // namespace ui | 29 } // namespace ui |
31 | 30 |
32 #endif // UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ | 31 #endif // UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_ |
OLD | NEW |