UI事件 KeyboardEvent code值

W3C 推荐标准,

关于本文档的更多信息
此版本:
https://www.w3.org/TR/2025/REC-uievents-code-20250422/
最新发布版本:
https://www.w3.org/TR/uievents-code/
编辑草案:
https://w3c.github.io/uievents-code/
历史记录:
https://www.w3.org/standards/history/uievents-code/
实现报告:
https://w3c.github.io/uievents-code/impl-report.html
反馈:
GitHub
编辑:
(Google)
(特邀专家)
勘误:
存在勘误

另见 各语言翻译


摘要

本规范定义了 KeyboardEvent.code 属性的取值, 该属性作为 UI Events 规范的一部分定义[UIEvents]。 code 的值包含了按键事件的信息,用于标识用户实际按下的物理按键。

文档状态

本节描述了本文档在发布时的状态。当前 W3C 的各出版物及本技术报告最新版本可在 W3C 技术报告索引 https://www.w3.org/TR/ 上查询。

本文档由 Web 应用工作组 按照 推荐标准流程 作为推荐标准发布。

W3C建议广泛部署本规范作为 Web 标准。

W3C 推荐标准是一项经过广泛协商后, 得到 W3C 及其会员认可的规范, 工作组成员承诺为实现提供免版税许可

本文档由一组遵循 W3C 专利政策 的人员制定。 W3C维护着 公开专利披露列表, 该页面也包括专利披露说明。个人如知晓认为包含 基本声明 的专利,须按 专利政策第6节 披露相关信息。

本文档受 2023年11月3日 W3C 流程文档 管辖。

1. 引言

本文档概述了各种键盘布局,并规定了应为每个按键使用的 code 值。与 key 值不同(详见 [UIEvents-key]),code 的值仅依据按键在键盘上的物理位置,与用户当前的地区设置无关。

本规范之前标题为 DOM Level 3 KeyboardEvent code Values

1.1. 格式规范

本规范使用下列约定:

2. 键盘布局

本节为非规范内容。

字母数字键盘是用户产生键盘事件的最常用方式。本节概述了标准键盘及其物理布局。

2.1. 标准键盘布局

本节描述常见键盘上的物理布局。

2.1.1. 键盘区块

在讨论键盘布局时,方便将标准键盘分为不同区域并为每一行命名。

The five general sections of a standard keyboard
标准键盘一般分为五个区块

这些键盘区块包括:

为方便识别按键,键盘每一行都命名从底部的 “A” 行到顶部的 “E” 行,功能区键为 “K” 行。该命名方法与 [ISO9995-1] 保持一致。

需要注意,许多键盘(现代或老式)会有一些额外按键,未能明确归类于上述分区。其中部分见 § 3.6 媒体按键

2.1.2. 标准“101”键盘布局

标准“101”键盘(通常称为“美国布局”)只有 "Backslash" 键(标签为 \|)位于单排 Enter 键上方,其它布局则无此键,而是将 Enter 扩展为双排。

Standard '101' keyboard layout
标准“101”键盘布局示意(未修改的美国按键值)

现代标准“101”布局的键盘实际上有104个按键:61个在 字母数字区,43个在 数字小键盘控制区方向区功能区。 “101”名称是因为最初该标准键盘确实有101个按键,后来增加了两个 Meta 键(常标注为操作系统专用标签)和 Menu 键,使总数达到104。

2.1.3. 替代“101”键盘布局

替代“101”键盘拥有较大的 Enter 键,并缩小 Backspace 键以腾出空间给 "IntlYen"(取代标准101布局中的 "Backslash"),该键名来源于日文布局,标签为 ¥yen),俄文布局中该键标签为 \/

Alternate '101' keyboard layout
替代“101”键盘布局示意(未修改的俄文按键值)

现代替代“101”布局的键盘也有104个按键:61个在 字母数字区,43个在 数字小键盘控制区方向区功能区

2.1.4. 标准“102”键盘布局

标准“102”键盘在欧洲很常见,新增了一个“101”布局没有的键:"IntlBackslash"(标签为 \|,位于左Shift旁)。

还增加了第二个键(标签为 #~,位于 Enter 下方)编码为 "Backslash",与“101”布局上的 \| 键使用同一编码。根据 [USB-HID],美式和英式这些键本应是两个独立按键,但它们不同时在一个键盘上出现,所以平台通常赋予相同扫描码,故难区分。本规范均用 "Backslash" 编码。

Standard '102' keyboard layout
标准“102”键盘布局示意(未修改的英国按键值)

现代“102”布局键盘有105个按键:62个在 字母数字区,43个在 数字小键盘控制区方向区功能区

2.1.5. 韩国“103”键盘布局

韩国“103”键盘以替代101布局为基础,额外增加两个按键(位于空格两侧)以适应韩文输入模式。这两个键为 "Lang2"(“Hanja”,标签为 한자 hanja)和 "Lang1"(“HangulMode”,标签为 한/영 han/yeong)。

Korean '103' keyboard layout
韩国“103”键盘布局示意(未修改的韩国按键值)

现代“103”布局键盘有106个按键:63个在 字母数字区,43个在 数字小键盘控制区方向区功能区

2.1.6. 巴西“104”键盘布局

巴西采用的“104”布局新增4个按键:两个来自“102”布局("Backslash""IntlBackslash"),以及 "IntlRo"(在右Shift旁)和一个新的 数字小键盘键。该数字区新键为 "NumpadComma",代表千位分隔符。在巴西布局上标签为 .,而 "NumpadDecimal" 标签为 ,

Standard '104' keyboard layout
巴西“104”键盘布局示意(未修改的巴西按键值)

现代“104”布局键盘有107个按键:63个在 字母数字区,44个在 数字小键盘控制区方向区功能区。部分巴西键盘不含额外 数字小键盘键,仅有106键。

2.1.7. 日本“106”键盘布局

日本“106”键盘布局新增3个按键:"IntlYen"(标签为 ¥_)、"Backslash"(标签为 ]む)和 "IntlRo"(标签为 \ろ)。同时缩小空格键以给3个输入模式键留空间:"NonConvert"(标签为 無変換 muhenkan)、"Convert"(标签为 変換 henkan)以及 "KanaMode"(标签为 カタカナ/ひらがな/ローマ字 katakana/hiragana/romaji)。

Standard '106' keyboard layout
日本“106”键盘布局示意(未修改的日本按键值)

现代“106”布局键盘有109个按键:66个在 字母数字区,43个在 数字小键盘控制区方向区功能区

2.1.8. 苹果键盘布局

总体而言,苹果键盘布局与PC键盘一致,但下面的图示有一些差异。

Apple extended keyboard layout
苹果扩展键盘布局示意(未修改的英文按键值)

图中绿色按键表示位置被移动,蓝色表明新增。

2.1.9. 笔记本键盘布局

笔记本键盘空间有限,常需调整物理按键布局以容纳所有必需按键。书写系统按键一般保持在 字母数字区,但其它区通常并入其它按键或被省略。

Apple laptop keyboard layout
苹果笔记本键盘布局

在此苹果笔记本键盘中,为腾出右侧半高方向键,移除右控制键并在左侧新增 Fn 键。

Sample PC laptop keyboard layout
PC笔记本键盘布局示例

PC笔记本键盘变化较大,此样例展示常见部分。控制区按键增加在右侧,方向区按键集中在底部。右侧 Shift 键常缩小以容纳上箭头,右侧 Meta 键通常被移除。

2.1.10. 其它地区键盘布局

规范未专门描述其它地区键盘,因为这些键盘均从现有布局起步,通过更换按键帽和重新映射按键完成适应。

由于这些键盘未引入新的物理按键,因此无需单独记录。

这些键盘通常以标准或替代“101”或“102”布局为基础。例如,常见的阿拉伯文、斯拉夫文、希腊文、印地文、高棉文和泰文键盘均源自“101”或“102”键盘布局。

2.2. 手机键盘

若内容作者需依赖移动键盘机械布局,建议采用 [ISO9995-8] 规范,定义数字键区布局及 Unicode 字符(范围 U+0061 ... U+007A,即 "a" - "z")在数字键 29 上的二次分配,适合国际场景。

该键盘布局及字母分布适合英语设备,但多数用户的设备并不匹配。内容作者不能依赖任何特定布局,需创建可国际化与本地化的内容。

Mobile keypad layout
通用手机键盘示意图

2.3. 媒体遥控器

许多键盘包含专为媒体功能设计的按键。媒体设备(特别是电视)日益支持网络功能,混合键盘/遥控器设备逐渐普及。为满足这些 Web/媒体混合设备需求,本规范补充了遥控常用按键编码,补足传统键盘按键。

由于体积较小,遥控器上的按键通常是模式切换键,同一按键可根据屏幕内容执行不同操作;许多按键仍作为切换键(toggle),实现两个或更多状态之间的变换。遥控器按钮通常无修饰键状态,每个按钮只分配单一功能(如 PlayPauseUpMenuExit)。

A sample media remote control
媒体遥控器示意图

2.4. 虚拟键盘与和弦键盘

虚拟键盘为软件式按键集,常见于触屏设备,排列形式多样,支持多种模式切换(如字母、数字、符号等)。由于缺乏物理限制,虚拟键盘可呈现更丰富字符(包括表情、符号)。但建议虚拟键盘尽量产生标准键盘事件及键值,以便内容开发和兼容。

和弦键盘(即键组输入或和弦输入),通过组合或串按多个键来输出字符或命令,适合单手操作。此类设备可能有模式键以切换不同键值,最终输出的键值应与本规范一致。

对这些及其它可切换模式的键盘,推荐使用 key"Alphanumeric""CapsLock""NumLock" 以及 "SymbolLock" 作为模式切换键。

3. 键盘事件 code 值表

本节定义了一组适用于 code 的值。

code 属性值即本节所有表格“KeyboardEvent.code”栏内所列出的所有编码。

各表格都有“必需”栏,标明值是否为规范实现所必需。“必需”为“No”的条目为可选项,可用于支持特殊键盘(如多媒体或老式键盘)。

注:部分被列为“必需”的键在所有平台或设备上可能不可用,例如Mac键盘没有 Insert 键,标准PC键盘没有 Help 键。

对所有规范标为“必需”的按键,只要该平台可用,实现 KeyboardEvent 接口的浏览器必须返回正确值。

注:虽然本规范尽力列出全部编码,仍可能因新硬件输入设备不断涌现,需定期补充新值。为了防止各浏览器厂商自定义 code 属性值(往往不兼容),建议通过反馈方式更新标准。

3.1. 字母数字区

字母数字区是键盘的主区块。含两类按键:书写系统按键根据当前布局变化,功能键则大多各布局一致。

3.1.1. 书写系统按键

书写系统按键是指根据当前地区和键盘布局改变意义(即产生不同 key 值)的按键。

书写系统按键
书写系统按键字母数字区

本图显示了一个假设性键盘,融合了各种键盘上的所有书写系统按键(以蓝色和绿色表示)。蓝色按键在所有标准键盘上都存在,绿色按键仅在部分键盘上存在。

"Digit2""KeyQ"书写系统按键,在美国地区激活时生成 "2""q",在法国地区则生成 "é""a"

每个按键标注的名称为分配给该按键的 code。编码名称尽量以美式键盘该位置上的按键命名(即,遵循美式键盘布局),与 [USB-HID] 命名约定一致。美式键盘没有的按键则采用英式或日式布局中的命名。

注意:图中出现了两个 "Backslash" 键:一个是101键布局中D行末尾的大按键,另一个是在102、104和106键布局C行的 "Quote""Enter" 之间的小按键。一个键盘布局只会出现一个 "Backslash" 键。

字母数字区书写系统按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"Backquote" `~(美式键盘)。日文键盘为 半角/全角/漢字hankaku/zenkaku/kanji
"Backslash" 用于美式键盘 \|(101键布局),也用于102、104、106布局C行上 "Enter 之间的按键。英式键盘(102)标签为 #~
"BracketLeft" [{(美式键盘)。
"BracketRight" ]}(美式键盘)。
"Comma" ,<(美式键盘)。
"Digit0" 0)(美式键盘)。
"Digit1" 1!(美式键盘)。
"Digit2" 2@(美式键盘)。
"Digit3" 3#(美式键盘)。
"Digit4" 4$(美式键盘)。
"Digit5" 5%(美式键盘)。
"Digit6" 6^(美式键盘)。
"Digit7" 7&(美式键盘)。
"Digit8" 8*(美式键盘)。
"Digit9" 9((美式键盘)。
"Equal" =+(美式键盘)。
"IntlBackslash" 位于左 ShiftZ 之间。英式键盘标签为 \|
"IntlRo" 位于 / 和右 Shift 之间。日文键盘标签为 \ろro)。
"IntlYen" 位于 =Backspace 之间。日文键盘标签为 ¥yen),俄文键盘标签为 \/
"KeyA" 美式键盘 a;AZERTY(如法语)为 q
"KeyB" b(美式键盘)。
"KeyC" c(美式键盘)。
"KeyD" d(美式键盘)。
"KeyE" e(美式键盘)。
"KeyF" f(美式键盘)。
"KeyG" g(美式键盘)。
"KeyH" h(美式键盘)。
"KeyI" i(美式键盘)。
"KeyJ" j(美式键盘)。
"KeyK" k(美式键盘)。
"KeyL" l(美式键盘)。
"KeyM" m(美式键盘)。
"KeyN" n(美式键盘)。
"KeyO" o(美式键盘)。
"KeyP" p(美式键盘)。
"KeyQ" 美式键盘 q;AZERTY(如法语)为 a
"KeyR" r(美式键盘)。
"KeyS" s(美式键盘)。
"KeyT" t(美式键盘)。
"KeyU" u(美式键盘)。
"KeyV" v(美式键盘)。
"KeyW" 美式键盘 w;AZERTY(如法语)为 z
"KeyX" x(美式键盘)。
"KeyY" 美式键盘 y;QWERTZ(如德语)为 z
"KeyZ" 美式键盘 z;AZERTY(如法语)为 w,QWERTZ(如德语)为 y
"Minus" -_(美式键盘)。
"Period" .>(美式键盘)。
"Quote" '"(美式键盘)。
"Semicolon" ;:(美式键盘)。
"Slash" /?(美式键盘)。

3.1.2. 功能按键

功能按键不与后文描述的 功能键混淆)是指字母数字区中,为所有地区通用的编辑功能提供支持的按键(如 ShiftTabEnterBackspace)。除少数情况外,这些按键不随键盘布局而改变意义。

标准功能按键集合
标准功能按键集合,在字母数字区

"AltRight"(绿色高亮)是唯一一个在不同地区生成不同 功能按键key 值。有些地区生成 "Alt",有些则为 "AltGraph"

字母数字区功能按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"AltLeft" AltOption
"AltRight" AltOption。在许多键盘布局上标签为 AltGr
"Backspace" Backspace。苹果键盘标签为 Delete
"CapsLock" CapsLock
"ContextMenu" 应用程序上下文菜单键,通常位于右 Meta 键和右 Control 键之间。
"ControlLeft" Control
"ControlRight" Control
"Enter" Enter。苹果键盘标签为 Return
"MetaLeft" Windows、Command 或其它操作系统符号键
"MetaRight" Windows、Command 或其它操作系统符号键
"ShiftLeft" Shift
"ShiftRight" Shift
"Space" (空格)
"Tab" Tab

部分键盘(特别是日文和韩文键盘)空间键缩小以便在底行(A行)容纳更多附加按键。这些按键通常用于切换当前输入模式。注意即使部分日文和韩文按键占据键盘同一物理位置,其 code 值是不同的。

不同键盘功能键底行对比
不同键盘功能按键底行对比
日文与韩文键盘特有功能按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"Convert" 日文:変換henkan
"KanaMode" 日文:カタカナ/ひらがな/ローマ字katakana/hiragana/romaji
"Lang1" 韩文:HangulMode 한/영han/yeong
日文(Mac键盘):かなkana
"Lang2" 韩文:Hanja 한자hanja
日文(Mac键盘):英数eisu
"Lang3" 日文(文字处理键盘):Katakana
"Lang4" 日文(文字处理键盘):Hiragana
"Lang5" 日文(文字处理键盘):Zenkaku/Hankaku
"NonConvert" 日文:無変換muhenkan

苹果键盘底行省略了一些按键,剩余按键也按不同顺序排列。

3.2. 控制区

控制区是键盘上的一组(通常为6个)用于导航和编辑操作的按键,例如 HomePageUpInsert

标准控制区布局
标准控制区布局
控制区按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"Delete" 。前向删除键。注意苹果键盘主键区标签为 Delete 的键应编码为 "Backspace"
"End" End
"Help" Help。标准PC键盘上无此键。
"Home" Home
"Insert" InsertIns。苹果键盘上无此键。
"PageDown" Page DownPgDn
"PageUp" Page UpPgUp

苹果键盘上的 code Fn 键编码详见功能区

3.3. 方向区

方向区包含4个方向按键。按键通常以“倒T型”排列。

标准方向区布局
标准方向区布局
方向区按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"ArrowDown"
"ArrowLeft"
"ArrowRight"
"ArrowUp"

3.4. 数字小键盘区

数字小键盘区是指键盘上如计算器或手机一般以网格排列的一组按键。该区域包含数字及数学运算符按键,通常还有NumLock键,可切换按键的数字功能与模拟控制区方向区功能。笔记本与紧凑型键盘常因空间有限而省略这些键。

数字键区数字小键盘区的另一种叫法。

标准数字小键盘区布局
标准数字小键盘区布局

本节所列code值也适用于以网格排列数字按键的手机数字键区及遥控设备。

标准手机数字键布局
标准手机数字键区布局

标准数字小键盘区有时会扩展出括号、运算符、十六进制符号或计算器功能(如Backspace)等附加按键,常见扩展键如下表:

数字小键盘区按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"NumLock" Mac平台应使用"NumLock"编码数字键区Clear键。
"Numpad0" 键盘0 Ins;手机或遥控器0
"Numpad1" 键盘1 End;手机或遥控器11 QZ
"Numpad2" 键盘2 ↓;手机或遥控器2 ABC
"Numpad3" 键盘3 PgDn;手机或遥控器3 DEF
"Numpad4" 键盘4 ←;手机或遥控器4 GHI
"Numpad5" 键盘5;手机或遥控器5 JKL
"Numpad6" 键盘6 →;手机或遥控器6 MNO
"Numpad7" 键盘7 Home;手机或遥控器7 PQRS7 PRS
"Numpad8" 键盘8 ↑;手机或遥控器8 TUV
"Numpad9" 键盘9 PgUp;手机或遥控器9 WXYZ9 WXY
"NumpadAdd" +
"NumpadBackspace" 见于Microsoft自然键盘。
"NumpadClear" CAC(全部清除)。适用于拥有独立Clear而非NumLock键的数字键区。Mac上该Clear键编码始终为"NumLock"
"NumpadClearEntry" CE(清除当前输入)
"NumpadComma" ,(千位分隔符)。如巴西地区分隔符为“.”时,该键可输出.
"NumpadDecimal" . Del。如巴西等地区小数分隔符为“,”时,该键可输出,
"NumpadDivide" /
"NumpadEnter"
"NumpadEqual" =
"NumpadHash" 手机及遥控器#键,常位于9下方、0右侧。
"NumpadMemoryAdd" M+ 加当前条目到内存。
"NumpadMemoryClear" MC 清除内存值。
"NumpadMemoryRecall" MR 用内存值替换当前输入。
"NumpadMemoryStore" MS 把当前输入存入内存,替换原值。
"NumpadMemorySubtract" M- 当前条目减去内存值。
"NumpadMultiply" 键盘*,适用于具备+-*/功能的数字键区。
手机与遥控器*"NumpadStar"
"NumpadParenLeft" ( 见于Microsoft自然键盘。
"NumpadParenRight" ) 见于Microsoft自然键盘。
"NumpadStar" 手机及遥控器*键,常位于7下方、0左侧。数字键区用"NumpadMultiply"
"NumpadSubtract" -

数字小键盘区有未列出的按键,则code可用“Numpad”加适当描述创建。

3.5. 功能区

功能区分布于键盘顶部(字母数字区上方),包含功能键和少量特殊按键(如EscPrint Screen)。

功能键是指标签为F1F12的按键,应用或操作系统可分配其自定义功能或动作。

部分键盘(尤其笔记本等便携设备)上的功能键F1F12)默认分配了其他主要功能(如亮度调节、音量控制),需配合Fn键才可作为功能键。不同厂商分配功能不一,因此code始终设为功能键名称。

功能区按键的 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"Escape" Esc
"F1" F1
"F2" F2
"F3" F3
"F4" F4
"F5" F5
"F6" F6
"F7" F7
"F8" F8
"F9" F9
"F10" F10
"F11" F11
"F12" F12
"Fn" Fn 通常为硬件键,不会单独生成编码。大多数键盘该键不位于功能区,但为便于归类归此。
"FnLock" FLockFnLock。功能锁键,见于Microsoft自然键盘。
"PrintScreen" PrtScr SysRqPrint Screen
"ScrollLock" Scroll Lock
"Pause" Pause Break

如键盘提供超过12个功能键,则code按照上述模式,“F”加上功能键编号使用,如"F13""F14""F15"等。

苹果键盘功能区可能有EjectPower键,其code编码见§ 3.6 媒体按键

3.6. 媒体按键

媒体按键是增加在键盘上,提供媒体相关功能(如播放、暂停或音量控制)的附加按键。这些按键在键盘上没有标准位置,不同厂商的键盘按键排列或按键集合可能完全不同。

媒体按键常在外观上区别于普通输入按键,可能嵌入键盘。

在笔记本键盘上,这些按键常与功能键合并,此时媒体按键是该键的主功能,而功能键需同时按下Fn键才可实现。在这种情况下,code 应设置为对应的功能键"F1" ... "F12")。 合并时按键编码取自功能键,因为媒体按键在不同键盘上无统一名称。

媒体按键 code 值列表。
KeyboardEvent code 可选 说明(非规范性)
"BrowserBack" 部分笔记本将该键放在左侧。
"BrowserFavorites"
"BrowserForward" 部分笔记本将该键放在右侧。
"BrowserHome"
"BrowserRefresh"
"BrowserSearch"
"BrowserStop"
"Eject" Eject。苹果键盘部分放在功能区
"LaunchApp1" 有时标签为我的电脑
"LaunchApp2" 有时标签为计算器
"LaunchMail"
"MediaPlayPause"
"MediaSelect"
"MediaStop"
"MediaTrackNext"
"MediaTrackPrevious"
"Power" 苹果键盘部分功能区有此键,代替Eject
"Sleep"
"AudioVolumeDown"
"AudioVolumeMute"
"AudioVolumeUp"
"WakeUp"

3.7. 传统、非标准及特殊按键

这些按键在现代标准键盘上已不常见,仅供参考。

传统修饰按键 code 值列表。
KeyboardEvent code 可选 说明(非规范性)
"Hyper"
"Super"
"Turbo"

传统进程控制按键 code 值列表。
KeyboardEvent code 可选 说明(非规范性)
"Abort"
"Resume"
"Suspend"

传统编辑按键 code 值列表。
KeyboardEvent code 可选 说明(非规范性)
"Again" Sun USB键盘有此键。
"Copy" Sun USB键盘有此键。
"Cut" Sun USB键盘有此键。
"Find" Sun USB键盘有此键。
"Open" Sun USB键盘有此键。
"Paste" Sun USB键盘有此键。
"Props" Sun USB键盘有此键。
"Select" Sun USB键盘有此键。
"Undo" Sun USB键盘有此键。

以下按键可能出现在非标准国际键盘上。

国际键盘专用按键 code 值列表。
KeyboardEvent code 可选 说明(非规范性)
"Hiragana" 部分日语文字处理键盘专用ひらがな键。
"Katakana" 部分日语文字处理键盘专用カタカナ键。

最后,下列 code 值仅当对应按键无法对应本规范其他地方给出的任何 code 值时才能使用。 此值适用于按键排列方式与物理键盘不同的虚拟键盘。

特殊 code 值列表。
KeyboardEvent code 必需 说明(非规范性)
"Unidentified" 当规范内所有其他值都不适用时,使用此code。

只有无法判定按键code时,规范实现才可用"Unidentified"作为按键编码。仅返回此code值不代表实现合规。

4. 可访问性

本规范仅定义了可用于code属性的一组值,不引入任何需关注可访问性的功能。

已完成FAST清单,且无可适用项。

关于FAST清单此项的说明:“如果技术提供了国际化支持”。本规范本身为键盘定义了code值,并提供了如“ShiftLeft”、“ControlRight”、“AltGr”或“KeyQ”等人类可读名称。

这些特殊键值定义为人类可读字符串,便于识别特殊按键。虽然这些值并非直接面向终端用户,也可以直接显示给用户。应用如需展示这些值,需要判断是否翻译这些字符串(例如将“Backspace”显示为法语“Suppr. arrière”)。

5. 国际化

已完成国际化清单,并有如下补充说明:

6. 安全注意事项

已完成安全与隐私自查问卷,备注如下:

关于code的安全注意详见[UIEvents]规范。

7. 隐私注意事项

已完成安全与隐私自查问卷,备注如下:

关于code的隐私注意详见[UIEvents]规范。

8. 致谢

感谢下列WebApps工作组成员为规范制定过程贡献了重要内容:

Gary Kacmarcik(Google),Masayuki Nakano(Mozilla)

规范性

文档约定

规范性要求通过描述性断言和 RFC 2119 术语组合表达。本规范正文中的关键字 “MUST(必须)”、“MUST NOT(不得)”、“REQUIRED(要求)”、“SHALL(应)”、“SHALL NOT(不应)”、“SHOULD(建议)”、“SHOULD NOT(不建议)”、“RECOMMENDED(推荐)”、“MAY(可以)” 和 “OPTIONAL(可选)” 的解释如 RFC 2119 所述。不过,为了便于阅读,这些词在本规范中不全部用大写字母。

除明确标注为非规范性内容、示例和注记的章节外,本文规范的全部内容为规范性。[RFC2119]

规范中的示例以“例如”开头,或通过 class="example" 与规范性文本区分,例如:

这是一个信息性示例。

信息性注记以“注”开头,并通过 class="note" 与规范性文本区分,例如:

注,这是一个信息性注记。

合规算法

作为算法一部分,以祈使语气表达的要求(如“去除所有前导空格”或“返回 false 并中止这些步骤”),应结合算法开头出现的关键字(如 must、should、may 等)进行解释。

以算法或具体步骤表述的合规要求,可以以任意方式实现,只要最终结果是等效的。本规范定义的算法特意易于理解,并非一定高效。鼓励实现者进行优化。

索引

本规范定义的术语

参考定义的术语

参考文献

规范性引用

[INFRA]
Anne van Kesteren; Domenic Denicola. Infra Standard. 活标准。URL: https://infra.spec.whatwg.org/
[RFC2119]
S. Bradner. 在 RFC 中用于表示要求级别的关键字。1997年3月。最佳现行做法。URL: https://datatracker.ietf.org/doc/html/rfc2119
[UIEvents]
Gary Kacmarcik; Travis Leithead. UI Events。2024年9月7日。工作草案。URL: https://www.w3.org/TR/uievents/
[UIEvents-key]
Travis Leithead; Gary Kacmarcik. UI Events KeyboardEvent key Values。2023年5月30日。候选推荐。URL: https://www.w3.org/TR/uievents-key/

信息性引用

[ISO9995-1]
ISO/IEC 9995-1:2009 信息技术——文本和办公系统用键盘布局——第1部分:键盘布局通用原则。URL: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51645
[ISO9995-8]
ISO/IEC 9995-8:2009 信息技术——文本和办公系统用键盘布局——第8部分:数字键区字母分配。URL: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51641
[USB-HID]
USB HID 用法表 1.12。URL: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf