// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef XFA_FWL_FWL_WIDGETDEF_H_
#define XFA_FWL_FWL_WIDGETDEF_H_

// Same as enum FWL_VKEYCODE in public/fpdf_fwlevent.h, but duplicated to keep
// xfa/fwl standalone.
enum XFA_FWL_VKEYCODE {
  XFA_FWL_VKEY_Back = 0x08,
  XFA_FWL_VKEY_Tab = 0x09,
  XFA_FWL_VKEY_NewLine = 0x0A,
  XFA_FWL_VKEY_Clear = 0x0C,
  XFA_FWL_VKEY_Return = 0x0D,
  XFA_FWL_VKEY_Shift = 0x10,
  XFA_FWL_VKEY_Control = 0x11,
  XFA_FWL_VKEY_Menu = 0x12,
  XFA_FWL_VKEY_Pause = 0x13,
  XFA_FWL_VKEY_Capital = 0x14,
  XFA_FWL_VKEY_Kana = 0x15,
  XFA_FWL_VKEY_Hangul = 0x15,
  XFA_FWL_VKEY_Junja = 0x17,
  XFA_FWL_VKEY_Final = 0x18,
  XFA_FWL_VKEY_Hanja = 0x19,
  XFA_FWL_VKEY_Kanji = 0x19,
  XFA_FWL_VKEY_Escape = 0x1B,
  XFA_FWL_VKEY_Convert = 0x1C,
  XFA_FWL_VKEY_NonConvert = 0x1D,
  XFA_FWL_VKEY_Accept = 0x1E,
  XFA_FWL_VKEY_ModeChange = 0x1F,
  XFA_FWL_VKEY_Space = 0x20,
  XFA_FWL_VKEY_Prior = 0x21,
  XFA_FWL_VKEY_Next = 0x22,
  XFA_FWL_VKEY_End = 0x23,
  XFA_FWL_VKEY_Home = 0x24,
  XFA_FWL_VKEY_Left = 0x25,
  XFA_FWL_VKEY_Up = 0x26,
  XFA_FWL_VKEY_Right = 0x27,
  XFA_FWL_VKEY_Down = 0x28,
  XFA_FWL_VKEY_Select = 0x29,
  XFA_FWL_VKEY_Print = 0x2A,
  XFA_FWL_VKEY_Execute = 0x2B,
  XFA_FWL_VKEY_Snapshot = 0x2C,
  XFA_FWL_VKEY_Insert = 0x2D,
  XFA_FWL_VKEY_Delete = 0x2E,
  XFA_FWL_VKEY_Help = 0x2F,
  XFA_FWL_VKEY_0 = 0x30,
  XFA_FWL_VKEY_1 = 0x31,
  XFA_FWL_VKEY_2 = 0x32,
  XFA_FWL_VKEY_3 = 0x33,
  XFA_FWL_VKEY_4 = 0x34,
  XFA_FWL_VKEY_5 = 0x35,
  XFA_FWL_VKEY_6 = 0x36,
  XFA_FWL_VKEY_7 = 0x37,
  XFA_FWL_VKEY_8 = 0x38,
  XFA_FWL_VKEY_9 = 0x39,
  XFA_FWL_VKEY_A = 0x41,
  XFA_FWL_VKEY_B = 0x42,
  XFA_FWL_VKEY_C = 0x43,
  XFA_FWL_VKEY_D = 0x44,
  XFA_FWL_VKEY_E = 0x45,
  XFA_FWL_VKEY_F = 0x46,
  XFA_FWL_VKEY_G = 0x47,
  XFA_FWL_VKEY_H = 0x48,
  XFA_FWL_VKEY_I = 0x49,
  XFA_FWL_VKEY_J = 0x4A,
  XFA_FWL_VKEY_K = 0x4B,
  XFA_FWL_VKEY_L = 0x4C,
  XFA_FWL_VKEY_M = 0x4D,
  XFA_FWL_VKEY_N = 0x4E,
  XFA_FWL_VKEY_O = 0x4F,
  XFA_FWL_VKEY_P = 0x50,
  XFA_FWL_VKEY_Q = 0x51,
  XFA_FWL_VKEY_R = 0x52,
  XFA_FWL_VKEY_S = 0x53,
  XFA_FWL_VKEY_T = 0x54,
  XFA_FWL_VKEY_U = 0x55,
  XFA_FWL_VKEY_V = 0x56,
  XFA_FWL_VKEY_W = 0x57,
  XFA_FWL_VKEY_X = 0x58,
  XFA_FWL_VKEY_Y = 0x59,
  XFA_FWL_VKEY_Z = 0x5A,
  XFA_FWL_VKEY_LWin = 0x5B,
  XFA_FWL_VKEY_Command = 0x5B,
  XFA_FWL_VKEY_RWin = 0x5C,
  XFA_FWL_VKEY_Apps = 0x5D,
  XFA_FWL_VKEY_Sleep = 0x5F,
  XFA_FWL_VKEY_NumPad0 = 0x60,
  XFA_FWL_VKEY_NumPad1 = 0x61,
  XFA_FWL_VKEY_NumPad2 = 0x62,
  XFA_FWL_VKEY_NumPad3 = 0x63,
  XFA_FWL_VKEY_NumPad4 = 0x64,
  XFA_FWL_VKEY_NumPad5 = 0x65,
  XFA_FWL_VKEY_NumPad6 = 0x66,
  XFA_FWL_VKEY_NumPad7 = 0x67,
  XFA_FWL_VKEY_NumPad8 = 0x68,
  XFA_FWL_VKEY_NumPad9 = 0x69,
  XFA_FWL_VKEY_Multiply = 0x6A,
  XFA_FWL_VKEY_Add = 0x6B,
  XFA_FWL_VKEY_Separator = 0x6C,
  XFA_FWL_VKEY_Subtract = 0x6D,
  XFA_FWL_VKEY_Decimal = 0x6E,
  XFA_FWL_VKEY_Divide = 0x6F,
  XFA_FWL_VKEY_F1 = 0x70,
  XFA_FWL_VKEY_F2 = 0x71,
  XFA_FWL_VKEY_F3 = 0x72,
  XFA_FWL_VKEY_F4 = 0x73,
  XFA_FWL_VKEY_F5 = 0x74,
  XFA_FWL_VKEY_F6 = 0x75,
  XFA_FWL_VKEY_F7 = 0x76,
  XFA_FWL_VKEY_F8 = 0x77,
  XFA_FWL_VKEY_F9 = 0x78,
  XFA_FWL_VKEY_F10 = 0x79,
  XFA_FWL_VKEY_F11 = 0x7A,
  XFA_FWL_VKEY_F12 = 0x7B,
  XFA_FWL_VKEY_F13 = 0x7C,
  XFA_FWL_VKEY_F14 = 0x7D,
  XFA_FWL_VKEY_F15 = 0x7E,
  XFA_FWL_VKEY_F16 = 0x7F,
  XFA_FWL_VKEY_F17 = 0x80,
  XFA_FWL_VKEY_F18 = 0x81,
  XFA_FWL_VKEY_F19 = 0x82,
  XFA_FWL_VKEY_F20 = 0x83,
  XFA_FWL_VKEY_F21 = 0x84,
  XFA_FWL_VKEY_F22 = 0x85,
  XFA_FWL_VKEY_F23 = 0x86,
  XFA_FWL_VKEY_F24 = 0x87,
  XFA_FWL_VKEY_NunLock = 0x90,
  XFA_FWL_VKEY_Scroll = 0x91,
  XFA_FWL_VKEY_LShift = 0xA0,
  XFA_FWL_VKEY_RShift = 0xA1,
  XFA_FWL_VKEY_LControl = 0xA2,
  XFA_FWL_VKEY_RControl = 0xA3,
  XFA_FWL_VKEY_LMenu = 0xA4,
  XFA_FWL_VKEY_RMenu = 0xA5,
  XFA_FWL_VKEY_BROWSER_Back = 0xA6,
  XFA_FWL_VKEY_BROWSER_Forward = 0xA7,
  XFA_FWL_VKEY_BROWSER_Refresh = 0xA8,
  XFA_FWL_VKEY_BROWSER_Stop = 0xA9,
  XFA_FWL_VKEY_BROWSER_Search = 0xAA,
  XFA_FWL_VKEY_BROWSER_Favorites = 0xAB,
  XFA_FWL_VKEY_BROWSER_Home = 0xAC,
  XFA_FWL_VKEY_VOLUME_Mute = 0xAD,
  XFA_FWL_VKEY_VOLUME_Down = 0xAE,
  XFA_FWL_VKEY_VOLUME_Up = 0xAF,
  XFA_FWL_VKEY_MEDIA_NEXT_Track = 0xB0,
  XFA_FWL_VKEY_MEDIA_PREV_Track = 0xB1,
  XFA_FWL_VKEY_MEDIA_Stop = 0xB2,
  XFA_FWL_VKEY_MEDIA_PLAY_Pause = 0xB3,
  XFA_FWL_VKEY_MEDIA_LAUNCH_Mail = 0xB4,
  XFA_FWL_VKEY_MEDIA_LAUNCH_MEDIA_Select = 0xB5,
  XFA_FWL_VKEY_MEDIA_LAUNCH_APP1 = 0xB6,
  XFA_FWL_VKEY_MEDIA_LAUNCH_APP2 = 0xB7,
  XFA_FWL_VKEY_OEM_1 = 0xBA,
  XFA_FWL_VKEY_OEM_Plus = 0xBB,
  XFA_FWL_VKEY_OEM_Comma = 0xBC,
  XFA_FWL_VKEY_OEM_Minus = 0xBD,
  XFA_FWL_VKEY_OEM_Period = 0xBE,
  XFA_FWL_VKEY_OEM_2 = 0xBF,
  XFA_FWL_VKEY_OEM_3 = 0xC0,
  XFA_FWL_VKEY_OEM_4 = 0xDB,
  XFA_FWL_VKEY_OEM_5 = 0xDC,
  XFA_FWL_VKEY_OEM_6 = 0xDD,
  XFA_FWL_VKEY_OEM_7 = 0xDE,
  XFA_FWL_VKEY_OEM_8 = 0xDF,
  XFA_FWL_VKEY_OEM_102 = 0xE2,
  XFA_FWL_VKEY_ProcessKey = 0xE5,
  XFA_FWL_VKEY_Packet = 0xE7,
  XFA_FWL_VKEY_Attn = 0xF6,
  XFA_FWL_VKEY_Crsel = 0xF7,
  XFA_FWL_VKEY_Exsel = 0xF8,
  XFA_FWL_VKEY_Ereof = 0xF9,
  XFA_FWL_VKEY_Play = 0xFA,
  XFA_FWL_VKEY_Zoom = 0xFB,
  XFA_FWL_VKEY_NoName = 0xFC,
  XFA_FWL_VKEY_PA1 = 0xFD,
  XFA_FWL_VKEY_OEM_Clear = 0xFE,
  XFA_FWL_VKEY_Unknown = 0,
};

#endif  // XFA_FWL_FWL_WIDGETDEF_H_
