Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / ui / events / keycodes / keyboard_code_conversion_x.h
1 // Copyright (c) 2011 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 #ifndef UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_
6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_
7
8 #include "base/basictypes.h"
9 #include "ui/events/events_base_export.h"
10 #include "ui/events/keycodes/keyboard_codes_posix.h"
11
12 typedef union _XEvent XEvent;
13
14 namespace ui {
15
16 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeyEvent(XEvent* xev);
17
18 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym);
19
20 EVENTS_BASE_EXPORT const char* CodeFromXEvent(XEvent* xev);
21
22 // Returns a character on a standard US PC keyboard from an XEvent.
23 EVENTS_BASE_EXPORT uint16 GetCharacterFromXEvent(XEvent* xev);
24
25 // Converts a KeyboardCode into an X KeySym.
26 EVENTS_BASE_EXPORT int XKeysymForWindowsKeyCode(KeyboardCode keycode,
27                                                 bool shift);
28
29 // Converts an X keycode into an X KeySym.
30 EVENTS_BASE_EXPORT unsigned int DefaultXKeysymFromHardwareKeycode(
31     unsigned int keycode);
32
33 }  // namespace ui
34
35 #endif  // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_