1// Copyright (c) 2012 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_CODES_WIN_H_
6#define UI_EVENTS_KEYCODES_KEYBOARD_CODES_WIN_H_
7
8#include <windows.h>
9#include <ime.h>
10
11namespace ui {
12
13enum KeyboardCode {
14  VKEY_BACK = VK_BACK,
15  VKEY_TAB = VK_TAB,
16  VKEY_CLEAR = VK_CLEAR,
17  VKEY_RETURN = VK_RETURN,
18  VKEY_SHIFT = VK_SHIFT,
19  VKEY_CONTROL = VK_CONTROL,
20  VKEY_MENU = VK_MENU,  // a.k.a. ALT
21  VKEY_PAUSE = VK_PAUSE,
22  VKEY_CAPITAL = VK_CAPITAL,
23  VKEY_KANA = VK_KANA,
24  VKEY_HANGUL = VK_HANGUL,
25  VKEY_JUNJA = VK_JUNJA,
26  VKEY_FINAL = VK_FINAL,
27  VKEY_HANJA = VK_HANJA,
28  VKEY_KANJI = VK_KANJI,
29  VKEY_ESCAPE = VK_ESCAPE,
30  VKEY_CONVERT = VK_CONVERT,
31  VKEY_NONCONVERT = VK_NONCONVERT,
32  VKEY_ACCEPT = VK_ACCEPT,
33  VKEY_MODECHANGE = VK_MODECHANGE,
34  VKEY_SPACE = VK_SPACE,
35  VKEY_PRIOR = VK_PRIOR,
36  VKEY_NEXT = VK_NEXT,
37  VKEY_END = VK_END,
38  VKEY_HOME = VK_HOME,
39  VKEY_LEFT = VK_LEFT,
40  VKEY_UP = VK_UP,
41  VKEY_RIGHT = VK_RIGHT,
42  VKEY_DOWN = VK_DOWN,
43  VKEY_SELECT = VK_SELECT,
44  VKEY_PRINT = VK_PRINT,
45  VKEY_EXECUTE = VK_EXECUTE,
46  VKEY_SNAPSHOT = VK_SNAPSHOT,
47  VKEY_INSERT = VK_INSERT,
48  VKEY_DELETE = VK_DELETE,
49  VKEY_HELP = VK_HELP,
50  VKEY_0 = '0',
51  VKEY_1 = '1',
52  VKEY_2 = '2',
53  VKEY_3 = '3',
54  VKEY_4 = '4',
55  VKEY_5 = '5',
56  VKEY_6 = '6',
57  VKEY_7 = '7',
58  VKEY_8 = '8',
59  VKEY_9 = '9',
60  VKEY_A = 'A',
61  VKEY_B = 'B',
62  VKEY_C = 'C',
63  VKEY_D = 'D',
64  VKEY_E = 'E',
65  VKEY_F = 'F',
66  VKEY_G = 'G',
67  VKEY_H = 'H',
68  VKEY_I = 'I',
69  VKEY_J = 'J',
70  VKEY_K = 'K',
71  VKEY_L = 'L',
72  VKEY_M = 'M',
73  VKEY_N = 'N',
74  VKEY_O = 'O',
75  VKEY_P = 'P',
76  VKEY_Q = 'Q',
77  VKEY_R = 'R',
78  VKEY_S = 'S',
79  VKEY_T = 'T',
80  VKEY_U = 'U',
81  VKEY_V = 'V',
82  VKEY_W = 'W',
83  VKEY_X = 'X',
84  VKEY_Y = 'Y',
85  VKEY_Z = 'Z',
86  VKEY_LWIN = VK_LWIN,
87  VKEY_COMMAND = VKEY_LWIN,  // Provide the Mac name for convenience.
88  VKEY_RWIN = VK_RWIN,
89  VKEY_APPS = VK_APPS,
90  VKEY_SLEEP = VK_SLEEP,
91  VKEY_NUMPAD0 = VK_NUMPAD0,
92  VKEY_NUMPAD1 = VK_NUMPAD1,
93  VKEY_NUMPAD2 = VK_NUMPAD2,
94  VKEY_NUMPAD3 = VK_NUMPAD3,
95  VKEY_NUMPAD4 = VK_NUMPAD4,
96  VKEY_NUMPAD5 = VK_NUMPAD5,
97  VKEY_NUMPAD6 = VK_NUMPAD6,
98  VKEY_NUMPAD7 = VK_NUMPAD7,
99  VKEY_NUMPAD8 = VK_NUMPAD8,
100  VKEY_NUMPAD9 = VK_NUMPAD9,
101  VKEY_MULTIPLY = VK_MULTIPLY,
102  VKEY_ADD = VK_ADD,
103  VKEY_SEPARATOR = VK_SEPARATOR,
104  VKEY_SUBTRACT = VK_SUBTRACT,
105  VKEY_DECIMAL = VK_DECIMAL,
106  VKEY_DIVIDE = VK_DIVIDE,
107  VKEY_F1 = VK_F1,
108  VKEY_F2 = VK_F2,
109  VKEY_F3 = VK_F3,
110  VKEY_F4 = VK_F4,
111  VKEY_F5 = VK_F5,
112  VKEY_F6 = VK_F6,
113  VKEY_F7 = VK_F7,
114  VKEY_F8 = VK_F8,
115  VKEY_F9 = VK_F9,
116  VKEY_F10 = VK_F10,
117  VKEY_F11 = VK_F11,
118  VKEY_F12 = VK_F12,
119  VKEY_F13 = VK_F13,
120  VKEY_F14 = VK_F14,
121  VKEY_F15 = VK_F15,
122  VKEY_F16 = VK_F16,
123  VKEY_F17 = VK_F17,
124  VKEY_F18 = VK_F18,
125  VKEY_F19 = VK_F19,
126  VKEY_F20 = VK_F20,
127  VKEY_F21 = VK_F21,
128  VKEY_F22 = VK_F22,
129  VKEY_F23 = VK_F23,
130  VKEY_F24 = VK_F24,
131  VKEY_NUMLOCK = VK_NUMLOCK,
132  VKEY_SCROLL = VK_SCROLL,
133  VKEY_LSHIFT = VK_LSHIFT,
134  VKEY_RSHIFT = VK_RSHIFT,
135  VKEY_LCONTROL = VK_LCONTROL,
136  VKEY_RCONTROL = VK_RCONTROL,
137  VKEY_LMENU = VK_LMENU,
138  VKEY_RMENU = VK_RMENU,
139  VKEY_BROWSER_BACK = VK_BROWSER_BACK,
140  VKEY_BROWSER_FORWARD = VK_BROWSER_FORWARD,
141  VKEY_BROWSER_REFRESH = VK_BROWSER_REFRESH,
142  VKEY_BROWSER_STOP = VK_BROWSER_STOP,
143  VKEY_BROWSER_SEARCH = VK_BROWSER_SEARCH,
144  VKEY_BROWSER_FAVORITES = VK_BROWSER_FAVORITES,
145  VKEY_BROWSER_HOME = VK_BROWSER_HOME,
146  VKEY_VOLUME_MUTE = VK_VOLUME_MUTE,
147  VKEY_VOLUME_DOWN = VK_VOLUME_DOWN,
148  VKEY_VOLUME_UP = VK_VOLUME_UP,
149  VKEY_MEDIA_NEXT_TRACK = VK_MEDIA_NEXT_TRACK,
150  VKEY_MEDIA_PREV_TRACK = VK_MEDIA_PREV_TRACK,
151  VKEY_MEDIA_STOP = VK_MEDIA_STOP,
152  VKEY_MEDIA_PLAY_PAUSE = VK_MEDIA_PLAY_PAUSE,
153  VKEY_MEDIA_LAUNCH_MAIL = 0xB4,
154  VKEY_MEDIA_LAUNCH_MEDIA_SELECT = 0xB5,
155  VKEY_MEDIA_LAUNCH_APP1 = 0xB6,
156  VKEY_MEDIA_LAUNCH_APP2 = 0xB7,
157  VKEY_OEM_1 = VK_OEM_1,
158  VKEY_OEM_PLUS = VK_OEM_PLUS,
159  VKEY_OEM_COMMA = VK_OEM_COMMA,
160  VKEY_OEM_MINUS = VK_OEM_MINUS,
161  VKEY_OEM_PERIOD = VK_OEM_PERIOD,
162  VKEY_OEM_2 = VK_OEM_2,
163  VKEY_OEM_3 = VK_OEM_3,
164  VKEY_OEM_4 = VK_OEM_4,
165  VKEY_OEM_5 = VK_OEM_5,
166  VKEY_OEM_6 = VK_OEM_6,
167  VKEY_OEM_7 = VK_OEM_7,
168  VKEY_OEM_8 = VK_OEM_8,
169  VKEY_OEM_102 = VK_OEM_102,
170  VKEY_PROCESSKEY = VK_PROCESSKEY,
171  VKEY_PACKET = VK_PACKET,
172  VKEY_DBE_SBCSCHAR = VK_DBE_SBCSCHAR,
173  VKEY_DBE_DBCSCHAR = VK_DBE_DBCSCHAR,
174  VKEY_ATTN = VK_ATTN,
175  VKEY_CRSEL = VK_CRSEL,
176  VKEY_EXSEL = VK_EXSEL,
177  VKEY_EREOF = VK_EREOF,
178  VKEY_PLAY = VK_PLAY,
179  VKEY_ZOOM = VK_ZOOM,
180  VKEY_NONAME = VK_NONAME,
181  VKEY_PA1 = VK_PA1,
182  VKEY_OEM_CLEAR = VK_OEM_CLEAR,
183  VKEY_UNKNOWN = 0,
184
185  // Windows does not have a specific key code for AltGr. We use the unused
186  // VK_OEM_AX to represent AltGr, matching the behaviour of Firefox on Linux.
187  VKEY_ALTGR = VK_OEM_AX,
188};
189
190}  // namespace ui
191
192#endif  // UI_EVENTS_KEYCODES_KEYBOARD_CODES_WIN_H_
193