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.
5 #ifndef UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_
6 #define UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_
8 // TODO(kpschoedel): move this file out of Ozone so that it can be used to
9 // determine DomKey for desktop X11, OR switch desktop X11 to use the Ozone
10 // keyboard layout interface.
12 #include <xkbcommon/xkbcommon.h>
14 #include "base/strings/string16.h"
15 #include "ui/events/keycodes/keyboard_codes.h"
21 // Returns the DomKey associated with a non-character xkb_keysym_t.
22 // Returns DomKey::NONE for unrecognized keysyms, which includes
23 // all printable characters.
24 DomKey
NonPrintableXkbKeySymToDomKey(xkb_keysym_t keysym
);
26 // Returns the dead key combining character associated with an xkb_keysym_t,
27 // or 0 if the keysym is not recognized.
28 base::char16
DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym
);
32 #endif // UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_