1 // Copyright (c) 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_KEYCODES_KEYBOARD_CODE_CONVERSION_XKB_H_
6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_XKB_H_
8 // These functions are used by X11 targets and by Ozone/XKBcommon targets.
10 #include "base/strings/string16.h"
11 #include "ui/events/events_base_export.h"
12 #include "ui/events/keycodes/dom/dom_key.h"
13 #include "ui/events/keycodes/xkb_keysym.h"
17 // Returns the DomKey associated with a non-character xkb_keysym_t.
18 // Returns DomKey::NONE for unrecognized keysyms, which includes
19 // all printable characters.
20 EVENTS_BASE_EXPORT DomKey
NonPrintableXKeySymToDomKey(xkb_keysym_t keysym
);
22 // TODO(kpschoedel) crbug.com/442757
23 // Returns the dead key combining character associated with an xkb_keysym_t,
24 // or 0 if the keysym is not recognized.
25 // base::char16 DeadXKeySymToCombiningCharacter(xkb_keysym_t keysym);
27 // Return the DomKey determined by the XKB layout result (keysym, character).
28 EVENTS_BASE_EXPORT DomKey
29 XKeySymToDomKey(xkb_keysym_t keysym
, base::char16 character
);
33 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_XKB_H_