键盘事件的键值

下表列出了 KeyboardEvent.key 属性的标准值,并解释了每个键的通常用途。在可用时,还包含了常见平台的相应虚拟键码。

特殊值

除了标识特定按键或字符外,具有特殊含义的 key 值。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Unidentified"

用户代理无法将事件的虚拟键码映射到特定的键值。

这可能是由于硬件或软件限制,或由于用户代理运行平台的限制造成的。

不定 不定 不定 不定

修饰键

修饰键是特殊的按键,当与其他按键组合使用时,用于生成特殊字符或引发特殊操作。例如 ShiftControl 键,以及诸如 Caps LockNumLock 之类的锁定键。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Alt" [4] Alt (Alternative) 键。 VK_MENU (0x12)
VK_LMENU (0xA4)
VK_RMENU (0xA5)
kVK_Option (0x3A)
kVK_RightOption (0x3D)
GDK_KEY_Alt_L (0xFFE9)
GDK_KEY_Alt_R (0xFFEA)
Qt::Key_Alt (0x01000023)
KEYCODE_ALT_LEFT (57)
KEYCODE_ALT_RIGHT (58)
"AltGraph" [4] AltGrAltGraph (Alternate Graphics) 键。启用 ISO 3 级 shift 修饰符(其中 Shift 是 2 级修饰符)。 GDK_KEY_Mode_switch (0xFF7E)
GDK_KEY_ISO_Level3_Shift (0xFE03)
GDK_KEY_ISO_Level3_Latch (0xFE04)
GDK_KEY_ISO_Level3_Lock (0xFE05)
GDK_KEY_ISO_Level5_Shift (0xFE11)
GDK_KEY_ISO_Level5_Latch (0xFE12)
GDK_KEY_ISO_Level5_Lock (0xFE13)
Qt::Key_AltGr (0x01001103
Qt::Key_Mode_switch (0x0100117E)
"CapsLock" Caps Lock 键。打开和关闭后续输入的大写字符锁定。 VK_CAPITAL (0x14) kVK_CapsLock (0x39) GDK_KEY_Caps_Lock (0xFFE5)
Qt::Key_CapsLock (0x01000024)
KEYCODE_CAPS_LOCK (115)
"Control" ControlCtrlCtl 键。允许输入控制字符。 VK_CONTROL (0x11)
VK_LCONTROL (0xA2)
VK_RCONTROL (0xA3)
kVK_Control (0x3B)
kVK_RightControl (0x3E)
GDK_KEY_Control_L (0xFFE3)
GDK_KEY_Control_R (0xFFE4)
Qt::Key_Control (0x01000021)
KEYCODE_CTRL_LEFT (113)
KEYCODE_CTRL_RIGHT (114)
"Fn" Fn (Function modifier) 键。用于在没有专用功能键区的键盘上生成功能键(例如 F1F15)字符。通常由硬件处理,因此不会为此键生成事件。 kVK_Function (0x3F) KEYCODE_FUNCTION (119)
"FnLock" FnLockF-Lock (Function Lock) 键。打开和关闭 "Fn" 所描述的功能键模式。通常由硬件处理,因此不会为此键生成事件。
"Hyper" [3] Hyper 键。 GDK_KEY_Hyper_L (0xFFED)
GDK_KEY_Hyper_R (0xFFEE)
Qt::Key_Hyper_L (0x01000056)
Qt::Key_Hyper_R (0x01000057)
"Meta" [1] Meta 键。允许发出特殊命令输入。这是 Windows 的 Windows 徽标键,或 Mac 键盘上的 Command 键。 VK_LWIN (0x5B)
VK_RWIN (0x5C)
kVK_Command (0x37)
kVK_RightCommand (0x36)
GDK_KEY_Meta_L (0xFFE7)
GDK_KEY_Meta_R (0xFFE8)
Qt::Key_Meta (0x01000022)
KEYCODE_META_LEFT (117)
KEYCODE_META_RIGHT (118)
"NumLock" NumLock (Number Lock) 键。在数字输入和其他模式(通常是方向箭头)之间切换数字键盘。 VK_NUMLOCK (0x90) GDK_KEY_Num_Lock (0xFF7F)
Qt::Key_NumLock (0x01000025)
KEYCODE_NUM_LOCK (143)
"ScrollLock" [2] Scroll Lock 键。在滚动和光标移动模式之间切换。 VK_SCROLL (0x91) GDK_KEY_Scroll_Lock (0xFF14)
Qt::Key_ScrollLock (0x01000026)
KEYCODE_SCROLL_LOCK (116)
"Shift" Shift 键。修改按键,以允许输入大写(或其他)字母,并支持输入标点符号和其他特殊字符。 VK_SHIFT (0x10)
VK_LSHIFT (0xA0)
VK_RSHIFT (0xA1)
kVK_Shift (0x38)
kVK_RightShift (0x3C)
GDK_KEY_Shift_L (0xFFE1)
GDK_KEY_Shift_R (0xFFE2)
Qt::Key_Shift (0x01000020)
KEYCODE_SHIFT_LEFT (59)
KEYCODE_SHIFT_RIGHT (60)
"Super" [3] Super 键。 GDK_KEY_Super_L (0xFFEB)
GDK_KEY_Super_R (0xFFEC)
Qt::Key_Super_L (0x01000053)
Qt::Key_Super_R (0x01000054)
"Symbol" Symbol 修饰键(在某些虚拟键盘上找到)。 KEYCODE_SYM (63) [2]
"SymbolLock" Symbol Lock 键。

[1] 在 Firefox 中,Windows 键被报告为 "OS" 而不是 "Meta"。根据 Firefox bug 1232918,这将在 Firefox 中更改。在此修复之前,Firefox 将以下键返回为 "OS":Windows 上的 VK_LWIN (0x5B) 和 VK_RWIN (0x5C),以及 Linux 上的 GDK_KEY_Super_L (0xFFEB)、GDK_KEY_Super_R (0xFFEC)、GDK_KEY_Hyper_L (0xFFED) 和 GDK_KEY_Hyper_R (0xFFEE)。

[2] Firefox 直到 Firefox 37 才添加对 Symbol 键的支持。

[3] Firefox 为 SuperHyper 键生成键值 "OS",而不是 "Super""Hyper"

[4] Chrome 67 和 Firefox 63 现在可以正确解释将右侧 Alt 键映射为 AltGr 的键盘布局。有关详细信息,请参阅 Firefox bug 900750Chrome bug 25503

空白键

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Enter" Enter 键(有时标记为 Return)。 VK_RETURN (0x0D) kVK_Return (0x24)
kVK_ANSI_KeypadEnter (0x4C)
kVK_Powerbook_KeypadEnter (0x34)
GDK_KEY_Return (0xFF0D)
GDK_KEY_KP_Enter (0xFF8D)
GDK_KEY_ISO_Enter (0xFE34)
GDK_KEY_3270_Enter (0xFD1E)
Qt::Key_Return (0x01000004)
Qt::Key_Enter (0x01000005)
KEYCODE_ENTER (66)
KEYCODE_NUMPAD_ENTER (160)
KEYCODE_DPAD_CENTER (23)
"Tab" 水平制表键 Tab VK_TAB (0x09) kVK_Tab (0x30) GDK_KEY_Tab (0xFF09)
GDK_KEY_KP_Tab (0xFF89)
GDK_KEY_ISO_Left_Tab (0xFE20)
Qt::Key_Tab (0x01000001)
KEYCODE_TAB (61)
" " [1] 空格键 Space Bar VK_SPACE (0x20) kVK_Space (0x31)

GDK_KEY_space (0x20)
GDK_KEY_KP_Space (0xFF80)
Qt::Key_Space (0x20)

KEYCODE_SPACE (62)

[1] 旧版浏览器可能会为空格键 Space Bar 返回 "Spacebar" 而不是 " "。Firefox 在 37 版之前是这样做的。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"ArrowDown" [1] 下箭头键。 VK_DOWN (0x28) kVK_DownArrow (0x7D) GDK_KEY_Down (0xFF54)
GDK_KEY_KP_Down (0xFF99)
Qt::Key_Down (0x01000015)
KEYCODE_DPAD_DOWN (20)
"ArrowLeft" [1] 左箭头键。 VK_LEFT (0x25) kVK_LeftArrow (0x7B) GDK_KEY_Left (0xFF51)
GDK_KEY_KP_Left (0xFF96)
Qt::Key_Left (0x01000012)
KEYCODE_DPAD_LEFT (21)
"ArrowRight" [1] 右箭头键。 VK_RIGHT (0x27) kVK_RightArrow (0x7C) GDK_KEY_Right (0xFF53)
GDK_KEY_KP_Right (0xFF98)
Qt::Key_Right (0x01000014)
KEYCODE_DPAD_RIGHT (22)
"ArrowUp" [1] 上箭头键。 VK_UP (0x26) kVK_UpArrow (0x7E) GDK_KEY_Up (0xFF52)
GDK_KEY_KP_Up (0xFF97)
Qt::Key_Up (0x01000013)
KEYCODE_DPAD_UP (19)
"End" End 键。移动到内容的末尾。 VK_END (0x23) kVK_End (0x77) GDK_KEY_End (0xFF57)
GDK_KEY_KP_End (0xFF9C)
Qt::Key_End (0x01000011)
KEYCODE_MOVE_END (123)
"Home" Home 键。移动到内容的开头。 VK_HOME (0x24) kVK_Home (0x73) GDK_KEY_Home (0xFF50)
GDK_KEY_KP_Home (0xFF95)
Qt::Key_Home (0x01000010)
KEYCODE_MOVE_HOME (122)
"PageDown" Page Down (或 PgDn) 键。向下滚动或显示内容的下一页。 VK_NEXT (0x22) kVK_PageDown (0x79) GDK_KEY_Page_Down (0xFF56)
GDK_KEY_KP_Page_Down (0xFF9B)
Qt::Key_PageDown (0x01000017)
KEYCODE_PAGE_DOWN (93)
"PageUp" Page Up (或 PgUp) 键。向上滚动或显示内容的上一页。 VK_PRIOR (0x21) kVK_PageUp (0x74) GDK_KEY_Page_Up (0xFF55)
GDK_KEY_KP_Page_Up (0xFF9A)
Qt::Key_PageUp (0x01000016)
KEYCODE_PAGE_UP (92)

[1] Edge (16 及更早版本) 和 Firefox (36 及更早版本) 使用 "Left""Right""Up""Down" 而不是 "ArrowLeft""ArrowRight""ArrowUp""ArrowDown"

编辑键

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Backspace" Backspace 键。此键在 Mac 键盘上标记为 Delete VK_BACK (0x08) kVK_Delete (0x33) GDK_KEY_BackSpace (0xFF08)
Qt::Key_Backspace (0x01000003)
KEYCODE_DEL (67)
"Clear" Clear 键。移除当前选定的输入。 VK_CLEAR (0x0C)
VK_OEM_CLEAR (0xFE)
kVK_ANSI_KeypadClear (0x47) GDK_KEY_Clear (0xFF0B)
Qt::Key_Clear (0x0100000B)
KEYCODE_CLEAR (28)
"Copy" Copy 键(在某些扩展键盘上)。 APPCOMMAND_COPY GDK_KEY_Copy (0x1008FF57)
Qt::Key_Copy (0x010000CF)
"CrSel" [3] 光标选择键,CrSel VK_CRSEL (0xF7) GDK_KEY_3270_CursorSelect (0xFD1C)
"Cut" Cut 键(在某些扩展键盘上)。 APPCOMMAND_CUT GDK_KEY_Cut (0x1008FF58)
Qt::Key_Cut (0x010000D0)
"Delete" [2] Delete 键,Del VK_DELETE (0x2E) kVK_ForwardDelete (0x75) [1] GDK_KEY_Delete (0xFFFF)
GDK_KEY_KP_Delete (0xFF9F)
Qt::Key_Delete (0x01000007)
KEYCODE_FORWARD_DEL (112)
"EraseEof" 擦除到字段末尾。删除从当前光标位置到当前字段末尾的所有字符。 VK_EREOF (0xF9) GDK_KEY_3270_ExSelect (0xFD1B)
"ExSel" [4] ExSel (Extend Selection) 键。 VK_EXSEL (0xF8) GDK_KEY_3270_ExSelect (0xFD1B)
"Insert" Insert 键,Ins。在插入和覆盖文本之间切换。 VK_INSERT (0x2D) GDK_KEY_Insert (0xFF63)
GDK_KEY_KP_Insert (0xFF9E)
Qt::Key_Insert (0x01000006)
KEYCODE_INSERT (124)
"Paste" 从剪贴板粘贴。 APPCOMMAND_PASTE GDK_KEY_Paste (0x1008FF6D)
Qt::Key_Paste (0x010000E2)
"Redo" 重做上一个操作。 APPCOMMAND_REDO GDK_KEY_Redo (0xFF66)
"Undo" 撤销上一个操作。 APPCOMMAND_UNDO GDK_KEY_Undo (0xFF65)

[1] 在没有专用 Del 键的键盘上,当 FnDelete (在其他平台上是 Backspace) 一起按下时,Mac 会生成 "Delete" 值。

[2] Firefox 36 及更早版本使用 "Del" 而不是 "Delete" 来表示 Del 键。

[3] Firefox 36 及更早版本在按下 CrSel 键时生成 "Crsel" 而不是 "CrSel"

[4] Firefox 36 及更早版本在按下 ExSel 键时生成 "Exsel" 而不是 "ExSel"

UI 键

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Accept" AcceptCommitOK 键或按钮。接受当前选定的选项或输入法序列转换。 VK_ACCEPT (0x1E) KEYCODE_DPAD_CENTER (23)
"Again" Again 键。重做或重复上一个操作。 GDK_KEY_Redo (0xFF66)
"Attn" [4] Attn (Attention) 键。 VK_OEM_ATTN (0xF0) GDK_KEY_3270_Attn (0xFD0E)
"Cancel" [1] Cancel 键。 GDK_KEY_Cancel (0xFF69)
"ContextMenu" [3] 显示上下文菜单。通常位于键盘右侧的 Windows(或 OS)键和 Control 键之间。 VK_APPS (0x5D) kVK_PC_ContextMenu (0x6E) GDK_KEY_Menu (0xFF67)
Qt::Key_Menu (0x01000055)
KEYCODE_MENU (82)
"Escape" [2] Esc (Escape) 键。通常用作退出、取消或“转义此操作”的按钮。历史上,转义字符用于表示一个称为“转义序列”的特殊控制字符序列的开始。 VK_ESCAPE (0x1B) kVK_Escape (0x35) GDK_KEY_Escape (0xFF1B)
Qt::Key_Escape (0x01000000)
KEYCODE_ESCAPE (111)
"Execute" Execute 键。 VK_EXECUTE (0x2B) Qt::Key_Execute (0x01020003)
"Find" Find 键。打开一个用于执行查找/搜索操作的界面(通常是对话框)。 APPCOMMAND_FIND GDK_KEY_Find (0xFF68)
"Finish" [5] Finish 键。 VK_OEM_FINISH (0xF1)
"Help" Help 键。打开或切换帮助信息的显示。 VK_HELP (0x2F)
APPCOMMAND_HELP
kVK_Help (0x72) GDK_KEY_Help (0xFF6A)
Qt::Key_Help (0x01000058)
KEYCODE_HELP (259)
"Pause" Pause 键。如果适用,暂停当前应用程序或状态。

注意:不应与 "MediaPause" 键值混淆,后者用于媒体控制器,而不是控制应用程序和进程。

VK_PAUSE (0x13) GDK_KEY_Pause (0xFF13)
GDK_KEY_Break (0xFF6B)
Qt::Key_Pause (0x01000008)
KEYCODE_BREAK (121)
"Play" Play 键。如果适用,恢复先前暂停的应用程序。

注意:不应与 "MediaPlay" 键值混淆,后者用于媒体控制器,而不是控制应用程序和进程。

VK_PLAY (0xFA) GDK_KEY_3270_Play (0xFD16)
Qt::Key_Play (0x01020005)
"Props" Props (Properties) 键。
"Select" Select 键。 VK_SELECT (0x29) GDK_KEY_Select (0xFF60) KEYCODE_BUTTON_SELECT (109)
"ZoomIn" [6] ZoomIn 键。 GDK_KEY_ZoomIn (0x1008FF8B)
Qt::Key_ZoomIn (0x010000F6)
KEYCODE_ZOOM_IN (168)
"ZoomOut" [6] ZoomOut 键。 GDK_KEY_ZoomOut (0x1008FF8C)
Qt::Key_ZoomOut (0x010000F7)
KEYCODE_ZOOM_OUT (169)

[1] 在 Google Chrome 52 中,Cancel 键错误地返回了 "Pause" 键码。此问题在 Chrome 53 中已修复。(详见 Chrome bug 612749。)

[2] 在 Firefox 36 及更早版本中,Esc 键返回 "Esc" 而不是 "Escape"

[3] Firefox 36 及更早版本为上下文菜单键报告 "Apps" 而不是 "ContextMenu"

[4] 在 Firefox 和 Google Chrome 中,Attn 键生成 "Unidentified" 键码,除非使用日语键盘布局,在这种情况下它会生成 "KanaMode"

[5] 在 Firefox 中,Finish 键生成 "Unidentified" 键码,除非使用日语键盘布局,在这种情况下它会生成 "Katakana"

[6] Firefox 直到 Firefox 37 才支持 "ZoomIn""ZoomOut" 键。

设备键

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"BrightnessDown" 亮度降低键。通常用于降低显示器的亮度。 GDK_KEY_MonBrightnessDown (0x1008FF03)
Qt::Key_MonBrightnessDown (0x010000B3)
KEYCODE_BRIGHTNESS_DOWN (220)
"BrightnessUp" 亮度增加键。通常增加显示器的亮度。 GDK_KEY_MonBrightnessUp (0x1008FF02)
Qt::Key_MonBrightnessUp (0x010000B2)
KEYCODE_BRIGHTNESS_UP (221)
"Eject" Eject 键。弹出可移动媒体(或切换光驱托盘的打开和关闭)。 GDK_KEY_Eject (0x1008FF2C)
Qt::Key_Eject (0x010000B9)
KEYCODE_MEDIA_EJECT (129)
"LogOff" [2] LogOff 键。 GDK_KEY_LogOff (0x1008FF61)
Qt::Key_LogOff (0x010000D9)
"Power" Power 按钮或键,用于开关电源。

注意:并非所有系统都会将此键传递给用户代理。

KEYCODE_POWER (26)
"PowerOff" PowerOffPowerDown 键。关闭系统。 GDK_KEY_PowerDown (0x1008FF21)
GDK_KEY_PowerOff (0x1008FF2A)
Qt::Key_PowerDown (0x0100010B)
Qt::Key_PowerOff (0x010000B7)
"PrintScreen" PrintScreenPrtScr 键。有时是 SnapShot。捕捉屏幕并打印或保存到磁盘。 VK_SNAPSHOT (0x2C) GDK_KEY_3270_PrintScreen (0xFD1D)
GDK_KEY_Print (0xFF61)
GDK_KEY_Sys_Req (0xFF15)
Qt::Key_Print (0x01000009)
Qt::Key_SysReq (0x0100000A)
KEYCODE_SYSRQ (120)
"Hibernate" [2] Hibernate 键。将计算机状态保存到磁盘然后关闭;计算机可以通过恢复保存的状态信息返回到之前的状态。 GDK_KEY_Hibernate (0x1008FFA8)
Qt::Key_Hibernate (0x01000108)
"Standby" [1] Standby 键。(也称为 SuspendSleep。)这会关闭显示器并将计算机置于低功耗模式,而不会完全关闭电源。 VK_SLEEP (0x5F) GDK_KEY_Standby (0x1008FF10)
GDK_KEY_Suspend (0x1008FFA7)
GDK_KEY_Sleep (0x1008FF2F)
Qt::Key_Standby (0x01000093)
Qt::Key_Suspend (0x0100010C)
Qt::Key_Sleep (0x01020004)
KEYCODE_SLEEP (223)
"WakeUp" [2] WakeUp 键。用于从休眠或待机模式唤醒计算机。 GDK_KEY_WakeUp (0x1008FF2B)
Qt::Key_WakeUp (0x010000B8)
KEYCODE_WAKEUP (224)

[1] Firefox 36 及更早版本不支持 Standby 键,因此它被报告为 "Unidentified"

[2] 在 Firefox 37 之前,此键生成 "Unidentified" 值。

IME 与编辑键

在使用输入法编辑器 (IME) 输入无法通过简单按键输入的文本时使用的键,例如那些字形比键盘上的字符输入键多的语言的文本。常见的例子包括中文、日文、韩文和印地文。

一些键在多种语言中是通用的,而另一些只存在于针对特定语言的键盘上。此外,并非所有键盘都拥有所有这些键。

通用 IME 键

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"AllCandidates" All Candidates(所有候选)键,启动多候选模式,在该模式下为正在进行的输入显示多个候选词。 GDK_KEY_MultipleCandidate (0xFF3D
Qt::Key_MultipleCandidate (0x0100113D)
"Alphanumeric" Alphanumeric(字母数字)键。 VK_OEM_ATTN (0xF0) GDK_KEY_Eisu_Shift (0xFF2F)
GDK_KEY_Eisu_toggle (0xFF30)
Qt::Key_Eisu_Shift (0x0100112f)
Qt::Key_Eisu_toggle (0x01001130)
"CodeInput" Code Input(代码输入)键,启用代码输入模式,让用户通过键入其码点(通常是其 Unicode 字符编号)来输入字符。 GDK_KEY_Codeinput (0xFF37)
Qt::Key_Codeinput (0x01001137)
"Compose" Compose 键。 GDK_KEY_Multi_key (0xFF20) [1]
Qt::Key_Multi_key (0x01001120)
"Convert" [4] Convert(转换)键,指示 IME 将当前的输入法序列转换为结果字符。 VK_CONVERT (0x1C) GDK_KEY_Henkan (0xFF23)
Qt::Key_Henkan (0x01001123)
KEYCODE_HENKAN (214)
"Dead"

一个“死”组合键;也就是说,一个与其他键一起使用以生成带重音符号和其他修饰字符的键。如果单独按下,它不会生成字符。

如果您希望识别按下了哪个特定的死键(在存在多个死键的情况下),您可以通过检查 KeyboardEvent 的相关 compositionupdate 事件的 data 属性来做到这一点。

见下文Linux 的死键键码
"FinalMode" Final (Final Mode) 键在一些亚洲键盘上用于在使用 IME 时进入最终模式。 VK_FINAL (0x18)
"GroupFirst" ISO/IEC 9995 键盘上切换到第一个字符组。每个键可能有多个字符组,每个组在自己的列中。按下此键指示设备在后续击键中将按键解释为来自第一列。 GDK_KEY_ISO_First_Group (0xFE0C)
"GroupLast" ISO/IEC 9995 键盘上切换到最后一个字符组。 GDK_KEY_ISO_Last_Group (0xFE0E)
"GroupNext" [4] ISO/IEC 9995 键盘上切换到下一个字符组。 GDK_KEY_ISO_Next_Group (0xFE08) KEYCODE_LANGUAGE_SWITCH (204)
"GroupPrevious" ISO/IEC 9995 键盘上切换到上一个字符组。 GDK_KEY_ISO_Prev_Group (0xFE0A)
"ModeChange" [5] 模式更改键。在 IME 的输入模式之间切换或循环。 VK_MODECHANGE (0x1F) GDK_KEY_Mode_switch (0xFF7E)
GDK_KEY_script_switch (0xFF7E)
Qt::Key_Mode_switch (0x0100117E)
KEYCODE_SWITCH_CHARSET (95)
"NextCandidate" 下一个候选功能键。为正在进行的输入选择下一个可能的匹配项。
"NonConvert" [2] NonConvert(“不转换”)键。在使用 IME 时,此键接受当前的输入法序列而不进行转换。 VK_NONCONVERT (0x1D) GDK_KEY_Muhenkan (0xFF22)
Qt::Key_Muhenkan (0x01001122)
KEYCODE_MUHENKAN (213)
"PreviousCandidate" 上一个候选键。为正在进行的输入选择上一个可能的匹配项。 GDK_KEY_PreviousCandidate (0xFF3E)
Qt::Key_PreviousCandidate (0x0100113E)
"Process" [3] Process(处理)键。指示 IME 处理转换。 VK_PROCESSKEY (0xE5)
"SingleCandidate" [4] 单个候选键。启用单个候选模式(相对于多候选模式);在此模式下,一次只显示一个候选词。 GDK_KEY_SingleCandidate (0xFF3C)
Qt::Key_SingleCandidate (0x0100113C)

[1] 在 X Window System 上,Compose 键被称为 Multi 键。

[2] Firefox 版本 36 及更早版本将 NonConvert 键报告为 "Nonconvert" 而不是正确的 "NonConvert"

[3] Process 键当前在 Firefox 中返回 "Unidentified"。Google Chrome 返回该键的值,就像没有使用 IME 一样。

[4] 在 Firefox 37 之前,这些键是 "Unidentified"

[5] Firefox 生成键值 "AltGraph" 而不是 "ModeChange"

仅限韩语键盘

这些键仅在韩语键盘上可用。有其他由各种平台为韩语键盘定义的键,但这些是最常见的,也是 UI 事件规范所识别的。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"HangulMode" Hangul(韩文字符集)模式键,在韩文和英文输入模式之间切换。 VK_HANGUL (0x15) [1] GDK_KEY_Hangul (0xFF31)
Qt::Key_Hangul (0x01001131)
"HanjaMode" 选择 Hanja 模式,用于将 Hangul 字符转换为更具体的 Hanja 字符。 VK_HANJA (0x19) [1] GDK_KEY_Hangul_Hanja (0xFF34)
Qt::Key_Hangul_Hanja (0x01001134)
"JunjaMode" 选择 Junja 模式,在该模式下,韩语使用单字节拉丁字符表示。 VK_JUNJA (0x17) GDK_KEY_Hangul_Jeonja (0xFF38)
Qt::Key_Hangul_Jeonja (0x01001138)

[1] 在 Windows 上,VK_HANGULVK_KANA 共享相同的数字键值,VK_HANJAVK_KANJI 也是如此。

仅限日语键盘

这些键仅在日语键盘上可用。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Eisu" [1] Eisu 键。此键的用途由 IME 定义,但可用于关闭 IME。 kVK_JIS_Eisu (0x66) GDK_KEY_Eisu_toggle (0xFF2F)
Qt::Key_Eisu_toggle (0x01001130)
KEYCODE_EISU (212)
"Hankaku" [3] Hankaku(半角字符)键。 VK_OEM_AUTO (0xF3) GDK_KEY_Hankaku (0xFF29)
Qt::Key_Hankaku (0x01001129)
"Hiragana" Hiragana(平假名)键;选择假名字符模式。 VK_OEM_COPY (0xF2) GDK_KEY_Hiragana (0xFF25)
Qt::Key_Hiragana (0x01001125)
"HiraganaKatakana" [6] 在平假名和片假名书写系统之间切换。 GDK_KEY_Hiragana_Katakana (0xFF27)
Qt::Key_Hiragana_Katakana (0x01001127)
KEYCODE_KATAKANA_HIRAGANA (215)
"KanaMode" Kana Mode(假名锁定)键。 VK_KANA (0x15) [2]
VK_ATTN (0xF6)
GDK_KEY_Kana_Lock (0xFF2D)
GDK_KEY_Kana_Shift (0xFF2E)
Qt::Key_Kana_Lock (0x0100112D)
Qt::Key_Kana_Shift (0x0100112E)
"KanjiMode" Kanji Mode(汉字模式)键。启用使用源自中国的表意文字输入日语文本。 VK_KANJI [2] kVK_JIS_Kana (0x68) GDK_KEY_Kanji (0xFF21)
Qt::Key_Kanji (0x01001121)
KEYCODE_KANA (218)
"Katakana" Katakana(片假名)键。 VK_OEM_FINISH (0xF1) GDK_KEY_Katakana (0xFF26)
Qt::Key_Katakana (0x01001126)
"Romaji" [5] Romaji(罗马字)键;选择罗马字符集。 VK_OEM_BACKTAB (0xF5) GDK_KEY_Romaji (0xFF24)
Qt::Key_Romaji (0x01001124)
"Zenkaku" [4] Zenkaku(全角)字符键。 VK_OEM_ENLW (0xF4) GDK_KEY_Zenkaku (0xFF28)
Qt::Key_Zenkaku (0x01001128)
"ZenkakuHankaku" [6] Zenkaku/Hankaku(全角/半角)切换键。 GDK_KEY_Zenkaku_Hankaku (0xFF2A)
Qt::Zenkaku_Hankaku (0x0100112A)

KEYCODE_ZENKAKU_HANKAKU (211)

[1] 在 Firefox 37 之前,Eisu 键错误地映射为 "RomanCharacters"

[2] 在 Windows 上,VK_HANGULVK_KANA 共享相同的数字键值,VK_HANJAVK_KANJI 也是如此。

[3] 在 Firefox 37 之前,Hankaku(半角)键在 Firefox 上生成键值 "HalfWidth"

[4] Firefox 36 及更早版本在日语键盘布局上将此键识别为 "FullWidth",在所有其他键盘布局上识别为 "Unidentified"。Firefox 37 及更高版本以及所有版本的 Google Chrome 都能正确返回 "Zenkaku"

[5] Firefox 36 及更早版本在日语键盘上将 Romaji 键识别为 "RomanCharacters",在其他键盘上识别为 "Unidentified";在 Firefox 37 及更高版本中,这已更正为返回 "Romaji"

[6] 在 Firefox 37 之前,此键被报告为 "Unidentified"

Linux 的死键键码

Linux 使用特殊的死键生成带重音的字符。死键是与字符键组合按下以生成这些字符的带重音形式的键。您可以通过检查 KeyboardEvent 的相关 compositionupdate 事件的 data 属性来识别使用了哪个特定的死键(如果存在多个)。

您可以在使用 GTK 的 Linux 上找到一个死键表,以及它们可以与哪些字符一起使用来生成带重音或其他特殊字符。

data 的值将是以下之一

CompositionEvent.data 符号 注释
GDK_KEY_dead_grave (0xFE50)
Qt::Key_Dead_Grave (0x01001250)
`
GDK_KEY_dead_acute (0xFE51)
Qt::Key_Dead_Acute (0x01001251)
´
GDK_KEY_dead_circumflex (0xFE52)
Qt::Key_Dead_Circumflex (0x01001252)
ˆ
GDK_KEY_dead_tilde (0xFE53)
Qt::Key_Dead_Tilde (0x01001253)
˜
GDK_KEY_dead_perispomeni (0xFE53) ͂
GDK_KEY_dead_macron (0xFE54)
Qt::Key_Dead_Macron (0x01001254)
¯
GDK_KEY_dead_breve (0xFE55)
Qt::Key_Dead_Breve (0x01001255)
˘
GDK_KEY_dead_abovedot (0xFE56)
Qt::Key_Dead_Abovedot (0x01001256)
˙
GDK_KEY_dead_diaeresis (0xFE57)
Qt::Key_Dead_Diaeresis (0x01001257)
¨ 也称为变音符号。
GDK_KEY_dead_abovering (0xFE58)
Qt::Key_Dead_Abovering (0x01001258)
˚
GDK_KEY_dead_doubleacute (0xFE59)
Qt::Key_Dead_Doubleacute (0x01001259)
˝
GDK_KEY_dead_caron (0xFE5A)
Qt::Key_Dead_Caron (0x0100125A)
ˇ 也称为 háček;用于捷克语等语言。
GDK_KEY_dead_cedilla (0xFE5B)
Qt::Key_Dead_Cedilla (0x0100125B)
¸
GDK_KEY_dead_ogonek (0xFE5C)
Qt::Key_Dead_Ogonek (0x0100125C)
˛ 也称为 nosinė;用于波兰语和古爱尔兰语。
GDK_KEY_dead_iota (0xFE5D)
Qt::Key_Dead_Iota (0x0100125D)
ͅ Iota 下标。
GDK_KEY_dead_voiced_sound (0xFE5E)
Qt::Key_Dead_Voiced_Sound (0x0100125E)
GDK_KEY_dead_semivoiced_sound (0xFE5F)
Qt::Key_Dead_Semivoiced_Sound (0x0100125F)
GDK_KEY_dead_belowdot (0xFE60)
Qt::Key_Dead_Belowdot (0x01001260)
̣̣
GDK_KEY_dead_hook (0xFE61)
Qt::Key_Dead_Hook (0x01001261)
̡
GDK_KEY_dead_horn (0xFE62)
Qt::Key_Dead_Horn (0x01001262)
̛
GDK_KEY_dead_stroke (0xFE63) ̶̶
GDK_KEY_dead_abovecomma (0xFE64) ̓̓
GDK_KEY_dead_psili (0xFE64) ᾿
GDK_KEY_dead_abovereversedcomma (0xFE65) ʽ
GDK_KEY_dead_dasia (0xFE65)
GDK_KEY_dead_doublegrave (0xFE66) ̏
GDK_KEY_dead_belowring (0xFE67) ˳
GDK_KEY_dead_belowmacron (0xFE68) ̱
GDK_KEY_dead_belowcircumflex (0xFE69)
GDK_KEY_dead_belowtilde (0xFE6A) ̰
GDK_KEY_dead_belowbreve (0xFE6B) ̮
GDK_KEY_dead_belowdiaeresis (0xFE6C) ̤
GDK_KEY_dead_invertedbreve (0xFE6D) ̯
GDK_KEY_dead_belowcomma (0xFE6E) ̦
GDK_KEY_dead_currency (0xFE6F)
GDK_KEY_dead_a (0xFE80)
GDK_KEY_dead_A (0xFE81)
GDK_KEY_dead_e (0xFE82)
GDK_KEY_dead_E (0xFE83)
GDK_KEY_dead_i (0xFE84)
GDK_KEY_dead_I (0xFE85)
GDK_KEY_dead_o (0xFE86)
GDK_KEY_dead_O (0xFE87)
GDK_KEY_dead_u (0xFE88)
GDK_KEY_dead_U (0xFE89)
GDK_KEY_dead_small_schwa (0xFE8A) ə
GDK_KEY_dead_capital_schwa (0xFE8B) Ə
GDK_KEY_dead_greek (0xFE8C)

功能键

尽管不同平台支持不同数量的通用功能键,例如 F1F12(或 F1F10F1F15 等),但前几个是特别定义的,如下所示。

如果还有更多功能键可用,它们的名称将延续此处的模式,继续增加每个键名称中的数字部分,例如,"F24" 是一个有效的键值。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"F1" 第一个通用功能键,F1 VK_F1 (0x70) kVK_F1 (0x7A) GDK_KEY_F1 (0xFFBE)
GDK_KEY_KP_F1 (0xFF91)
Qt::Key_F1 (0x01000030)
KEYCODE_F1 (131)
"F2" F2 键。 VK_F2 (0x71) kVK_F2 (0x78) GDK_KEY_F2 (0xFFBF)
GDK_KEY_KP_F2 (0xFF92)
Qt::Key_F2 (0x01000031)
KEYCODE_F2 (132)
"F3" F3 键。 VK_F3 (0x72) kVK_F3 (0x63) GDK_KEY_F3 (0xFFC0)
GDK_KEY_KP_F3 (0xFF93)
Qt::Key_F3 (0x01000032)
KEYCODE_F3 (133)
"F4" F4 键。 VK_F4 (0x73) kVK_F4 (0x76) GDK_KEY_F4 (0xFFC1)
GDK_KEY_KP_F4 (0xFF94)
Qt::Key_F4 (0x01000033)
KEYCODE_F4 (134)
"F5" F5 键。 VK_F5 (0x74) kVK_F5 (0x60) GDK_KEY_F5 (0xFFC2)
Qt::Key_F5 (0x01000034)
KEYCODE_F5 (135)
"F6" F6 键。 VK_F6 (0x75) kVK_F6 (0x61) GDK_KEY_F6 (0xFFC3)
Qt::Key_F6 (0x01000035)
KEYCODE_F6 (136)
"F7" F7 键。 VK_F7 (0x76) kVK_F7 (0x62) GDK_KEY_F7 (0xFFC4)
Qt::Key_F7 (0x01000036)
KEYCODE_F7 (137)
"F8" F8 键。 VK_F8 (0x77) kVK_F8 (0x64) GDK_KEY_F8 (0xFFC5)
Qt::Key_F8 (0x01000037)
KEYCODE_F8 (138)
"F9" F9 键。 VK_F9 (0x78) kVK_F9 (0x65) GDK_KEY_F9 (0xFFC6)
Qt::Key_F9 (0x01000038)
KEYCODE_F9 (139)
"F10" F10 键。 VK_F10 (0x79) kVK_F10 (0x6D) GDK_KEY_F10 (0xFFC7)
Qt::Key_F10 (0x01000039)
KEYCODE_F10 (140)
"F11" F11 键。 VK_F11 (0x7A) kVK_F11 (0x67) GDK_KEY_F11 (0xFFC8)
Qt::Key_F11 (0x0100003A)
KEYCODE_F11 (141)
"F12" F12 键。 VK_F12 (0x7B) kVK_F12 (0x6F) GDK_KEY_F12 (0xFFC9)
Qt::Key_F12 (0x0100003B)
KEYCODE_F12 (142)
"F13" F13 键。 VK_F13 (0x7C) kVK_F13 (0x69) GDK_KEY_F13 (0xFFCA)
Qt::Key_F13 (0x0100003C)
KEYCODE_F13
"F14" F14 键。 VK_F14 (0x7D) kVK_F14 (0x6B) GDK_KEY_F14 (0xFFCB)
Qt::Key_F14 (0x0100003D)
KEYCODE_F14
"F15" F15 键。 VK_F15 (0x7E) kVK_F15 (0x71) GDK_KEY_F15 (0xFFCC)
Qt::Key_F15 (0x0100003E)
KEYCODE_F15
"F16" F16 键。 VK_F16 (0x7F) kVK_F16 (0x6A) GDK_KEY_F16 (0xFFCD)
Qt::Key_F16 (0x0100003F)
KEYCODE_F16
"F17" F17 键。 VK_F17 (0x80) kVK_F17 (0x40) GDK_KEY_F17 (0xFFCE)
Qt::Key_F17 (0x01000040)
KEYCODE_F17
"F18" F18 键。 VK_F18 (0x81) kVK_F18 (0x4F) GDK_KEY_F18 (0xFFCF)
Qt::Key_F18 (0x01000041)
KEYCODE_F18
"F19" F19 键。 VK_F19 (0x82) kVK_F19 (0x50) GDK_KEY_F19 (0xFFD0)
Qt::Key_F19 (0x01000042)
KEYCODE_F19
"F20" F20 键。 VK_F20 (0x83) kVK_F20 (0x5A) GDK_KEY_F20 (0xFFD1)
Qt::Key_F20 (0x01000043)
KEYCODE_F20
"Soft1" 第一个通用虚拟功能键。 Qt::Key_Context1 (0x01100000)
"Soft2" 第二个通用虚拟功能键。 Qt::Key_Context2 (0x01100001)
"Soft3" 第三个通用虚拟功能键。 Qt::Key_Context3 (0x01100002)
"Soft4" 第四个通用虚拟功能键。 Qt::Key_Context4 (0x01100003)

电话键

这些按键代表通常存在于现代智能手机上的按钮。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"AppSwitch" 呈现最近使用的应用程序列表,让用户快速切换应用。 KEYCODE_APP_SWITCH (187)
"Call" Call 键。拨打已输入的号码。 Qt::Key_Call (0x01100004) KEYCODE_CALL (5)
"Camera" Camera 键。激活相机。 Qt::Key_Camera (0x01100020) KEYCODE_CAMERA (27)
"CameraFocus" Focus 键。对焦相机。 Qt::Key_CameraFocus (0x01100021) KEYCODE_FOCUS (80)
"EndCall" End CallHang Up 按钮。 Qt::Key_Hangup (0x01100005) KEYCODE_ENDCALL (6)
"GoBack" Back 按钮。 KEYCODE_BACK (4)
"GoHome" [1] Home 按钮。将用户返回到手机主屏幕(通常是应用程序启动器)。 KEYCODE_HOME (3)
"HeadsetHook" Headset Hook 键。这通常是耳机上的一个按钮,用于挂断电话和播放或暂停媒体。 Qt::Key_ToggleCallHangup (0x01100007) KEYCODE_HEADSETHOOK (79)
"LastNumberRedial" Redial 按钮。重拨最后一个通话号码。 Qt::Key_LastNumberRedial (0x01100009)
"Notification" Notification 键。 KEYCODE_NOTIFICATION (83)
"MannerMode" 一个在通知模式(静音、振动、响铃等)之间循环的按钮。 KEYCODE_MANNER_MODE (205)
"VoiceDial" Voice Dial 键。启动语音拨号。 Qt::Key_VoiceDial (0x01100008) KEYCODE_VOICE_ASSIST (231)

[1] 在 Firefox 37 之前,Home 按钮生成的键码为 "Exit"。从 Firefox 37 开始,该按钮生成的键码为 "MozHomeScreen"

多媒体键

多媒体键是用于控制媒体设备的额外按钮或按键,常见于一些键盘上。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"ChannelDown" 切换到上一个频道。 APPCOMMAND_MEDIA_CHANNEL_DOWN Qt::Key_ChannelDown (0x01000119) KEYCODE_CHANNEL_DOWN (167)
"ChannelUp" 切换到下一个频道。 APPCOMMAND_MEDIA_CHANNEL_UP Qt::Key_ChannelUp (0x01000118) KEYCODE_CHANNEL_UP (166)
"MediaFastForward" [2] 开始、继续或增加媒体快进的速度。 APPCOMMAND_MEDIA_FAST_FORWARD GDK_KEY_AudioForward (0x1008FF97)
Qt:Key_AudioForward
(0x01000102)
KEYCODE_MEDIA_FAST_FORWARD (90)
"MediaPause"

暂停当前播放的媒体。

注意:一些旧的应用程序使用 "Pause",但这是不正确的。

APPCOMMAND_MEDIA_PAUSE GDK_KEY_AudioPause (0x1008FF31)
Qt::Key_MediaPause (0x1000085)
KEYCODE_MEDIA_PAUSE (127)
"MediaPlay" 如果尚未以正常速度播放媒体,则开始或继续播放。否则无效果。 APPCOMMAND_MEDIA_PLAY GDK_KEY_AudioPlay (0x1008FF14) KEYCODE_MEDIA_PLAY (126)
"MediaPlayPause" 在播放和暂停当前媒体之间切换。 VK_MEDIA_PLAY_PAUSE (0xB3)
APPCOMMAND_MEDIA_PLAY_PAUSE
Qt::Key_MediaTogglePlayPause (0x1000086) KEYCODE_MEDIA_PLAY_PAUSE (85)
"MediaRecord" 开始或恢复录制媒体。 APPCOMMAND_MEDIA_RECORD GDK_KEY_AudioRecord (0x1008FF1C)
Qt::Key_MediaRecord (0x01000084)
KEYCODE_MEDIA_RECORD (130)
"MediaRewind" 开始、继续或增加媒体快退的速度。 APPCOMMAND_MEDIA_REWIND GDK_KEY_AudioRewind (0x1008FF3E)
Qt::Key_AudioRewind (0x010000C5)
KEYCODE_MEDIA_REWIND (89)
"MediaStop" 停止当前的媒体活动(如播放、录制、暂停、快进或快退)。如果媒体当前已停止,则无效果。 VK_MEDIA_STOP (0xB2)
APPCOMMAND_MEDIA_STOP
GDK_KEY_AudioStop (0x1008FF15)
Qt::Key_MediaStop (0x01000081)
KEYCODE_MEDIA_STOP (86)
"MediaTrackNext" [1] 寻找下一个媒体或节目轨道。 VK_MEDIA_NEXT_TRACK (0xB0)
APPCOMMAND_MEDIA_NEXTTRACK
GDK_KEY_AudioNext (0x1008FF17)
Qt::Key_MediaNext (0x01000083)
KEYCODE_MEDIA_NEXT (87)
"MediaTrackPrevious" [1] 寻找上一个媒体或节目轨道。 VK_MEDIA_PREV_TRACK (0xB1)
APPCOMMAND_MEDIA_PREVIOUSTRACK
GDK_KEY_AudioPrev (0x1008FF16)
Qt::Key_MediaPrevious (0x01000082)
KEYCODE_MEDIA_PREVIOUS (88)

[1] 旧版 Edge 和 Firefox(36 及更早版本)使用 "MediaNextTrack""MediaPreviousTrack",而不是 "MediaTrackNext""MediaTrackPrevious"

[2] 在 Firefox 37 之前,Firefox 在某些平台上生成 "FastFwd" 键码,在其他平台上生成 "Unidentified",而不是 "MediaFastForward"

音频控制键

这些媒体键专门用于控制音频。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"AudioBalanceLeft" 向左调整音频平衡。 VK_AUDIO_BALANCE_LEFT
"AudioBalanceRight" 向右调整音频平衡。 VK_AUDIO_BALANCE_RIGHT
"AudioBassDown" 减少低音量。 APPCOMMAND_BASS_DOWN
"AudioBassBoostDown" 减少低音增强或在低音增强模式或状态中向下循环。 VK_BASS_BOOST_DOWN
"AudioBassBoostToggle" 打开和关闭低音增强。 APPCOMMAND_BASS_BOOST
"AudioBassBoostUp" 增加低音增强量,或在一组低音增强模式或状态中向上循环。 VK_BASS_BOOST_UP
"AudioBassUp" 增加低音量。 APPCOMMAND_BASS_UP
"AudioFaderFront" 向前调整音频推子。 VK_FADER_FRONT
"AudioFaderRear" 向后调整音频推子。 VK_FADER_REAR
"AudioSurroundModeNext" 选择下一个可用的环绕声模式。 VK_SURROUND_MODE_NEXT
"AudioTrebleDown" 减少高音量。 APPCOMMAND_TREBLE_DOWN
"AudioTrebleUp" 增加高音量。 APPCOMMAND_TREBLE_UP
"AudioVolumeDown" [1] 降低音量。 VK_VOLUME_DOWN (0xAE)
APPCOMMAND_VOLUME_DOWN
kVK_VolumeDown (0x49) GDK_KEY_AudioLowerVolume (0x1008FF11)
Qt::Key_VolumeDown (0x01000070)
KEYCODE_VOLUME_DOWN (25)
"AudioVolumeMute" [1] 静音。 VK_VOLUME_MUTE (0xAD)
APPCOMMAND_VOLUME_MUTE
kVK_Mute (0x4A) GDK_KEY_AudioMute (0x1008FF12)
Qt::Key_VolumeMute (0x01000071)
KEYCODE_VOLUME_MUTE (164)
"AudioVolumeUp" [1] 增加音量。 VK_VOLUME_UP (0xAF)
APPCOMMAND_VOLUME_UP
kVK_VolumeUp (0x48) GDK_KEY_AudioRaiseVolume (0x1008FF13)
Qt::Key_VolumeUp (0x01000072)
KEYCODE_VOLUME_UP (24)
"MicrophoneToggle" 打开和关闭麦克风。 APPCOMMAND_MIC_ON_OFF_TOGGLE
"MicrophoneVolumeDown" 降低麦克风的输入音量。 APPCOMMAND_MICROPHONE_VOLUME_DOWN Qt::Key_MicVolumeDown (0x0100011E)
"MicrophoneVolumeMute" 静音麦克风输入。 APPCOMMAND_MICROPHONE_VOLUME_MUTE GDK_KEY_AudioMicMute (0x1008FFB2)
Qt::Key_MicMute (0x01000113)
KEYCODE_MUTE (91)
"MicrophoneVolumeUp" 增加麦克风的输入音量。 APPCOMMAND_MICROPHONE_VOLUME_UP Qt::Key_MicVolumeUp (0x0100011D)

[1] 旧版 Edge 和 Firefox(48 及更早版本)使用 "VolumeUp""VolumeDown""VolumeMute",而不是 "AudioVolumeUp""AudioVolumeDown""AudioVolumeMute"。在 Firefox 49 中,它们已更新以匹配最新的规范。

电视控制键

这些键值代表电视设备上或具有电视支持的计算机或手机上的按钮或按键。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"TV" [1] 切换到电视观看模式。 KEYCODE_TV (170)
"TV3DMode" 打开和关闭 3D 电视模式。 KEYCODE_3D_MODE (206)
"TVAntennaCable" 在天线和有线输入之间切换。 KEYCODE_TV_ANTENNA_CABLE (242)
"TVAudioDescription" 打开和关闭音频描述模式。 KEYCODE_TV_AUDIO_DESCRIPTION (252)
"TVAudioDescriptionMixDown" 降低音频描述的混音音量;相对于节目声音减少音频描述的音量。 KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN (254)
"TVAudioDescriptionMixUp" 增加音频描述的混音音量;相对于节目声音增加音频描述的音量。 KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP (253)
"TVContentsMenu" 显示或隐藏可播放的媒体内容(这可能是显示当前正在播放的节目的频道指南,或要播放的媒体文件列表)。 KEYCODE_TV_CONTENTS_MENU (256)
"TVDataService" 显示或隐藏电视的数据服务菜单。 KEYCODE_TV_DATA_SERVICE (230)
"TVInput" [2] 在外部电视上循环输入模式。 KEYCODE_TV_INPUT (178)
"TVInputComponent1" 切换到输入“Component 1”。 KEYCODE_TV_INPUT_COMPONENT_1 (249)
"TVInputComponent2" 切换到输入“Component 2”。 KEYCODE_TV_INPUT_COMPONENT_2 (250)
"TVInputComposite1" 切换到输入“Composite 1”。 KEYCODE_TV_INPUT_COMPOSITE_1 (247)
"TVInputComposite2" 切换到输入“Composite 2”。 KEYCODE_TV_INPUT_COMPOSITE_2 (248)
"TVInputHDMI1" 切换到输入“HDMI 1”。 KEYCODE_TV_INPUT_HDMI_1 (243)
"TVInputHDMI2" 切换到输入“HDMI 2”。 KEYCODE_TV_INPUT_HDMI_2 (244)
"TVInputHDMI3" 切换到输入“HDMI 3”。 KEYCODE_TV_INPUT_HDMI_3 (245)
"TVInputHDMI4" 切换到输入“HDMI 4”。 KEYCODE_TV_INPUT_HDMI_4 (246)
"TVInputVGA1" 切换到输入“VGA 1”。 KEYCODE_TV_INPUT_VGA_1 (251)
"TVMediaContext" 媒体上下文菜单键。 KEYCODE_TV_MEDIA_CONTEXT_MENU (257)
"TVNetwork" 打开和关闭电视的网络连接。 KEYCODE_TV_NETWORK (241)
"TVNumberEntry" 将电视置于数字输入模式。 KEYCODE_TV_NUMBER_ENTRY (234)
"TVPower" [2] 设备的电源按钮。 KEYCODE_TV_POWER (177)
"TVRadioService" 收音机按钮。 KEYCODE_TV_RADIO_SERVICE (232)
"TVSatellite" 卫星按钮。 KEYCODE_TV_SATELLITE (237)
"TVSatelliteBS" 广播卫星按钮。 KEYCODE_TV_SATELLITE_BS (238)
"TVSatelliteCS" 通信卫星按钮。 KEYCODE_TV_SATELLITE_CS (239)
"TVSatelliteToggle" 在可用卫星之间切换。 KEYCODE_TV_SATELLITE_SERVICE (240)
"TVTerrestrialAnalog" 选择模拟地面电视服务(模拟有线或天线接收)。 KEYCODE_TV_TERRESTRIAL_ANALOG (235)
"TVTerrestrialDigital" 选择数字地面电视服务(数字有线或天线接收)。 KEYCODE_TV_TERRESTRIAL_DIGITAL (236)
"TVTimer" 定时器编程按钮。 KEYCODE_TV_TIMER_PROGRAMMING (258)

[1] Firefox 在 Firefox 37 中添加了对 "TV" 键的正确支持;在此之前,此键生成的键码为 "Live"

[2] 在 Firefox 37 之前,这些键是 "Unidentified"

媒体控制器键

因为现代媒体设备的遥控器通常包含超出本文档其他部分所涵盖的基本控制的按钮,所以为这些额外的按钮定义了广泛的键值。

以下值部分源自一些消费电子技术规范

注意:遥控器通常包含其值已在别处定义的键,例如在多媒体键音频控制键下。这些键的值将与这些表中记录的内容匹配。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"AVRInput" [3] 更改外部音频/视频接收器 (AVR) 单元上的输入模式。 KEYCODE_AVR_INPUT (182)
"AVRPower" [3] 切换外部 AVR 单元的电源。 KEYCODE_AVR_POWER (181)
"ColorF0Red" [3] 通用媒体功能键,颜色编码为红色。在彩色键中,其索引为 0 VK_COLORED_KEY_0 KEYCODE_PROG_RED (183)
"ColorF1Green" [3] 通用媒体功能键,颜色编码为绿色。在彩色键中,其索引为 1 VK_COLORED_KEY_1 KEYCODE_PROG_GREEN (184)
"ColorF2Yellow" [3] 通用媒体功能键,颜色编码为黄色。在彩色键中,其索引为 2 VK_COLORED_KEY_2 KEYCODE_PROG_YELLOW (185)
"ColorF3Blue" [3] 通用媒体功能键,颜色编码为蓝色。在彩色键中,其索引为 3 VK_COLORED_KEY_3 KEYCODE_PROG_BLUE (186)
"ColorF4Grey" 通用媒体功能键,颜色编码为灰色。在彩色键中,其索引为 4 VK_COLORED_KEY_4 KEYCODE_PROG_GREY
"ColorF5Brown" 通用媒体功能键,颜色编码为棕色。在彩色键中,其索引为 5 VK_COLORED_KEY_5 KEYCODE_PROG_BROWN
"ClosedCaptionToggle" 打开和关闭隐藏式字幕。 VK_CC KEYCODE_CAPTIONS (175)
"Dimmer" 通过在两个亮度级别之间切换在多个亮度级别之间循环来调整设备的亮度。 VK_DIMMER GDK_KEY_BrightnessAdjust (0x1008FF3B)
"DisplaySwap" 在视频源之间循环。 VK_DISPLAY_SWAP
"DVR" 将输入源切换到数字视频录像机 (DVR)。 KEYCODE_DVR (173)
"Exit" 退出按钮,用于退出当前应用程序或菜单。 VK_EXIT Qt::Key_Exit (0x0102000a)
"FavoriteClear0" 清除存储在第一个收藏夹列表插槽中的节目或内容。 VK_CLEAR_FAVORITE_0
"FavoriteClear1" 清除存储在第二个收藏夹列表插槽中的节目或内容。 VK_CLEAR_FAVORITE_1
"FavoriteClear2" 清除存储在第三个收藏夹列表插槽中的节目或内容。 VK_CLEAR_FAVORITE_2
"FavoriteClear3" 清除存储在第四个收藏夹列表插槽中的节目或内容。 VK_CLEAR_FAVORITE_3
"FavoriteRecall0" 选择(调用)存储在第一个收藏夹列表插槽中的节目或内容。 VK_RECALL_FAVORITE_0
"FavoriteRecall1" 选择(调用)存储在第二个收藏夹列表插槽中的节目或内容。 VK_RECALL_FAVORITE_1
"FavoriteRecall2" 选择(调用)存储在第三个收藏夹列表插槽中的节目或内容。 VK_RECALL_FAVORITE_2
"FavoriteRecall3" 选择(调用)存储在第四个收藏夹列表插槽中的节目或内容。 VK_RECALL_FAVORITE_3
"FavoriteStore0" 将当前节目或内容存储到第一个收藏夹列表插槽中。 VK_STORE_FAVORITE_0
"FavoriteStore1" 将当前节目或内容存储到第二个收藏夹列表插槽中。 VK_STORE_FAVORITE_1
"FavoriteStore2" 将当前节目或内容存储到第三个收藏夹列表插槽中。 VK_STORE_FAVORITE_2
"FavoriteStore3" 将当前节目或内容存储到第四个收藏夹列表插槽中。 VK_STORE_FAVORITE_3
"Guide" 切换节目或内容指南的显示。 VK_GUIDE Qt::Key_Guide (0x0100011A) KEYCODE_GUIDE (172)
"GuideNextDay" 如果当前正在显示指南,此按钮会告诉指南显示第二天的内容。 VK_NEXT_DAY
"GuidePreviousDay" 如果当前正在显示指南,此按钮会告诉指南显示前一天的内容。 VK_PREV_DAY
"Info" 切换显示有关当前所选内容、节目或媒体的信息。 VK_INFO Qt::Key_Info (0x0100011B) KEYCODE_INFO (165)
"InstantReplay" 告诉设备执行即时回放(通常是某种形式的跳回一小段时间然后再次播放,可能但通常不是慢动作)。 VK_INSTANT_REPLAY
"Link" 如果可用且可能,打开链接到当前节目的内容。 VK_LINK
"ListProgram" 列出当前节目。 VK_LIST
"LiveContent" 切换显示当前可用的直播内容或节目列表。 VK_LIVE
“Lock” 锁定或解锁当前选定的内容或节目。 VK_LOCK
“MediaApps” 显示媒体应用程序列表,例如照片查看器、音频和视频播放器以及游戏。[1] VK_APPS
“MediaAudioTrack” 音轨键。 GDK_KEY_AudioCycleTrack (0x1008FF9B)
Qt::Key_AudioCycleTrack (0x01000106)
KEYCODE_MEDIA_AUDIO_TRACK (222)
"MediaLast" 跳回上次观看的内容、节目或其他媒体。 VK_LAST Qt::Key_MediaLast (0x0100FFFF) KEYCODE_LAST_CHANNEL (229)
“MediaSkipBackward” 向后跳到上一个内容或节目。 KEYCODE_MEDIA_SKIP_BACKWARD
“MediaSkipForward” 向前跳到下一个内容或节目。 VK_SKIP KEYCODE_MEDIA_SKIP_FORWARD
“MediaStepBackward” 向后步进到上一个内容或节目。 KEYCODE_MEDIA_STEP_BACKWARD
“MediaStepForward” 向前步进到下一个内容或节目。 KEYCODE_MEDIA_SKIP_FORWARD
"MediaTopMenu" 顶部菜单按钮。打开媒体的主菜单(例如 DVD 或蓝光光盘的菜单)。 Qt::Key_TopMenu (0x0100010A) KEYCODE_MEDIA_TOP_MENU
“NavigateIn” 导航进入子菜单或选项。 KEYCODE_NAVIGATE_IN
“NavigateNext” 导航到下一个项目。 KEYCODE_NAVIGATE_NEXT
“NavigateOut” 导航退出当前屏幕或菜单。 KEYCODE_NAVIGATE_OUT
“NavigatePrevious” 导航到上一个项目。 KEYCODE_NAVIGATE_PREVIOUS
"NextFavoriteChannel" 循环切换到收藏列表中的下一个频道。 VK_NEXT_FAVORITE_CHANNEL
"NextUserProfile" 如果支持此功能且存在多个用户配置文件,则循环切换到下一个已保存的用户配置文件。 VK_USER
"OnDemand" 打开用于选择要观看的点播内容或节目的用户界面。 VK_ON_DEMAND
“Pairing” 开始将遥控器与待控制设备配对的过程。 KEYCODE_PAIRING (225)
"PinPDown" 一个用于向下移动画中画视图的按钮。 VK_PINP_DOWN
"PinPMove" 一个用于控制移动画中画视图的按钮。 VK_PINP_MOVE
"PinPToggle" 切换画中画视图的显示与关闭。 VK_PINP_TOGGLE
"PinPUp" 一个用于向上移动画中画视图的按钮。 VK_PINP_UP
"PlaySpeedDown" 降低媒体播放速率。 VK_PLAY_SPEED_DOWN
"PlaySpeedReset" 将媒体播放速率恢复正常。 VK_PLAY_SPEED_RESET
"PlaySpeedUp" 提高媒体播放速率。 VK_PLAY_SPEED_UP
"RandomToggle" 切换随机媒体(也称为“随机播放模式”)的开启与关闭。 VK_RANDOM_TOGGLE GDK_KEY_AudioRandomPlay (0x1008FF99)
"RcLowBattery" 当遥控器电池电量低时发送的代码。这实际上根本不对应任何物理按键。 VK_RC_LOW_BATTERY
"RecordSpeedNext" 在可用的媒体录制速度之间循环切换。 VK_RECORD_SPEED_NEXT
"RfBypass" 切换射频(RF)输入旁路模式的开启与关闭。RF 旁路模式将 RF 输入直接传递到 RF 输出,不进行任何处理或过滤。 VK_RF_BYPASS
"ScanChannelsToggle" 切换频道扫描模式的开启与关闭。此模式会自动切换频道,直到用户停止扫描。 VK_SCAN_CHANNELS_TOGGLE
"ScreenModeNext" 在可用的屏幕显示模式之间循环切换。 VK_SCREEN_MODE_NEXT
“Settings” 切换设备设置屏幕的显示与关闭。 VK_SETTINGS Qt::Key_Settings (0x0100011C) KEYCODE_SETTINGS
"SplitScreenToggle" 切换分屏显示模式的开启与关闭。 VK_SPLIT_SCREEN_TOGGLE GDK_KEY_SplitScreen (0x1008FF7D)
Qt::Key_SplitScreen (0x010000ED)
"STBInput" [3] 在外部机顶盒(STB)的输入模式之间循环切换。 KEYCODE_STB_INPUT (180)
"STBPower" [3] 切换外部机顶盒的电源开关。 KEYCODE_STB_POWER (179)
"Subtitle" 如果字幕可用,则切换字幕的显示与关闭。 VK_SUBTITLE GDK_KEY_Subtitle (0x1008FF9A) KEYCODE_CAPTIONS (175)
"Teletext" 如果可用,切换图文电视的显示。 VK_TELETEXT KEYCODE_TV_TELETEXT (233)
"VideoModeNext" [3] 在可用的视频模式之间循环切换。 VK_VIDEO_MODE_NEXT GDK_KEY_Next_VMode (0x1008FE22)
"Wink" 使设备以某种方式标识自己,例如闪烁灯光、短暂改变指示灯亮度或发出提示音。 VK_WINK
"ZoomToggle" [2] 在全屏和缩放内容显示之间切换,或以其他方式更改放大级别。 VK_ZOOM (0xFB) Qt::Key_Zoom (0x01020006) KEYCODE_TV_ZOOM_MODE (255)

[1] 不要将媒体控制器 VK_APPS 键与 Windows VK_APPS 键混淆,后者也被称为 VK_CONTEXT_MENU。该键被编码为 "ContextMenu"

[2] Firefox 36 及更早版本将缩放切换按钮标识为 "Zoom"。Firefox 37 将其更正为 "ZoomToggle"

[3] 在 Firefox 37 之前,这些键为 "Unidentified"

语音识别键

这些特殊的多媒体键用于控制语音识别功能。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"SpeechCorrectionList" [1] 为被错误识别的单词显示可能的更正列表。 APPCOMMAND_CORRECTION_LIST
"SpeechInputToggle" [2] 在听写模式和命令/控制模式之间切换。这让语音引擎知道是将口语词汇解释为输入文本还是命令。 APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE

[1] Windows 上的 APPCOMMAND_CORRECTION_LIST 命令在 Firefox 中会生成 "Unidentified"

[2] Windows 上的 APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 命令在 Firefox 中会生成 "Unidentified"

文档键

这些键用于控制文档。在规范中,它们被包含在其他键组中(如媒体键),但将它们视为独立的类别更为合理。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
“Close” [1] 关闭当前文档或消息。不得退出应用程序。 APPCOMMAND_CLOSE GDK_KEY_Close (0x1008FF56)
Qt::Key_Close (0x010000CE)
KEYCODE_MEDIA_CLOSE (128)
“New” [1] 创建新文档或消息。 APPCOMMAND_NEW GDK_KEY_New (0x1008FF68)
Qt::Key_New (0x01000120)
“Open” [1] 打开现有文档或消息。 APPCOMMAND_OPEN GDK_KEY_Open (0x1008FF6B)
Qt::Key_Open (0x01000121)
"Print" 打印当前文档或消息。 APPCOMMAND_PRINT GDK_KEY_Print (0xFF61)
Qt::Print (0x01000009)
“Save” [1] 保存当前文档或消息。 APPCOMMAND_SAVE GDK_KEY_Save (0x1008FF77)
Qt::Key_Save (0x010000EA)
"SpellCheck" [1] 开始对当前文档进行拼写检查。 APPCOMMAND_SPELL_CHECK GDK_KEY_Spell (0x1008FF7C)
Qt::Key_Spell (0x010000EC)
"MailForward" [1] 打开用于转发消息的用户界面。 APPCOMMAND_FORWARD_MAIL GDK_KEY_MailForward (0x1008FF90)
Qt::Key_MailForward (0x010000FB)
"MailReply" [1] 打开用于回复消息的用户界面。 APPCOMMAND_REPLY_TO_MAIL GDK_KEY_Reply (0x1008FF72)
Qt::Key_Reply (0x010000E5)
"MailSend" [1] 发送当前消息。 APPCOMMAND_SEND_MAIL GDK_KEY_Send (0x1008FF7B)
Qt::Key_Send (0x010000EB)

[1] 在 Firefox 37 之前,此键生成的键值为 "Unidentified"

应用程序选择器键

某些键盘提供用于启动或切换到某些常用应用程序的专用键。这些键的键值在此列出。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"LaunchCalculator" [5] 计算器键,通常标有图标。这通常用作通用应用程序启动键(APPCOMMAND_LAUNCH_APP2)。 APPCOMMAND_LAUNCH_APP2 GDK_KEY_Calculator (0x1008FF1D)
Qt::Key_Calculator (0x010000CB)
KEYCODE_CALCULATOR (210)
"LaunchCalendar" [5] 日历键。通常标有图标。 GDK_KEY_Calendar (0x1008FF20)
Qt::Key_Calendar (0x010000E4)
KEYCODE_CALENDAR (208)
"LaunchContacts" 联系人键。 KEYCODE_CONTACTS (207)
"LaunchMail" 邮件键。通常标有图标。 VK_LAUNCH_MAIL (0xB4)
APPCOMMAND_LAUNCH_MAIL
GDK_KEY_Mail (0x1008FF19)
Qt::Key_LaunchMail (0x010000A0)
KEYCODE_ENVELOPE (65)
"LaunchMediaPlayer" [1] 媒体播放器键。 VK_LAUNCH_MEDIA_SELECT (0xB5)
APPCOMMAND_LAUNCH_MEDIA_SELECT
GDK_KEY_CD (0x1008FF53)
GDK_KEY_Video (0x1008FF87)
GDK_KEY_AudioMedia (0x1008FF32)
Qt::Key_LaunchMedia (0x010000A1)
"LaunchMusicPlayer" [5] 音乐播放器键。通常标有图标。 GDK_KEY_Music (0x1008FF92)
Qt::Key_Music (0x010000FD)
KEYCODE_MUSIC (209)
"LaunchMyComputer" [5] Windows 键盘上的我的电脑键。这通常用作通用应用程序启动键(APPCOMMAND_LAUNCH_APP1)。 APPCOMMAND_LAUNCH_APP1 GDK_KEY_MyComputer (0x1008FF33)
GDK_KEY_Explorer (0x1008FF5D)
"LaunchPhone" 电话键。打开电话拨号器应用程序(如果存在)。 GDK_KEY_Phone (0x1008FF6E)
Qt::Key_Phone (0x010000E3)
"LaunchScreenSaver" [5] 屏幕保护程序键。 GDK_KEY_ScreenSaver (0x1008FF2D)
Qt::Key_ScreenSaver (0x010000BA)
"LaunchSpreadsheet" [4] 电子表格键。此键可能标有图标。 GDK_KEY_Excel (0x1008FF5C)
Qt::Key_Excel (0x010000D4)
"LaunchWebBrowser" [4] 网络浏览器键。此键通常标有图标。 GDK_KEY_WWW (0x1008FF2E)
Qt::Key_WWW (0x010000BB)
KEYCODE_EXPLORER (64)
"LaunchWebCam" [5] 网络摄像头键。打开网络摄像头应用程序。 GDK_KEY_WebCam (0x1008FF8F)
Qt::Key_WebCam (0x010000FA)
"LaunchWordProcessor" [5] 文字处理器键。这可能是一个特定文字处理器应用程序的图标,或一个通用的文档图标。 GDK_KEY_Word (0x1008FF89)
Qt::Key_Word (0x010000F4)
"LaunchApplication1" [2] 第一个通用应用程序启动按钮。 VK_LAUNCH_APP1 (0xB6)
APPCOMMAND_LAUNCH_APP1
GDK_KEY_Launch0 (0x1008FF40)
Qt::Key_Launch0 (0x010000A2)
"LaunchApplication2" [3] 第二个通用应用程序启动按钮。 VK_LAUNCH_APP2 (0xB7)
APPCOMMAND_LAUNCH_APP2
GDK_KEY_Launch1 (0x1008FF41)
Qt::Key_Launch1 (0x010000A3)
"LaunchApplication3" 第三个通用应用程序启动按钮。 GDK_KEY_Launch2 (0x1008FF42)
Qt::Key_Launch2 (0x010000A4)
"LaunchApplication4" 第四个通用应用程序启动按钮。 GDK_KEY_Launch3 (0x1008FF43)
Qt::Key_Launch3 (0x010000A5)
"LaunchApplication5" 第五个通用应用程序启动按钮。 GDK_KEY_Launch4 (0x1008FF44)
Qt::Key_Launch4 (0x010000A6)
"LaunchApplication6" 第六个通用应用程序启动按钮。 GDK_KEY_Launch5 (0x1008FF45)
Qt::Key_Launch5 (0x010000A7)
"LaunchApplication7" 第七个通用应用程序启动按钮。 GDK_KEY_Launch6 (0x1008FF46)
Qt::Key_Launch6 (0x010000A8)
"LaunchApplication8" 第八个通用应用程序启动按钮。 GDK_KEY_Launch7 (0x1008FF47)
Qt::Key_Launch7 (0x010000A9)
"LaunchApplication9" 第九个通用应用程序启动按钮。 GDK_KEY_Launch8 (0x1008FF48)
Qt::Key_Launch8 (0x010000AA)
"LaunchApplication10" 第 10 个通用应用程序启动按钮。 GDK_KEY_Launch9 (0x1008FF49)
Qt::Key_Launch9 (0x010000AB)
"LaunchApplication11" 第 11 个通用应用程序启动按钮。 GDK_KEY_LaunchA (0x1008FF4A)
Qt::Key_LaunchA (0x010000AC)
"LaunchApplication12" 第 12 个通用应用程序启动按钮。 GDK_KEY_LaunchB (0x1008FF4B)
Qt::Key_LaunchB (0x010000AD)
"LaunchApplication13" 第 13 个通用应用程序启动按钮。 GDK_KEY_LaunchC (0x1008FF4C)
Qt::Key_LaunchC (0x010000AE)
"LaunchApplication14" 第 14 个通用应用程序启动按钮。 GDK_KEY_LaunchD (0x1008FF4D)
Qt::Key_LaunchD (0x010000AF)
"LaunchApplication15" 第 15 个通用应用程序启动按钮。 GDK_KEY_LaunchE (0x1008FF4E)
Qt::Key_LaunchE (0x010000B0)
"LaunchApplication16" 第 16 个通用应用程序启动按钮。 GDK_KEY_LaunchF (0x1008FF4F)
Qt::Key_LaunchF (0x010000B1)

[1] 旧版 Edge 和 Firefox(36 及更早版本)使用 "SelectMedia" 而不是 "LaunchMediaPlayer"。Firefox 37 到 Firefox 48 使用 "MediaSelect"。Firefox 49 已更新以匹配最新规范,并返回 "LaunchMediaPlayer"

[2] Google Chrome 57 及更早版本返回 "LaunchMyComputer" 而不是 "LaunchApplication1"。更多信息请参见 Chrome Bug 612743

[3] Google Chrome 57 及更早版本返回 "LaunchCalculator" 而不是 "LaunchApplication2"。更多信息请参见 Chrome Bug 612743

[4] 在 Firefox 37 之前,Firefox 对网络浏览器键返回键码 "LaunchApplication1" 而不是 "LaunchWebBrowser"

[5] Firefox 在 Firefox 37 中引入了对此键的支持。在此之前,此键被报告为 "Unidentified"

浏览器控制键

一些键盘包含用于控制网络浏览器的专用键。这些键如下。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"BrowserBack" 导航到当前 Web 视图历史记录中的上一个内容或页面。 VK_BROWSER_BACK (0xA6)
APPCOMMAND_BROWSER_BACKWARD
GDK_KEY_Back (0x1008FF26)
Qt::Key_Back (0x01000061)
KEYCODE_BACK (4)
"BrowserFavorites" [1] 打开用户的书签/收藏夹列表。 VK_BROWSER_FAVORITES (0xAB)
APPCOMMAND_BROWSER_FAVORITES
GDK_KEY_Favorites (0x1008FF30)
GDK_KEY_MySites (0x1008FF67)
Qt::Favorites (0x01000091)
KEYCODE_BOOKMARK (174)
"BrowserForward" 导航到当前 Web 视图历史记录中的下一个内容或页面。 VK_BROWSER_FORWARD (0xA7)
APPCOMMAND_BROWSER_FORWARD
GDK_KEY_Forward (0x1008FF27)
Qt::Key_Forward (0x01000062)
KEYCODE_FORWARD (125)
"BrowserHome" 导航到用户的首选主页。 VK_BROWSER_HOME (0xAC)
APPCOMMAND_BROWSER_HOME
GDK_KEY_HomePage (0x1008FF18)
Qt::Key_HomePage (0x01000090)
KEYCODE_HOME (3)
"BrowserRefresh" 刷新当前页面或内容。 VK_BROWSER_REFRESH (0xA8)
APPCOMMAND_BROWSER_REFRESH
GDK_KEY_Refresh (0x1008FF29)
GDK_KEY_Reload (0x1008FF73)
"BrowserSearch" 激活用户的首选搜索引擎或其浏览器内的搜索界面。 VK_BROWSER_SEARCH (0xAA)
APPCOMMAND_BROWSER_SEARCH
GDK_KEY_Search (0x1008FF1B)
Qt::Key_Search (0x01000092)
KEYCODE_SEARCH (84)
"BrowserStop" 停止加载当前显示的 Web 视图或内容。 VK_BROWSER_STOP (0xA9)
APPCOMMAND_BROWSER_STOP
GDK_KEY_Stop (0x1008FF28)
Qt::Key_Search (0x01000063)

[1] 在 Firefox 37 之前,此键的值被报告为 "Unidentified"

数字键盘键

这些键位于键盘的数字小键盘上。但是,并非所有键盘上都有这些键。尽管典型的数字小键盘有从 09 的数字键(编码为 "0""9"),但一些多媒体键盘包含用于更大数字的附加数字键。

注意:如果存在 10 键,它会生成 key 值为 "0" 的事件。

KeyboardEvent.key 描述 虚拟键码
Windows Mac Linux Android
"Decimal" [1] 已废弃

小数点键(通常是 .,,取决于地区)。

在较新的浏览器中,此值为小数点键生成的字符(这两个字符之一)。[1]

VK_DECIMAL (0x6E) kVK_ANSI_KeypadDecimal (0x41) GDK_KEY_KP_Decimal (0xFFAE)
KEYCODE_NUMPAD_DOT (158)
"Key11" 在某些媒体数字小键盘上找到的 11 键。
"Key12" 在某些媒体数字小键盘上找到的 12 键。
"Multiply" [1] 已废弃 数字小键盘的乘法键,* VK_MULTIPLY (0x6A) kVK_ANSI_KeypadMultiply (0x43) GDK_KEY_KP_Multiply (0xFFAA)
Qt::Key_Multiply (0x0D7)
KEYCODE_NUMPAD_MULTIPLY (155)
"Add" [1] 已废弃 数字小键盘的加法键,+ VK_ADD (0x6B) kVK_ANSI_KeypadPlus (0x45) GDK_KEY_KP_Add (0xFFAB) KEYCODE_NUMPAD_ADD (157)
"Clear" 数字小键盘的 Clear 键。 kVK_ANSI_KeypadClear (0x47) GDK_KEY_Clear (0xFF0B)
Qt::Key_Clear (0x0100000B)
KEYCODE_CLEAR (28)
"Divide" [1] 已废弃 数字小键盘的除法键,/ VK_DIVIDE (0x6F) kVK_ANSI_KeypadDivide (0x4B) GDK_KEY_KP_Divide (0xFFAF)
Qt::Key_Slash (0x2F)
KEYCODE_NUMPAD_DIVIDE (154)
"Subtract" [1] 已废弃 数字小键盘的减法键,- VK_SUBTRACT (0x6D) kVK_ANSI_KeypadMinus (0x4E) GDK_KEY_KP_Subtract (0xFFAD) KEYCODE_NUMPAD_SUBTRACT (156)
"Separator" [1]

数字小键盘的位数分隔符。

(在美国,这是一个逗号,但在其他地方通常是一个句号。)

VK_SEPARATOR (0x6C) kVK_JIS_KeypadComma (0x5F) GDK_KEY_KP_Separator (0xFFAC)
KEYCODE_NUMPAD_COMMA (159)
"0""9" 数字小键盘上的实际数字键。 VK_NUMPAD0 (0x60) - VK_NUMPAD9 (0x69) kVK_Keypad0 (0x52) - kVK_Keypad9 (0x5C) GDK_KEY_KP_0 (0xFFB0) - GDK_KEY_KP_9 (0xFFB9) KEYCODE_NUMPAD_0 (144) - KEYCODE_NUMPAD_9 (153)

[1] 虽然旧版浏览器使用诸如 "Add""Decimal""Multiply" 等词语,但现代浏览器使用实际字符("+"".""*" 等)来标识这些键。