Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: ui/events/keycodes/keyboard_code_conversion_x.h

Issue 1284433002: Revise ui::DomKey to unify character and non-character codes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: IsDead Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 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_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_ 5 #ifndef UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_
6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_ 6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "ui/events/events_base_export.h" 10 #include "ui/events/events_base_export.h"
11 #include "ui/events/keycodes/dom/dom_key.h"
11 #include "ui/events/keycodes/keyboard_codes_posix.h" 12 #include "ui/events/keycodes/keyboard_codes_posix.h"
12 13
13 typedef union _XEvent XEvent; 14 typedef union _XEvent XEvent;
14 typedef struct _XDisplay XDisplay; 15 typedef struct _XDisplay XDisplay;
15 16
16 namespace ui { 17 namespace ui {
17 18
18 enum class DomCode; 19 enum class DomCode;
19 enum class DomKey;
20 20
21 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeyEvent(const XEvent* xev); 21 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeyEvent(const XEvent* xev);
22 22
23 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym); 23 EVENTS_BASE_EXPORT KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym);
24 24
25 EVENTS_BASE_EXPORT DomCode CodeFromXEvent(const XEvent* xev); 25 EVENTS_BASE_EXPORT DomCode CodeFromXEvent(const XEvent* xev);
26 26
27 // Returns a character on a standard US PC keyboard from an XEvent. 27 // Returns a character on a standard US PC keyboard from an XEvent.
28 EVENTS_BASE_EXPORT uint16 GetCharacterFromXEvent(const XEvent* xev); 28 EVENTS_BASE_EXPORT uint16 GetCharacterFromXEvent(const XEvent* xev);
29 29
30 // Returns DomKey and character from an XEvent. 30 // Returns DomKey and character from an XEvent.
31 EVENTS_BASE_EXPORT void GetMeaningFromXEvent(const XEvent* xev, 31 EVENTS_BASE_EXPORT DomKey GetDomKeyFromXEvent(const XEvent* xev);
32 DomKey* key,
33 base::char16* character);
34 32
35 // Converts a KeyboardCode into an X KeySym. 33 // Converts a KeyboardCode into an X KeySym.
36 EVENTS_BASE_EXPORT int XKeysymForWindowsKeyCode(KeyboardCode keycode, 34 EVENTS_BASE_EXPORT int XKeysymForWindowsKeyCode(KeyboardCode keycode,
37 bool shift); 35 bool shift);
38 36
39 // Returns a XKeyEvent keycode (scancode) for a KeyboardCode. Keyboard layouts 37 // Returns a XKeyEvent keycode (scancode) for a KeyboardCode. Keyboard layouts
40 // are usually not injective, so inverse mapping should be avoided when 38 // are usually not injective, so inverse mapping should be avoided when
41 // practical. A round-trip keycode -> KeyboardCode -> keycode will not 39 // practical. A round-trip keycode -> KeyboardCode -> keycode will not
42 // necessarily return the original keycode. 40 // necessarily return the original keycode.
43 EVENTS_BASE_EXPORT unsigned int XKeyCodeForWindowsKeyCode(KeyboardCode key_code, 41 EVENTS_BASE_EXPORT unsigned int XKeyCodeForWindowsKeyCode(KeyboardCode key_code,
44 int flags, 42 int flags,
45 XDisplay* display); 43 XDisplay* display);
46 44
47 // Converts an X keycode into ui::KeyboardCode. 45 // Converts an X keycode into ui::KeyboardCode.
48 EVENTS_BASE_EXPORT KeyboardCode 46 EVENTS_BASE_EXPORT KeyboardCode
49 DefaultKeyboardCodeFromHardwareKeycode(unsigned int hardware_code); 47 DefaultKeyboardCodeFromHardwareKeycode(unsigned int hardware_code);
50 48
51 // Initializes a core XKeyEvent from an XI2 key event. 49 // Initializes a core XKeyEvent from an XI2 key event.
52 EVENTS_BASE_EXPORT void InitXKeyEventFromXIDeviceEvent(const XEvent& src, 50 EVENTS_BASE_EXPORT void InitXKeyEventFromXIDeviceEvent(const XEvent& src,
53 XEvent* dst); 51 XEvent* dst);
54 52
55 } // namespace ui 53 } // namespace ui
56 54
57 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_ 55 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_X_H_
OLDNEW
« no previous file with comments | « ui/events/keycodes/keyboard_code_conversion_unittest.cc ('k') | ui/events/keycodes/keyboard_code_conversion_x.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698