OLD | NEW |
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_MAC_H_ | 5 #ifndef UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_MAC_H_ |
6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_MAC_H_ | 6 #define UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_MAC_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "ui/base/ui_export.h" | 11 #include "ui/events/events_export.h" |
12 #include "ui/events/keycodes/keyboard_codes_posix.h" | 12 #include "ui/events/keycodes/keyboard_codes_posix.h" |
13 | 13 |
14 namespace ui { | 14 namespace ui { |
15 | 15 |
16 // We use windows virtual keycodes throughout our keyboard event related code, | 16 // We use windows virtual keycodes throughout our keyboard event related code, |
17 // including unit tests. But Mac uses a different set of virtual keycodes. | 17 // including unit tests. But Mac uses a different set of virtual keycodes. |
18 // This function converts a windows virtual keycode into Mac's virtual key code | 18 // This function converts a windows virtual keycode into Mac's virtual key code |
19 // and corresponding unicode character. |flags| is the modifiers mask such | 19 // and corresponding unicode character. |flags| is the modifiers mask such |
20 // as NSControlKeyMask, NSShiftKeyMask, etc. | 20 // as NSControlKeyMask, NSShiftKeyMask, etc. |
21 // When success, the corresponding Mac's virtual key code will be returned. | 21 // When success, the corresponding Mac's virtual key code will be returned. |
22 // The corresponding unicode character will be stored in |character|, and the | 22 // The corresponding unicode character will be stored in |character|, and the |
23 // corresponding unicode character ignoring the modifiers will be stored in | 23 // corresponding unicode character ignoring the modifiers will be stored in |
24 // |characterIgnoringModifiers|. | 24 // |characterIgnoringModifiers|. |
25 // -1 will be returned if the keycode can't be converted. | 25 // -1 will be returned if the keycode can't be converted. |
26 // This function is mainly for simulating keyboard events in unit tests. | 26 // This function is mainly for simulating keyboard events in unit tests. |
27 // See |KeyboardCodeFromNSEvent| for reverse conversion. | 27 // See |KeyboardCodeFromNSEvent| for reverse conversion. |
28 UI_EXPORT int MacKeyCodeForWindowsKeyCode(KeyboardCode keycode, | 28 EVENTS_EXPORT int MacKeyCodeForWindowsKeyCode(KeyboardCode keycode, |
29 NSUInteger flags, | 29 NSUInteger flags, |
30 unichar* character, | 30 unichar* character, |
31 unichar* characterIgnoringModifiers); | 31 unichar* characterIgnoringModifiers); |
32 | 32 |
33 // This implementation cribbed from: | 33 // This implementation cribbed from: |
34 // third_party/WebKit/Source/web/mac/WebInputEventFactory.mm | 34 // third_party/WebKit/Source/web/mac/WebInputEventFactory.mm |
35 // Converts |event| into a |KeyboardCode|. The mapping is not direct as the Mac | 35 // Converts |event| into a |KeyboardCode|. The mapping is not direct as the Mac |
36 // has a different notion of key codes. | 36 // has a different notion of key codes. |
37 UI_EXPORT KeyboardCode KeyboardCodeFromNSEvent(NSEvent* event); | 37 EVENTS_EXPORT KeyboardCode KeyboardCodeFromNSEvent(NSEvent* event); |
38 | 38 |
39 } // namespace ui | 39 } // namespace ui |
40 | 40 |
41 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_MAC_H_ | 41 #endif // UI_EVENTS_KEYCODES_KEYBOARD_CODE_CONVERSION_MAC_H_ |
OLD | NEW |