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 unsigned int DefaultXKeysymFromHardwareKeycode(unsigned int keycode); 31 32 } // namespace ui 33 34 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_ 35