910e62b5创建于 1月15日历史提交
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module ui.mojom;

// Cross platform keyboard codes.
//
// Because the web has standardized on Win32 keyboard codes, so does mojo.
[Extensible]
enum KeyboardCode {
  BACK                      = 0x08,
  TAB                       = 0x09,
  CLEAR                     = 0x0C,
  RETURN                    = 0x0D,
  SHIFT                     = 0x10,
  CONTROL                   = 0x11,
  MENU                      = 0x12,  // a.k.a. ALT
  PAUSE                     = 0x13,
  CAPITAL                   = 0x14,
  KANA                      = 0x15,
  HANGUL                    = 0x15,
  JUNJA                     = 0x17,
  FINAL                     = 0x18,
  HANJA                     = 0x19,
  KANJI                     = 0x19,
  ESCAPE                    = 0x1B,
  CONVERT                   = 0x1C,
  NONCONVERT                = 0x1D,
  ACCEPT                    = 0x1E,
  MODECHANGE                = 0x1F,
  SPACE                     = 0x20,
  PRIOR                     = 0x21,
  NEXT                      = 0x22,
  END                       = 0x23,
  HOME                      = 0x24,
  LEFT                      = 0x25,
  UP                        = 0x26,
  RIGHT                     = 0x27,
  DOWN                      = 0x28,
  SELECT                    = 0x29,
  PRINT                     = 0x2A,
  EXECUTE                   = 0x2B,
  SNAPSHOT                  = 0x2C,
  INSERT                    = 0x2D,
  DELETE_KEY                = 0x2E,
  HELP                      = 0x2F,
  NUM_0                     = 0x30,
  NUM_1                     = 0x31,
  NUM_2                     = 0x32,
  NUM_3                     = 0x33,
  NUM_4                     = 0x34,
  NUM_5                     = 0x35,
  NUM_6                     = 0x36,
  NUM_7                     = 0x37,
  NUM_8                     = 0x38,
  NUM_9                     = 0x39,
  A                         = 0x41,
  B                         = 0x42,
  C                         = 0x43,
  D                         = 0x44,
  E                         = 0x45,
  F                         = 0x46,
  G                         = 0x47,
  H                         = 0x48,
  I                         = 0x49,
  J                         = 0x4A,
  K                         = 0x4B,
  L                         = 0x4C,
  M                         = 0x4D,
  N                         = 0x4E,
  O                         = 0x4F,
  P                         = 0x50,
  Q                         = 0x51,
  R                         = 0x52,
  S                         = 0x53,
  T                         = 0x54,
  U                         = 0x55,
  V                         = 0x56,
  W                         = 0x57,
  X                         = 0x58,
  Y                         = 0x59,
  Z                         = 0x5A,
  LWIN                      = 0x5B,
  COMMAND                   = 0x5B,  // Provide the Mac name for convenience.
  RWIN                      = 0x5C,
  APPS                      = 0x5D,
  SLEEP                     = 0x5F,
  NUMPAD0                   = 0x60,
  NUMPAD1                   = 0x61,
  NUMPAD2                   = 0x62,
  NUMPAD3                   = 0x63,
  NUMPAD4                   = 0x64,
  NUMPAD5                   = 0x65,
  NUMPAD6                   = 0x66,
  NUMPAD7                   = 0x67,
  NUMPAD8                   = 0x68,
  NUMPAD9                   = 0x69,
  MULTIPLY                  = 0x6A,
  ADD                       = 0x6B,
  SEPARATOR                 = 0x6C,
  SUBTRACT                  = 0x6D,
  DECIMAL                   = 0x6E,
  DIVIDE                    = 0x6F,
  F1                        = 0x70,
  F2                        = 0x71,
  F3                        = 0x72,
  F4                        = 0x73,
  F5                        = 0x74,
  F6                        = 0x75,
  F7                        = 0x76,
  F8                        = 0x77,
  F9                        = 0x78,
  F10                       = 0x79,
  F11                       = 0x7A,
  F12                       = 0x7B,
  F13                       = 0x7C,
  F14                       = 0x7D,
  F15                       = 0x7E,
  F16                       = 0x7F,
  F17                       = 0x80,
  F18                       = 0x81,
  F19                       = 0x82,
  F20                       = 0x83,
  F21                       = 0x84,
  F22                       = 0x85,
  F23                       = 0x86,
  F24                       = 0x87,
  NUMLOCK                   = 0x90,
  SCROLL                    = 0x91,
  LSHIFT                    = 0xA0,
  RSHIFT                    = 0xA1,
  LCONTROL                  = 0xA2,
  RCONTROL                  = 0xA3,
  LMENU                     = 0xA4,
  RMENU                     = 0xA5,
  BROWSER_BACK              = 0xA6,
  BROWSER_FORWARD           = 0xA7,
  BROWSER_REFRESH           = 0xA8,
  BROWSER_STOP              = 0xA9,
  BROWSER_SEARCH            = 0xAA,
  BROWSER_FAVORITES         = 0xAB,
  BROWSER_HOME              = 0xAC,
  VOLUME_MUTE               = 0xAD,
  VOLUME_DOWN               = 0xAE,
  VOLUME_UP                 = 0xAF,
  MEDIA_NEXT_TRACK          = 0xB0,
  MEDIA_PREV_TRACK          = 0xB1,
  MEDIA_STOP                = 0xB2,
  MEDIA_PLAY_PAUSE          = 0xB3,
  MEDIA_LAUNCH_MAIL         = 0xB4,
  MEDIA_LAUNCH_MEDIA_SELECT = 0xB5,
  MEDIA_LAUNCH_APP1         = 0xB6,
  MEDIA_LAUNCH_APP2         = 0xB7,

  OEM_1                     = 0xBA,
  OEM_PLUS                  = 0xBB,
  OEM_COMMA                 = 0xBC,
  OEM_MINUS                 = 0xBD,
  OEM_PERIOD                = 0xBE,
  OEM_2                     = 0xBF,
  OEM_3                     = 0xC0,
  OEM_4                     = 0xDB,
  OEM_5                     = 0xDC,
  OEM_6                     = 0xDD,
  OEM_7                     = 0xDE,
  OEM_8                     = 0xDF,
  OEM_102                   = 0xE2,
  PROCESSKEY                = 0xE5,
  PACKET                    = 0xE7,
  DBE_SBCSCHAR              = 0xF3,
  DBE_DBCSCHAR              = 0xF4,
  ATTN                      = 0xF6,
  CRSEL                     = 0xF7,
  EXSEL                     = 0xF8,
  EREOF                     = 0xF9,
  PLAY                      = 0xFA,
  ZOOM                      = 0xFB,
  NONAME                    = 0xFC,
  PA1                       = 0xFD,
  OEM_CLEAR                 = 0xFE,
  [Default] UNKNOWN         = 0,

  // POSIX specific VKEYs. Note that as of Windows SDK 7.1, 0x97-9F, 0xD8-DA,
  // and 0xE8 are unassigned.
  WLAN = 0x97,
  POWER = 0x98,
  ASSISTANT = 0x99,
  BRIGHTNESS_DOWN = 0xD8,
  BRIGHTNESS_UP = 0xD9,
  KBD_BRIGHTNESS_DOWN = 0xDA,
  KBD_BRIGHTNESS_UP = 0xE8,

  // 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.
  ALTGR                     = 0xE1,
  // Windows does not have a specific key code for Compose. We use the unused
  // 0xE6 (VK_ICO_CLEAR) code to represent Compose.
  COMPOSE = 0xE6,
};