// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_EVENTS_KEYCODES_KEYBOARD_CODES_WIN_H_
#define UI_EVENTS_KEYCODES_KEYBOARD_CODES_WIN_H_
#include <windows.h>
#include <ime.h>
namespace ui {
enum KeyboardCode {
VKEY_BACK = VK_BACK,
VKEY_TAB = VK_TAB,
VKEY_CLEAR = VK_CLEAR,
VKEY_RETURN = VK_RETURN,
VKEY_SHIFT = VK_SHIFT,
VKEY_CONTROL = VK_CONTROL,
VKEY_MENU = VK_MENU, // a.k.a. ALT
VKEY_PAUSE = VK_PAUSE,
VKEY_CAPITAL = VK_CAPITAL,
VKEY_KANA = VK_KANA,
VKEY_HANGUL = VK_HANGUL,
VKEY_JUNJA = VK_JUNJA,
VKEY_FINAL = VK_FINAL,
VKEY_HANJA = VK_HANJA,
VKEY_KANJI = VK_KANJI,
VKEY_ESCAPE = VK_ESCAPE,
VKEY_CONVERT = VK_CONVERT,
VKEY_NONCONVERT = VK_NONCONVERT,
VKEY_ACCEPT = VK_ACCEPT,
VKEY_MODECHANGE = VK_MODECHANGE,
VKEY_SPACE = VK_SPACE,
VKEY_PRIOR = VK_PRIOR,
VKEY_NEXT = VK_NEXT,
VKEY_END = VK_END,
VKEY_HOME = VK_HOME,
VKEY_LEFT = VK_LEFT,
VKEY_UP = VK_UP,
VKEY_RIGHT = VK_RIGHT,
VKEY_DOWN = VK_DOWN,
VKEY_SELECT = VK_SELECT,
VKEY_PRINT = VK_PRINT,
VKEY_EXECUTE = VK_EXECUTE,
VKEY_SNAPSHOT = VK_SNAPSHOT,
VKEY_INSERT = VK_INSERT,
VKEY_DELETE = VK_DELETE,
VKEY_HELP = VK_HELP,
VKEY_0 = '0',
VKEY_1 = '1',
VKEY_2 = '2',
VKEY_3 = '3',
VKEY_4 = '4',
VKEY_5 = '5',
VKEY_6 = '6',
VKEY_7 = '7',
VKEY_8 = '8',
VKEY_9 = '9',
VKEY_A = 'A',
VKEY_B = 'B',
VKEY_C = 'C',
VKEY_D = 'D',
VKEY_E = 'E',
VKEY_F = 'F',
VKEY_G = 'G',
VKEY_H = 'H',
VKEY_I = 'I',
VKEY_J = 'J',
VKEY_K = 'K',
VKEY_L = 'L',
VKEY_M = 'M',
VKEY_N = 'N',
VKEY_O = 'O',
VKEY_P = 'P',
VKEY_Q = 'Q',
VKEY_R = 'R',
VKEY_S = 'S',
VKEY_T = 'T',
VKEY_U = 'U',
VKEY_V = 'V',
VKEY_W = 'W',
VKEY_X = 'X',
VKEY_Y = 'Y',
VKEY_Z = 'Z',
VKEY_LWIN = VK_LWIN,
VKEY_COMMAND = VKEY_LWIN, // Provide the Mac name for convenience.
VKEY_RWIN = VK_RWIN,
VKEY_APPS = VK_APPS,
VKEY_SLEEP = VK_SLEEP,
VKEY_NUMPAD0 = VK_NUMPAD0,
VKEY_NUMPAD1 = VK_NUMPAD1,
VKEY_NUMPAD2 = VK_NUMPAD2,
VKEY_NUMPAD3 = VK_NUMPAD3,
VKEY_NUMPAD4 = VK_NUMPAD4,
VKEY_NUMPAD5 = VK_NUMPAD5,
VKEY_NUMPAD6 = VK_NUMPAD6,
VKEY_NUMPAD7 = VK_NUMPAD7,
VKEY_NUMPAD8 = VK_NUMPAD8,
VKEY_NUMPAD9 = VK_NUMPAD9,
VKEY_MULTIPLY = VK_MULTIPLY,
VKEY_ADD = VK_ADD,
VKEY_SEPARATOR = VK_SEPARATOR,
VKEY_SUBTRACT = VK_SUBTRACT,
VKEY_DECIMAL = VK_DECIMAL,
VKEY_DIVIDE = VK_DIVIDE,
VKEY_F1 = VK_F1,
VKEY_F2 = VK_F2,
VKEY_F3 = VK_F3,
VKEY_F4 = VK_F4,
VKEY_F5 = VK_F5,
VKEY_F6 = VK_F6,
VKEY_F7 = VK_F7,
VKEY_F8 = VK_F8,
VKEY_F9 = VK_F9,
VKEY_F10 = VK_F10,
VKEY_F11 = VK_F11,
VKEY_F12 = VK_F12,
VKEY_F13 = VK_F13,
VKEY_F14 = VK_F14,
VKEY_F15 = VK_F15,
VKEY_F16 = VK_F16,
VKEY_F17 = VK_F17,
VKEY_F18 = VK_F18,
VKEY_F19 = VK_F19,
VKEY_F20 = VK_F20,
VKEY_F21 = VK_F21,
VKEY_F22 = VK_F22,
VKEY_F23 = VK_F23,
VKEY_F24 = VK_F24,
VKEY_NUMLOCK = VK_NUMLOCK,
VKEY_SCROLL = VK_SCROLL,
VKEY_LSHIFT = VK_LSHIFT,
VKEY_RSHIFT = VK_RSHIFT,
VKEY_LCONTROL = VK_LCONTROL,
VKEY_RCONTROL = VK_RCONTROL,
VKEY_LMENU = VK_LMENU,
VKEY_RMENU = VK_RMENU,
VKEY_BROWSER_BACK = VK_BROWSER_BACK,
VKEY_BROWSER_FORWARD = VK_BROWSER_FORWARD,
VKEY_BROWSER_REFRESH = VK_BROWSER_REFRESH,
VKEY_BROWSER_STOP = VK_BROWSER_STOP,
VKEY_BROWSER_SEARCH = VK_BROWSER_SEARCH,
VKEY_BROWSER_FAVORITES = VK_BROWSER_FAVORITES,
VKEY_BROWSER_HOME = VK_BROWSER_HOME,
VKEY_VOLUME_MUTE = VK_VOLUME_MUTE,
VKEY_VOLUME_DOWN = VK_VOLUME_DOWN,
VKEY_VOLUME_UP = VK_VOLUME_UP,
VKEY_MEDIA_NEXT_TRACK = VK_MEDIA_NEXT_TRACK,
VKEY_MEDIA_PREV_TRACK = VK_MEDIA_PREV_TRACK,
VKEY_MEDIA_STOP = VK_MEDIA_STOP,
VKEY_MEDIA_PLAY_PAUSE = VK_MEDIA_PLAY_PAUSE,
VKEY_MEDIA_LAUNCH_MAIL = 0xB4,
VKEY_MEDIA_LAUNCH_MEDIA_SELECT = 0xB5,
VKEY_MEDIA_LAUNCH_APP1 = 0xB6,
VKEY_MEDIA_LAUNCH_APP2 = 0xB7,
VKEY_OEM_1 = VK_OEM_1,
VKEY_OEM_PLUS = VK_OEM_PLUS,
VKEY_OEM_COMMA = VK_OEM_COMMA,
VKEY_OEM_MINUS = VK_OEM_MINUS,
VKEY_OEM_PERIOD = VK_OEM_PERIOD,
VKEY_OEM_2 = VK_OEM_2,
VKEY_OEM_3 = VK_OEM_3,
VKEY_OEM_4 = VK_OEM_4,
VKEY_OEM_5 = VK_OEM_5,
VKEY_OEM_6 = VK_OEM_6,
VKEY_OEM_7 = VK_OEM_7,
VKEY_OEM_8 = VK_OEM_8,
VKEY_OEM_102 = VK_OEM_102,
VKEY_PROCESSKEY = VK_PROCESSKEY,
VKEY_PACKET = VK_PACKET,
VKEY_DBE_SBCSCHAR = VK_DBE_SBCSCHAR,
VKEY_DBE_DBCSCHAR = VK_DBE_DBCSCHAR,
VKEY_ATTN = VK_ATTN,
VKEY_CRSEL = VK_CRSEL,
VKEY_EXSEL = VK_EXSEL,
VKEY_EREOF = VK_EREOF,
VKEY_PLAY = VK_PLAY,
VKEY_ZOOM = VK_ZOOM,
VKEY_NONAME = VK_NONAME,
VKEY_PA1 = VK_PA1,
VKEY_OEM_CLEAR = VK_OEM_CLEAR,
VKEY_UNKNOWN = 0,
// Windows does not have a specific key code for AltGr. We use the unused
// VK_OEM_AX to represent AltGr, matching the behaviour of Firefox on Linux.
VKEY_ALTGR = VK_OEM_AX,
};
} // namespace ui
#endif // UI_EVENTS_KEYCODES_KEYBOARD_CODES_WIN_H_