1. 简介
本文档指定了一组有效的 键属性值 集合,它们 必须 在 KeyboardEvent
事件的 key
属性中使用,以对键的含义进行编码。
请注意,特定键的 key
值将根据用户当前的区域设置而有所不同。
有关仅基于键在键盘上的物理位置而不因区域设置而变化的值,请参阅 [UIEvents-Code] 中描述的 code
。
1.1. 格式规约
本规范遵循以下规约:-
打印在 键帽 上的键显示为
↓
,=
或Q
。这用于从用户的角度引用键,而不考虑生成的KeyboardEvent
事件中的key
(键) 和code
(键码)。 -
代表字符的字形(Glyphs)显示为:
"a"
,"é"
,"ر"
,"字"
。 -
Unicode( [Unicode] )码点( code points ) 显示为:
U+003D
。 -
有效的 键属性值 ,即
KeyboardEvent
的key
属性值显示为:"ArrowDown"
,"="
,"q"
或"Q"
。 -
有效的 按键码属性值 ,即
KeyboardEvent
的code
属性值显示为:"ArrowDown"
,"Equal"
或"KeyQ"
。
在 UIEvents 规范本体的格式规约中,也对键帽,字符,码点和键(key), 码(code)的属性值进行了说明,但是渲染显示不一样,本规范中的渲染会更显眼。
key
而一个是 code
,在 [UIEvents-key] 中也经常出现
"键值"的说法,也就是按键的值,现在需要明确一点: "键值"表示的是 key
的属性值 ,在 [UIEvents] 系列规范中都是如此。如果在翻译时要指代 code
,会说明成 code
值,键码值,按键码属性值等。 2. 键盘事件 key
属性值
键属性值 被定义为包含如下内容的一个 DOMString
:
一个 键属性值 必须 始终包含属于这两个类别之一的值(即使该值为 "Unidentified"
)。
键盘上的多个键可以生成相同的 键属性值 。例如,在一个 EN-US 键盘布局上,
数字 小键盘 上的键(例如,小键盘 1
键)
将生成与其非小键盘一对一(例如,键盘主要部分 [字母数字区域] 中的 1
键)相同的键属性值。 KeyboardEvent
的 location
属性可用于确定按键是否源自数字 小键盘 。
2.1. Unicode 值
几乎每个 Unicode 字符都可以用作有效字符 键属性值 , 但是有一小部分 Unicode 字符集合 不得 使用。 我们引入了 键字符串 的概念,以标识适合用作 键属性值 的 Unicode 字符集合。
键字符串 (key string)是一个字符串,包含0个或1个 非控制字符 ("基础"字符),后跟0个或多个 组合字符 。字符串 必须 采用规范化形式 C (Normalized Form C , NFC),如 [UAX15] 中所述。
非控制字符 (non-control character) 是任何有效的 Unicode 字符,但排除那些属于"其他,控制(Other,Control)" ("Cc")一般类别(General Category)的字符。
组合字符 (combining character) 是"标记、间距组合(Mark,Spacing Combining)"("Mc")一般类别 (General Category)中的,或具有非零组合类别(non-zero Combining Class)的任何有效 Unicode 字符。
总之,本节对于非控制字符,组合字符的定义是为了确定键字符串在 Unicode 中使用的字符范围以及字符串的组合形式。这样就保证了 键属性值 的字符串的确定性。
-
"a"
,"A"
,"b"
,"B"
, ...,"å"
,"é"
,"ü"
,"ñ"
-
"@"
,"%"
,"$"
,"*"
, ...,"0"
,"1"
,"2"
-
"あ"
,"日"
,"中"
, ...,"一"
,"二"
,"三"
-
"ا"
,"ب"
,"ة"
,"ت"
, ...,"١"
,"٢"
,"٣"
-
"а"
,"б"
,"в"
,"г"
-
"±"
,"ʶ"
,"϶"
,"൹"
,"℉"
Tab
和 Enter
(参见 § 2.1.1 控制字符 ),所有非控制空白
Unicode 字符都被视为有效的 键字符串 。
-
" "
=U+0020
空格 (Space) -
" "
=U+00A0
无中断空格 (No-Break Space) -
" "
=U+2009
细空格 (Thin Space) -
" "
=U+3000
表意空格 (Ideographic Space)
-
"ô"
=U+00F4
[ 不是 (NOT) "o" + " ̂" (U+006F
U+0302
),因为如果可以,则必须使用预组字符(pre-composed characters)] -
"ḍ̇"
=U+1E0D
+U+0307
[ 不是 (NOT) "d" + " ̣" + " ̇" (U+0064
U+0323
U+0307
),因为如果可用, 则必须使用预组字符(pre-composed characters),并且 不是 (NOT) "ḋ" + " ̣" (U+1E0B
U+0323
),因为在用预组字符(pre-composed characters) 替换之前必须对重音符号(accents)进行排序]
预组字符(precomposed character)是 Unicode 字符集中的实体, 定义为一个或多字符序列。预组字符可以表示一个字母与一个附加符号,例如—— 维基百科 预组字符"é"
(小写拉丁字母e带一个尖音符)。 技术上,"é"
(U+00E9)是一个字符, 可以分解为 Unicode 等效字符串"e"
(U+0065)与尖音符 " ́" (U+0301)。
这里给出了这些组合字符的具体 Unicode 编码,并对这些编码的合理性进行解释 ——
"ḍ̇"
的编码是用预组字符 "ḍ"
和 单字符
" ̇" 组合而成,因为不存在这三个符号的预组字符,
同时也说明了组合字符时,单字符排序的问题。以上非引用说法不一定准确,请参阅 [UAX15] 标准以获取准确信息。
2.1.1. 控制字符
支持 Unicode "Cc" 一般类别(General Category)中的少量字符作为 命名键属性值 这些命名值如下所示: A small number of characters in the Unicode "Cc" General Category are supported as 命名键属性值. These named values are as follows:
2.2. 选择 key
属性值
字形修饰键 (glyph modifier key)
是其中的任何一个修饰符键: Shift
, CapsLock
或 AltGr
。
2.2.1. 选择一个适合的键属性值
要 选择一个适合的键属性值 以保存在KeyboardEvent
的 key
属性中,请运行以下步骤:
-
声明一个 DOMString 类型的 key 变量,初始化为
"Unidentified"
。 -
如果对于这个按键事件,存在一个适合的 命名键属性值 ,那么
-
赋值 key 为那个 命名键属性值.
-
-
否则,如果按键事件生成了一个有效的 键字符串 ,那么
-
赋值 key 为那个 键字符串 值.
-
-
否则,如果按键事件关联了除了 字形修饰键 之外的任何修饰符按键,那么
-
将 key 作为此按键事件的 键属性值 返回。
在标准的美国键盘上,按键键帽标签为 Q
的 键属性值 为 "q"
(如果同时按住 Shift
字形修饰键 ,则为 "Q"
)。
"q"
,源于上面步骤的第 3 步。
另外,这里配合 Shift
将键入字符 "q" 修饰成大写的,
是在大写锁定状态是默认关闭的情况下(没有 字形修饰键 CapsLock
的影响)。 在标准的美国键盘上, Control
+ Q
组合键的 键属性值 为 "q"
。
在使用右手德沃夏克式键映射的美国键盘上,按键键帽标签为 Q
的 键属性值 为 "5"
(如果同时按住 Shift
字形修饰键 ,则为 "%"
)。
在与前面的示例相同的德沃夏克式的美国键盘布局上,Control
+ Q
组合键的 键属性值 为 "5"
。
在一个 Bolnagri 式键盘布局上,按键键帽标签为 Q
的 键属性值 是一个 包含单个 Unicode 字符 —— U+200C
的字符串
(显示为 ZWNJ 或零宽度断字符(Zero Width Non-Joining Space))
U+200B
: 用于较长单词的换行分隔; 零宽度断字符 (Zero-width non-joiner) U+200C
: 用于阿拉伯文,德文,印度语系等文字中,
阻止会发生连字的字符间的连字效果。查阅维基百科 Zero-width non-joiner 以获取更多信息,
如下是零宽度断字符在键盘上的显示:
在具有标准法语映射的法式 PC 键盘上, ^
键充当组合扬抑音符的死键( dead key )。这个键盘事件的 键属性值 是 "Dead"
。
同样在具有标准法语映射的法式键盘上,é
键(对应于美国键盘上的 2
键)的 键属性值 是 "é"
( U+00E9
)。
在具有标准韩语映射的韩式 PC 键盘上, Ha/En
键的主要功能是在韩语和英语输入之间切换(输入模式切换)。
这个按键有一个作为 命名键属性值 的记录,即 "HangulMode"
,
因此应将其用作 键属性值 。
3. 命名 key
属性值
命名键属性值 (named key attribute value) 是在本规范的本节中的任何一个表的 键属性值 列中给定的任何值。
定义在这里的 命名键属性值 是部分基于 Java 平台(标准版6 API规范 [KeyEventJava] )的 java.awt.event.KeyEvent
接口、和
Microsoft.NET Framework 4.0 Class Library [KeysNet] 中的按键枚举
(System.Windows.Forms.Keys
) 的键码集(keycodes)。
本规范中的其他信息来自 Microsoft 的 WM_APPCOMMAND messages [WmAppCommand] ,
以及本文档中提到的其他更专业的规范。
KeyboardEvent
接口的一个符合规范的实现 必须 支持在 key
属性中使用的这组值,
但是并非所有值都可以在所有平台或设备上使用。
本规范的未来版本可能将新增的 key
值包含此处,
这些键值是那些自本规范发布以来(在实现中)又变得很常见的键值。
注意:虽然已经尽一切努力使该值列表尽可能完整,但随着新输入设备的引入, 需要定期定义新值。与其允许用户代理定义自己的 命名键属性值 (这些属性值很难在多个用户代理机构之间统一), 应当 提供一种归档方法来更新这个规范, 以便可以检测到这些漏洞(bugs)。
3.0. 翻译说明
按键的 key
属性值集合不像按键码(code)值,
它不与物理按键一一对应,修饰键可能改变这些按键的键值,要对应的设备繁多,
一个按键可能拥有多个键值,所以在翻译时难免理解不清楚,
特别是有关多媒体,媒体控制器,电视按键的键值部分。
而且本规定定义的很多键值来源于其它电子设备技术规范,
这进一步增加了它的翻译难度,
故而在后半部分的许多按键的典型用途列中使用机器翻译,
但是 会在键值名称后加上原始的英文按键名称 ,例如,
"模拟地面流传(Analog Terrestrial)","切换到部件输入(component input) #1"等。
3.1. 特殊按键
如果遇到一个无法识别的按键,实现必须 必须 使用 "Unidentified"
作为 键属性值 。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Unidentified"
| 是 | 当一个实现由于硬件、平台或软件限制而无法识别另一个键值时 ,会使用此键值。 |
当实现无法确定 键属性值 时,符合本规范的实现 必须 只能使用 "Unidentified"
作为键属性值。
但仅使用(Exposing)该值 不得 表明实现符合本规范。
3.2. 修饰键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Alt"
| 是 | Alt (Alternative,转换)键。此键启用转换修饰符功能,用于解译(interpreting) 并行或连续的键盘输入。 此键值也见于苹果的 Option 键。 |
"AltGraph"
| 是 | 转换字形(Alternate Graphics, AltGr 或 AltGraph )键。此键用于启用 ISO 3 级上档(shift)修饰符功能
(标准 Shift 键是级别 2 的修饰键)。参见 [ISO9995-1] 。
|
"CapsLock"
| 是 | Caps Lock (大写锁定)键。触发(Toggle) 大写字符锁定功能以解译(interpreting)后续键盘输入事件。
|
"Control"
| 是 | Control 或 Ctrl 键, 此键启用控制修饰符功能,用于解译(interpreting)
并行或连续的键盘输入。
|
"Fn"
| 否 | 功能(Function)开关 Fn 键。与另一个 功能键 同时激活该键会将 功能键 的键值更改为备用字符(alternate character)或其他功能。 Fn 键通常在键盘硬件中直接处理,并且通常不生成按键事件。
|
"FnLock"
| 否 | 功能锁定( FnLock 或 F-Lock )键。 激活此键可切换键盘模式,将 功能键 的值更改为备用字符
(alternate character)或其他功能。 FnLock 通常在键盘硬件中直接处理,并且通常不生成键事件。
|
"Meta"
| 是 | Meta 键,此键启用变换修饰符功能,以解译 (interpreting)并行或连续的键盘输入。此键值用于 Windows 徽标键和苹果的 Command 或 ⌘ 键。
|
"NumLock"
| 是 | NumLock 或数字锁定(Number Lock)键,用于触发 小键盘 的功能模式,以解译(interpreting)连续的键盘输入。
|
"ScrollLock"
| 是 | Scroll Lock (滚动锁定)键, 用于在滚动和光标移动模式之间切换。
|
"Shift"
| 是 | Shift 键,此键启用上档(shift)修饰符功能,以解译 (interpreting)并行或连续的键盘输入。
|
"Symbol"
| 否 | 符号(Symbol)修饰符键(用于某些虚拟键盘)。 |
"SymbolLock"
| 否 | 符号锁定(Symbol Lock)键。 |
遗留修饰键:
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Hyper"
| 否 | Hyper 键。
|
"Super"
| 否 | Super 键.
|
3.3. 空格键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Enter"
| 是 | Enter 或 ↵ 键, 用于激活当前选择或接受当前输入。此键值也用做 Return (在 Macintosh 数字板 上)键。此键值也用做 Android KEYCODE_DPAD_CENTER 。
|
"Tab"
| 是 | 水平制表(Horizontal Tabulation) Tab 键。
|
空格或空格键编码为 " "
。
3.4. 导航按键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"ArrowDown"
| 是 | 下箭头键,用于向下导航或遍历。(KEYCODE_DPAD_DOWN )
|
"ArrowLeft"
| 是 | 左箭头键,用于向左导航或遍历。(KEYCODE_DPAD_LEFT )
|
"ArrowRight"
| 是 | 右箭头键,用于向右导航或遍历。(KEYCODE_DPAD_RIGHT )
|
"ArrowUp"
| 是 | 上箭头键,用于向上导航或遍历。(KEYCODE_DPAD_UP )
|
"End"
| 是 | 结束(End)键,配合键盘输入使用,用于跳转到输入内容的末尾 (KEYCODE_MOVE_END )。
|
"Home"
| 是 | 起始(Home)键,配合键盘输入使用,用于跳转到输入内容的开头 ( )。对于手机 Home 键
(用于进入手机主屏幕),请使用 "GoHome" 。
|
"PageDown"
| 是 | 向下翻页(Page Down)键,向下滚动或显示下一页内容。 |
"PageUp"
| 是 | 向上翻页(Page Up)键, 向上滚动或显示上一页内容。 |
3.5. 编辑键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Backspace"
| 是 | 回退(Backspace)键。在 MacOS 键盘上, 该键值也对应的按键键帽标签为 Delete 。
|
"Clear"
| 否 | 删除当前选定的输入。 |
"Copy"
| 否 | 复制当前选择对象。 (APPCOMMAND_COPY )
|
"CrSel"
| 否 | 光标选择(Cursor Select (Crsel))键。 |
"Cut"
| 否 | 剪切当前选择对象。 (APPCOMMAND_CUT )
|
"Delete"
| 是 |
删除(Delete (Del))键。 当被 Fn 键修饰时,在 MacOS 键盘上,
该键值对应的按键键帽标签为 Delete 。
|
"EraseEof"
| 否 | 擦除到字段末尾(Erase to End of Field)键。 该键删除从当前光标位置到当前字段末尾的所有字符。 |
"ExSel"
| 否 | 展开所选内容(Extend Selection (Exsel))键。 |
"Insert"
| 是 |
插入(Insert (Ins))键, 在文本模式之间切换以进行插入或覆写 (KEYCODE_INSERT )。
详见 回车键和编辑键 中的插入键。
|
"Paste"
| 否 | 粘贴(Paste)键。 (APPCOMMAND_PASTE )
|
"Redo"
| 否 | 重做上一个操作。 (APPCOMMAND_REDO )
|
"Undo"
| 否 | 撤消上一个操作。 (APPCOMMAND_UNDO )
|
3.6. UI(用户界面)按键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Accept"
| 否 | 接收(Accept,Commit,OK,提交,确定)键。 接收当前选项结果或接收当前输入法下序列的转换结果。 |
"Again"
| 否 | 再次(Again)键,重做或重复一个动作。 |
"Attn"
| 否 | 注意(Attention,Attn)键。 |
"Cancel"
| 否 | 取消(Cancel)键。 |
"ContextMenu"
| 是 | 显示应用程序的上下文菜单。该键通常位于右侧 Meta 键和右侧 Control 键之间。
|
"Escape"
| 是 | Esc 键。该键最初用于生成转义字符(Escape character)序列,但现在更常用于退出或"逃离"当前上下文,
例如关闭对话框或退出全屏模式。
|
"Execute"
| 否 | 执行(Execute)键。 |
"Find"
| 否 | 打开"查找(Find)"对话框。(APPCOMMAND_FIND )
|
"Help"
| 是 | 打开帮助对话框或切换帮助信息的显示(display)。 ( , )
|
"Pause"
| 是 |
暂停当前状态或应用程序(视情况而定)。
不要将此值用于媒体控制器(media controller)上的 |
"Play"
| 否 |
继续或恢复当前状态或应用程序(视情况而定)。
不要将此值用于媒体控制器(media controller)上的 |
"Props"
| 否 | 属性(properties ,Props)键。 |
"Select"
| 否 | 选择(Select)键。 |
"ZoomIn"
| 否 | 放大(ZoomIn)键。(KEYCODE_ZOOM_IN )
|
"ZoomOut"
| 否 | 缩小(ZoomOut)键。(KEYCODE_ZOOM_OUT )
|
3.7. 设备(Device)按键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"BrightnessDown"
| 否 | 降低亮度(Brightness Down)键。 通常用于控制显示器的亮度。 (KEYCODE_BRIGHTNESS_DOWN )
|
"BrightnessUp"
| 否 | 提高亮度(Brightness Up)键。 通常用于控制显示器的亮度。 (KEYCODE_BRIGHTNESS_UP )
|
"Eject"
| 否 | 将可移动媒介(removable media)切换到弹出 (打开)和插入(关闭)状态。(KEYCODE_MEDIA_EJECT )
|
"LogOff"
| 否 | 注销(LogOff)键。 |
"Power"
| 否 |
切换电源状态(电源开关)。(KEYCODE_POWER )
注意: 某些设备可能不会将此键暴露给操作环境。 |
"PowerOff"
| 否 | PowerOff 键。 有时候键帽标签也是 PowerDown 。
|
"PrintScreen"
| 是 | Print Screen 或 SnapShot (截屏)键, 启动屏幕打印的功能。
|
"Hibernate"
| 否 | 睡眠(Hibernate)键。此键将计算机的当前状态保存到磁盘, 以便(之后开机时)对其进行恢复。在这之后计算机会停止工作。 |
"Standby"
| 否 | 待机(Standby)键。 此键可关闭显示器并将计算机置于低功耗模式,
但计算机不会完全停止工作。有时改键值对应的键帽标签为 Suspend 或 Sleep 键。( )
|
"WakeUp"
| 否 | 唤醒(WakeUp)键。 (KEYCODE_WAKEUP )
|
3.8. 输入法和组合(IME and Composition)键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"AllCandidates"
| 否 | 所有候选(All Candidates)键,用于启动多候选模式。 |
"Alphanumeric"
| 否 | 字母数字(Alphanumeric)键。 |
"CodeInput"
| 否 | 码元输入(Code Input)键,用于启动"码元输入"模式, 以允许通过字符的码点(code points)输入字符。 |
"Compose"
| 否 |
组合(Compose)键,在 X Window 系统上也称为 Multi_key。该键的作用方式类似于死键( dead key ),
切换到一种模式,在该模式下,
随后的按键输入组合在一起产生一个不同的字符。
实际上就是生成了预组字符(precomposed character),参见 例子 3
的 非规范注释 。
|
"Convert"
| 否 |
変換 (Convert)键,用于转换当前输入法下的序列。
変換 属于日式标准 "106" 键盘布局上的按键,查阅 "Convert" 以获取更多信息。 |
"Dead"
| 否 | 一个死键组合(dead key combining)键。 它可以是任何键盘布局中的任何组合键。例如,在使用法语映射的
PC/AT 法语键盘上,如果没有激活(activiated)任何修饰键,
该键的键值是 U+0302 组合扬抑音符(COMBINING CIRCUMFLEX
ACCENT)。在另一种布局中,这可能是不同的 unicode 组合键。对于需要区分特定组合字符的应用程序,关联的 compositionupdate 事件的 data 属性提供特定的键值。
|
"FinalMode"
| 否 | 一些亚洲键盘上使用最终模式(Final Mode Final )键,用于启用 IMEs 的最终模式。
|
"GroupFirst"
| 否 | 切换到第一个字符组。(ISO/IEC 9995) |
"GroupLast"
| 否 | 切换到最后一个字符组。(ISO/IEC 9995) |
"GroupNext"
| 否 | 切换到下一个字符组。(ISO/IEC 9995) |
"GroupPrevious"
| 否 | 切换到上一个字符组。(ISO/IEC 9995) |
"ModeChange"
| 否 | 模式切换(Mode Change)键,以在 IMEs 不同的输入模式之间循环切换。 |
"NextCandidate"
| 否 | 下一个候选功能(Next Candidate function)键。 |
"NonConvert"
| 否 |
無変換 (NonConvert ,即"不变换") 键, 用于接收当前输入法下的在 IMEs 中不转换(without conversion)
的序列结果。
無変換 属于日式标准 "106" 键盘布局上的按键,查阅 "NonConvert" 以获取更多信息。 |
"PreviousCandidate"
| 否 | 上一个候选功能(Previous Candidate function)键。 |
"Process"
| 否 | 步骤(Process)键。 |
"SingleCandidate"
| 否 | 单一候选功能(Single Candidate function)键。 |
韩语键盘专用键:
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"HangulMode"
| 否 | 韩语(Hangul,Korean characters,朝鲜语字符)模式键, 用于在韩语和英语输入模式之间切换。 |
"HanjaMode"
| 否 | 朝鲜汉字 (Korean characters) 模式键。 |
"JunjaMode"
| 否 | Junja (Korean characters) 模式键。 |
日语键盘专用键:
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Eisu"
| 否 | 英数 (Eisu)键。 此键可以关闭输入法 (转为英文字母输入),但其用途由当前输入法定义。(KEYCODE_EISU )
|
"Hankaku"
| 否 | 半角字符(Hankaku,Half-Width Characters)键。 |
"Hiragana"
| 否 | 平假名(Hiragana) (日语假名字符,Japanese Kana characters)键。 |
"HiraganaKatakana"
| 否 | 平假名/片假名(Hiragana/Katakan)切换键。 (KEYCODE_KATAKANA_HIRAGANA )
|
"KanaMode"
| 否 | 假名模式(假名锁定,Kana Lock)键。 此键用于进入平假名模式(通常是从罗马字模式切换来) |
"KanjiMode"
| 否 | 汉字(Kanji) (中文表意文字的日文名称)模式键。 此键通常用于切换到平假名键盘,
以便将输入转换为汉字。(KEYCODE_KANA )
|
"Katakana"
| 否 | 片假名(Katakana) (日语假名字符)键。 |
"Romaji"
| 否 | 罗马字符功能(Roman characters function)键。 |
"Zenkaku"
| 否 | 全角字符(Zenkaku ,Full-Width Characters)键。 |
"ZenkakuHankaku"
| 否 | 半/全角切换(Zenkaku/Hankaku (full-width/half-width) toggle)键。 (KEYCODE_ZENKAKU_HANKAKU )
|
3.9. 通用功能键
每个平台上的通用功能键(general purpose function keys)的准确数量都不相同,
这里只明确定义了前几个。通过在功能键名称末尾增加以10为基数的索引,
可以隐式地定义其他功能键名称。例如, "F24"
和 "Soft8"
都是有效的键值。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"F1"
| 是 | F1 键,一个通用功能键,索引为 1 |
"F2"
| 是 | F2 键,一个通用功能键,索引为 2 |
"F3"
| 是 | F3 键,一个通用功能键,索引为 3 |
"F4"
| 是 | F4 键,一个通用功能键,索引为 4 |
"F5"
| 是 | F5 键,一个通用功能键,索引为 5 |
"F6"
| 是 | F6 键,一个通用功能键,索引为 6 |
"F7"
| 是 | F7 键,一个通用功能键,索引为 7 |
"F8"
| 是 | F8 键,一个通用功能键,索引为 8 |
"F9"
| 是 | F9 键,一个通用功能键,索引为 9 |
"F10"
| 是 | F10 键,一个通用功能键,索引为 10 |
"F11"
| 是 | F11 键,一个通用功能键,索引为 11 |
"F12"
| 是 | F12 键,一个通用功能键,索引为 12 KEY_OPT Soft1 通用虚拟功能键,索引为 1。 KEY_OPT Soft2 通用虚拟功能键,索引为 2。 KEY_OPT Soft3 通用虚拟功能键,索引为 3。 KEY_OPT Soft4 通用虚拟功能键,索引为 4。 |
3.10. 多媒体按键
多媒体按键(multimedia keys)是"多媒体"键盘上的额外按键。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"ChannelDown"
| 否 | 选择下一个(数字上地或逻辑上地)较低的频道。 ( , )
|
"ChannelUp"
| 否 | 选择下一个(数字上地或逻辑上地)较高的频道。 ( , )
|
"Close"
| 否 | 关闭当前文档或邮件(message,下面翻译都用"邮件") (注意: 这不会关闭应用程序)。(APPCOMMAND_CLOSE )
|
"MailForward"
| 否 | 打开编辑器以转发当前邮件。(APPCOMMAND_FORWARD_MAIL )
|
"MailReply"
| 否 | 打开编辑器以回复当前邮件。(APPCOMMAND_REPLY_TO_MAIL )
|
"MailSend"
| 否 | 发送当前邮件。(APPCOMMAND_SEND_MAIL )
|
"MediaClose"
| 否 | 关闭当前媒体,例如关闭 CD 或 DVD 托盘。 (KEYCODE_MEDIA_CLOSE )
|
"MediaFastForward"
| 否 | 以比正常速度更快的速度启动或继续向前播放媒体, 如果已经快进,则增加播放速度。
( , )
|
"MediaPause"
| 否 |
暂停当前播放的媒体。 ( , )
媒体控制器设备的暂停键应使用此值,而不是 |
"MediaPlay"
| 否 | 如果当前未以正常速度播放, 则以正常速度启动或继续播放媒体。
( , )
|
"MediaPlayPause"
| 否 | 在媒体的播放和暂停状态之间切换。 ( , )
|
"MediaRecord"
| 否 | 启动或恢复当前所选媒体的录制。 ( , )
|
"MediaRewind"
| 否 | 以比正常速度更快的速度启动或继续回退(reverse) 播放媒体,如果已经回退,则提高回退速度。
( , )
|
"MediaStop"
| 否 | 停止播放、暂停、快进、回退或录制媒体 (如果尚未停止)。( , )
|
"MediaTrackNext"
| 否 | 查找下一个媒体或节目(program track)。 ( , )
|
"MediaTrackPrevious"
| 否 | 查找上一个媒体或节目(program track)。 ( , )
|
"New"
| 否 | 打开新文档或邮件。(APPCOMMAND_NEW )
|
"Open"
| 否 | 打开现有文档或邮件。(APPCOMMAND_OPEN )
|
"Print"
| 否 | 打印当前文档或邮件。(APPCOMMAND_PRINT )
|
"Save"
| 否 | 保存当前文档或邮件。(APPCOMMAND_SAVE )
|
"SpellCheck"
| 否 | 拼写检查当前文档或所选内容。(APPCOMMAND_SPELL_CHECK )
|
3.11. 多媒体数字键盘键
正常的 0
... 9
数字键盘键被编码为 "0"
... "9"
,但有些多媒体键盘的按键(buttons)以 1
... 12
形式编号。在这些情况下, 10
键的键帽通常为 10 /0
。
注意: 如果设备支持,则键帽标签为 10
或 10 /0
的键 必须 分配一个 "0"
的 key
值。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"Key11"
| 否 | 出现在媒体数字键盘上的 11 键,数字键盘上海包含有 1 ... 12 按键(buttons)。
KEY_OPT 出现在媒体数字键盘上的 12 键,数字键盘上海包含有 1 ... 12 按键(buttons)。
|
3.12. 音频键
与音频相关的多媒体键。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"AudioBalanceLeft"
| 否 | 向左调整音量平衡(audio balance)。 (VK_AUDIO_BALANCE_LEFT )
|
"AudioBalanceRight"
| 否 | 向右调整音量平衡(audio balance)。 (VK_AUDIO_BALANCE_RIGHT )
|
"AudioBassBoostDown"
| 否 | 降低音频的低音增强(bass boost) 效果或在低音增强状态之间循环下降(cycle down)。
( , )
|
"AudioBassBoostToggle"
| 否 | 打开/关闭低音增强(bass boost)。 (APPCOMMAND_BASS_BOOST )
|
"AudioBassBoostUp"
| 否 | 增加音频的低音增强(bass boost) 效果或在低音增强状态之间循环上升(cycle up)。
( , )
|
"AudioFaderFront"
| 否 | 向前调整音频音量控制器(audio fader)。 (VK_FADER_FRONT )
|
"AudioFaderRear"
| 否 | 向后调整音频音量控制器(audio fader)。 (VK_FADER_REAR )
|
"AudioSurroundModeNext"
| 否 | 将环绕立体声模式升级成下一个 (如果存在更高级的模式的话)。(VK_SURROUND_MODE_NEXT )
|
"AudioTrebleDown"
| 否 | 降低高音(treble)。 (APPCOMMAND_TREBLE_DOWN )
|
"AudioTrebleUp"
| 否 | 增加高音(treble)。 (APPCOMMAND_TREBLE_UP )
|
"AudioVolumeDown"
| 否 | 降低音频音量(audio volume)。 ( , )
|
"AudioVolumeUp"
| 否 | 增加音频音量(audio volume)。 ( , )
|
"AudioVolumeMute"
| 否 | 在静音状态和先前音量水平(prior volume level) 之间进行切换。( , )
|
"MicrophoneToggle"
| 否 | 打开/关闭麦克风。 (APPCOMMAND_MIC_ON_OFF_TOGGLE )
|
"MicrophoneVolumeDown"
| 否 | 降低麦克风音量。 (APPCOMMAND_MICROPHONE_VOLUME_DOWN )
|
"MicrophoneVolumeUp"
| 否 | 升高麦克风音量。 (APPCOMMAND_MICROPHONE_VOLUME_UP )
|
"MicrophoneVolumeMute"
| 否 | 将麦克风静音。 ( , )
|
3.13. 语音键
与语音识别(speech recognition)相关的多媒体按键。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"SpeechCorrectionList"
| 否 | 当单词被错误识别时,显示更正列表。 (APPCOMMAND_CORRECTION_LIST )
|
"SpeechInputToggle"
| 否 | 在听写模式(dictation mode)和命令/控制模式 (command/control mode)之间切换。
(APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE )
|
3.14. 应用程序键
应用程序按键(Application Keys)是用于启动特定应用程序的特殊按键。 通过将"启动(Launch)"与应用程序的名称连接起来, 可以定义附加的应用程序按键名称。
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"LaunchApplication1"
| 否 | 第一个通用的"LaunchApplication"键。 该按键通常与启动"我的电脑(My Computer)"有关,
并且可能在键帽上有一个电脑符号。(APPCOMMAND_LAUNCH_APP1 )
|
"LaunchApplication2"
| 否 | 第二个通用的"LaunchApplication"键。 该按键通常与启动"计算器(LaunchApplication)"有关,
并且可能在键帽上有一个计算器符号。
( , )
|
"LaunchCalendar"
| 否 | 日历("Calendar")键。 (KEYCODE_CALENDAR )
|
"LaunchContacts"
| 否 | 联系人("Contacts")键。 (KEYCODE_CONTACTS )
|
"LaunchMail"
| 否 | 邮箱("Mail")键。 (APPCOMMAND_LAUNCH_MAIL )
|
"LaunchMediaPlayer"
| 否 | 媒体播放器("Media Player")键。 (APPCOMMAND_LAUNCH_MEDIA_SELECT )
|
"LaunchMusicPlayer"
| 否 | 音乐播放器("Music Player")键。 |
"LaunchPhone"
| 否 | 电话("Phone")键。 |
"LaunchScreenSaver"
| 否 | 屏幕保护程序("Screen Saver")键。 |
"LaunchSpreadsheet"
| 否 | 电子表格("Spreadsheet")键。 |
"LaunchWebBrowser"
| 否 | Web 浏览器("Web Browser")键。 |
"LaunchWebCam"
| 否 | 网络摄像头("WebCam")键。 |
"LaunchWordProcessor"
| 否 | 文字处理器("Word Processor")键。 |
3.15. 浏览器键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"BrowserBack"
| 否 | 导航到当前历史记录中的上一个内容或页面。 (APPCOMMAND_BROWSER_BACKWARD )
|
"BrowserFavorites"
| 否 | 打开浏览器收藏夹列表。 (APPCOMMAND_BROWSER_FAVORITES )
|
"BrowserForward"
| 否 | 导航到当前历史记录中的下一个内容或页面。 (APPCOMMAND_BROWSER_FORWARD )
|
"BrowserHome"
| 否 | 跳转到用户的首选(自定义)主页。 (APPCOMMAND_BROWSER_HOME )
|
"BrowserRefresh"
| 否 | 刷新当前页面或内容。(APPCOMMAND_BROWSER_REFRESH )
|
"BrowserSearch"
| 否 | 调出用户的首选搜索页面。 (APPCOMMAND_BROWSER_SEARCH )
|
"BrowserStop"
| 否 | 停止加载当前页面或内容。 (APPCOMMAND_BROWSER_STOP )
|
3.16. 移动电话按键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"AppSwitch"
| 否 | 应用程序转换(Application switch)键, 它提供了一个可在其中进行切换的最近应用程序的列表。
(KEYCODE_APP_SWITCH )
|
"Call"
| 否 | 呼叫(Call)键。 (KEYCODE_CALL )
|
"Camera"
| 否 | 相机(Camera)键。 (KEYCODE_CAMERA )
|
"CameraFocus"
| 否 | 摄像头焦点(Camera focus)键。 (KEYCODE_FOCUS )
|
"EndCall"
| 否 | 结束通话(End Call)键。 (KEYCODE_ENDCALL )
|
"GoBack"
| 否 | 返回(Back)键。 (KEYCODE_BACK )
|
"GoHome"
| 否 | Home 键,用于进入手机的主屏幕. (KEYCODE_HOME )
|
"HeadsetHook"
| 否 | 耳机挂钩(Headset Hook)键。 (KEYCODE_HEADSETHOOK )
|
"LastNumberRedial"
| 否 | 重拨(Last Number Redial)键。 |
"Notification"
| 否 | 通知(Notification)键。 (KEYCODE_NOTIFICATION )
|
"MannerMode"
| 否 | 切换(铃声的)模式状态: 静音、振动、响铃... (KEYCODE_MANNER_MODE )
|
"VoiceDial"
| 否 | 语音拨号(Voice Dial)键。 |
3.17. 电视(TV)按键
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"TV"
| 否 | 观看电视开关。(KEYCODE_TV )
|
"TV3DMode"
| 否 | 电视 3D 模式。 (KEYCODE_3D_MODE )
|
"TVAntennaCable"
| 否 | 在天线和电缆输入之间切换(接收源)。 (KEYCODE_TV_ANTENNA_CABLE )
|
"TVAudioDescription"
| 否 | 音频描述。(KEYCODE_TV_AUDIO_DESCRIPTION )
|
"TVAudioDescriptionMixDown"
| 否 | 音频描述降低音量。 (KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN )
|
"TVAudioDescriptionMixUp"
| 否 | 音频描述提高音量。 (KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP )
|
"TVContentsMenu"
| 否 | 内容菜单。 (KEYCODE_TV_CONTENTS_MENU )
|
"TVDataService"
| 否 | 内容菜单. (KEYCODE_TV_DATA_SERVICE )
|
"TVInput"
| 否 | 在外部电视(external TV)上切换输入模式。 (KEYCODE_TV_INPUT )
|
"TVInputComponent1"
| 否 | 切换到部件输入(component input) #1。 (KEYCODE_TV_INPUT_COMPONENT_1 )
|
"TVInputComponent2"
| 否 | 切换到部件输入(component input) #2。 (KEYCODE_TV_INPUT_COMPONENT_2 )
|
"TVInputComposite1"
| 否 | 切换到复合输入(composite input) #1。 (KEYCODE_TV_INPUT_COMPOSITE_1 )
|
"TVInputComposite2"
| 否 | 切换到复合输入(composite input) #2。 (KEYCODE_TV_INPUT_COMPOSITE_2 )
|
"TVInputHDMI1"
| 否 | 切换到 HDMI 输入 #1。 (KEYCODE_TV_INPUT_HDMI_1 )
|
"TVInputHDMI2"
| 否 | 切换到 HDMI 输入 #2。 (KEYCODE_TV_INPUT_HDMI_2 )
|
"TVInputHDMI3"
| 否 | 切换到 HDMI 输入 #3。 (KEYCODE_TV_INPUT_HDMI_3 )
|
"TVInputHDMI4"
| 否 | 切换到 HDMI 输入 #4。 (KEYCODE_TV_INPUT_HDMI_4 )
|
"TVInputVGA1"
| 否 | 切换到 VGA 输入 #1。 (KEYCODE_TV_INPUT_VGA_1 )
|
"TVMediaContext"
| 否 | 媒体上下文菜单。 (KEYCODE_TV_MEDIA_CONTEXT_MENU )
|
"TVNetwork"
| 否 | 切换网络。 (KEYCODE_TV_NETWORK )
|
"TVNumberEntry"
| 否 | 数字输入。 (KEYCODE_TV_NUMBER_ENTRY )
|
"TVPower"
| 否 | 外部电视上的电源开关。 (KEYCODE_TV_POWER )
|
"TVRadioService"
| 否 | 音频。 (KEYCODE_TV_RADIO_SERVICE )
|
"TVSatellite"
| 否 | 卫星。 (KEYCODE_TV_SATELLITE )
|
"TVSatelliteBS"
| 否 | 广播卫星。 (KEYCODE_TV_SATELLITE_BS )
|
"TVSatelliteCS"
| 否 | 通信卫星。 (KEYCODE_TV_SATELLITE_CS )
|
"TVSatelliteToggle"
| 否 | 在可用卫星之间切换。 (KEYCODE_TV_SATELLITE_SERVICE )
|
"TVTerrestrialAnalog"
| 否 | 模拟地面流传(Analog Terrestrial)。 (KEYCODE_TV_TERRESTRIAL_ANALOG )
|
"TVTerrestrialDigital"
| 否 | 数字地面流传(Digital Terrestrial)。 (KEYCODE_TV_TERRESTRIAL_DIGITAL )
|
"TVTimer"
| 否 | 定时器编程。 (KEYCODE_TV_TIMER_PROGRAMMING )
|
3.18. 媒体控制器按键
媒体控制器(media controllers)的 键属性值 (例如电视、 音频系统和机顶盒的遥控器)部分源自消费者电子技术规范:
-
数字电视应用软件环境 [DASE]
-
开放式电缆应用平台 1.1.3 [OCAP]
-
ANSI/CTA-2014-B,基于 Web 的关于 UPnP 网络和互联网的远程用户界面协议和框架 [WEB4CE]
-
安卓键事件键码(Android KeyEvent KEYCODEs) [AndroidKeycode]
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"AVRInput"
| 否 | 在外部 AVR (音频/视频接收器)上切换输入模式。 (KEYCODE_AVR_INPUT )
|
"AVRPower"
| 否 | 外部 AVR (音频/视频接收器)的电源开关。 (KEYCODE_AVR_POWER )
|
"ColorF0Red"
| 否 | 通用彩色编码媒体功能键,索引为 0 (红)。 ( , )
|
"ColorF1Green"
| 否 | 通用彩色编码媒体功能键,索引为 1 (绿)。 ( , )
|
"ColorF2Yellow"
| 否 | 通用彩色编码媒体功能键,索引为 2 (黄)。 ( , )
|
"ColorF3Blue"
| 否 | 通用彩色编码媒体功能键,索引为 3 (蓝)。 ( , )
|
"ColorF4Grey"
| 否 | 通用彩色编码媒体功能键,索引为 4 (灰)。 (VK_COLORED_KEY_4 )
|
"ColorF5Brown"
| 否 | 通用彩色编码媒体功能键,索引为 5 (棕)。 (VK_COLORED_KEY_5 )
|
"ClosedCaptionToggle"
| 否 | 触发闭路字幕(Colose Captions)的显示。 ( , )
|
"Dimmer"
| 否 | 通过在状态之间循环切换来调整设备的亮度。 (VK_DIMMER )
|
"DisplaySwap"
| 否 | 交换视频源。(VK_DISPLAY_SWAP )
|
"DVR"
| 否 | 选择数字视频录像机。 (KEYCODE_DVR )
|
"Exit"
| 否 | 退出当前应用程序。 (VK_EXIT )
|
"FavoriteClear0"
| 否 | 清除存储为收藏夹第 0 项的节目或内容。 (VK_CLEAR_FAVORITE_0 )
|
"FavoriteClear1"
| 否 | 清除存储为收藏夹第 1 项的节目或内容。 (VK_CLEAR_FAVORITE_1 )
|
"FavoriteClear2"
| 否 | 清除存储为收藏夹第 2 项的节目或内容。 (VK_CLEAR_FAVORITE_2 )
|
"FavoriteClear3"
| 否 | 清除存储为收藏夹第 3 项的节目或内容。 (VK_CLEAR_FAVORITE_3 )
|
"FavoriteRecall0"
| 否 | 选择(调用)存储为收藏夹第 0 项的节目或内容。 (VK_RECALL_FAVORITE_0 )
|
"FavoriteRecall1"
| 否 | 选择(调用)存储为收藏夹第 1 项的节目或内容。 (VK_RECALL_FAVORITE_1 )
|
"FavoriteRecall2"
| 否 | 选择(调用)存储为收藏夹第 2 项的节目或内容。 (VK_RECALL_FAVORITE_2 )
|
"FavoriteRecall3"
| 否 | 选择(调用)存储为收藏夹第 3 项的节目或内容。 (VK_RECALL_FAVORITE_3 )
|
"FavoriteStore0"
| 否 | 将当前节目或内容存储为收藏夹第 0 项。 (VK_STORE_FAVORITE_0 )
|
"FavoriteStore1"
| 否 | 将当前节目或内容存储为收藏夹第 1 项。 (VK_STORE_FAVORITE_1 )
|
"FavoriteStore2"
| 否 | 将当前节目或内容存储为收藏夹第 2 项。 (VK_STORE_FAVORITE_2 )
|
"FavoriteStore3"
| 否 | 将当前节目或内容存储为收藏夹第 3 项。 (VK_STORE_FAVORITE_3 )
|
"Guide"
| 否 | 触发节目或内容指南的显示。 ( , )
|
"GuideNextDay"
| 否 | 如果指南处于活动状态并已显示, 则显示第二天的内容。(VK_NEXT_DAY )
|
"GuidePreviousDay"
| 否 | 如果指南处于活动状态并已显示, 则显示前一天的内容。(VK_PREV_DAY )
|
"Info"
| 否 | 触发当前所选上下文或媒体信息的显示。 ( , )
|
"InstantReplay"
| 否 | 触发即时重播(instant replay)。 (VK_INSTANT_REPLAY )
|
"Link"
| 否 | 启动链接内容(如果可用且适当)。 (VK_LINK )
|
"ListProgram"
| 否 | 列出当前节目。(VK_LIST )
|
"LiveContent"
| 否 | 触发当前可看的实时内容或节目的列表显示。 (VK_LIVE )
|
"Lock"
| 否 | 锁定或解锁当前内容或节目。(VK_LOCK )
|
"MediaApps"
| 否 |
显示媒体应用程序列表: 音频/ 视频播放器和图像查看器。(VK_APPS )
不要将此键值与 Windows 的 |
"MediaAudioTrack"
| 否 | 音轨键。(KEYCODE_MEDIA_AUDIO_TRACK )
|
"MediaLast"
| 否 | 选择以前选择的频道或媒体。 ( , )
|
"MediaSkipBackward"
| 否 | 向后跳过(skip)下一个内容或节目。 (KEYCODE_MEDIA_SKIP_BACKWARD )
|
"MediaSkipForward"
| 否 | 向前跳过(skip)下一个内容或节目。 ( , )
|
"MediaStepBackward"
| 否 | 后退到下一个内容或节目。 (KEYCODE_MEDIA_STEP_BACKWARD )
|
"MediaStepForward"
| 否 | 前进到下一个内容或节目。 (KEYCODE_MEDIA_STEP_FORWARD )
|
"MediaTopMenu"
| 否 | 媒体顶部菜单。 (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 )
|
"PinPDown"
| 否 | 移下画中画(picture-in-picture)窗口。 (VK_PINP_DOWN )
|
"PinPMove"
| 否 | 移动画中画(picture-in-picture)窗口。 (VK_PINP_MOVE )
|
"PinPToggle"
| 否 | 触发画中画(picture-in-picture)窗口的显示。 (VK_PINP_TOGGLE )
|
"PinPUp"
| 否 | 移上画中画(picture-in-picture)窗口。 (VK_PINP_UP )
|
"PlaySpeedDown"
| 否 | 降低媒体播放速度。(VK_PLAY_SPEED_DOWN )
|
"PlaySpeedReset"
| 否 | 将播放速度重置为正常速度。 (VK_PLAY_SPEED_RESET )
|
"PlaySpeedUp"
| 否 | 提高媒体播放速度。(VK_PLAY_SPEED_UP )
|
"RandomToggle"
| 否 | 切换到随机媒体或内容混洗模式。 (VK_RANDOM_TOGGLE )
|
"RcLowBattery"
| 否 | 不是物理按键, 但此键码是在遥控器电池电量不足时发送的。(VK_RC_LOW_BATTERY )
|
"RecordSpeedNext"
| 否 | 在媒体录制速度之间循环切换。 (VK_RECORD_SPEED_NEXT )
|
"RfBypass"
| 否 | 触发 RF (射频)输入旁路模式(将 RF 输入直接传递到 RF 输出)。 (VK_RF_BYPASS )
|
"ScanChannelsToggle"
| 否 | 切换到扫描通道模式。 (VK_SCAN_CHANNELS_TOGGLE )
|
"ScreenModeNext"
| 否 | 将显示屏模式前进到下一个可用模式。 (VK_SCREEN_MODE_NEXT )
|
"Settings"
| 否 | 触发设备设置屏幕的显示。 (VK_SETTINGS , KEYCODE_SETTINGS )
|
"SplitScreenToggle"
| 否 | 切换到分屏模式。 (VK_SPLIT_SCREEN_TOGGLE )
|
"STBInput"
| 否 | 在外部 STB (机顶盒)上切换输入模式。 (KEYCODE_STB_INPUT )
|
"STBPower"
| 否 | 外部 STB(机顶盒)的电源开关。 (KEYCODE_STB_POWER )
|
"Subtitle"
| 否 | 触发字幕的显示(如果可用)。(VK_SUBTITLE )
|
"Teletext"
| 否 | 触发图文电视的显示(如果可用)。(VK_TELETEXT , KEYCODE_TV_TELETEXT )
|
"VideoModeNext"
| 否 | 将视频模式前进到下一个可用模式。 (VK_VIDEO_MODE_NEXT )
|
"Wink"
| 否 | 使设备以某种方式识别自身,例如,听觉或视觉。 (VK_WINK )
|
"ZoomToggle"
| 否 | 在全屏和缩放内容之间切换,或更改缩放级别 (magnification level)。( , )
|
媒体控制器标准中定义的一些按键已经在本规范的其他部分中定义了合适的按键。 下表总结了这些键被支持的情况下 必须 使用的键值:
键属性值 | 必需的 | 典型用途 (非规范性的) |
---|---|---|
"AudioVolumeDown"
| 否 | 降低音频音量。(VK_VOLUME_DOWN )
|
"AudioVolumeUp"
| 否 | 增加音频音量。(VK_VOLUME_UP )
|
"AudioVolumeMute"
| 否 | 在静音状态和先前音量水平(prior volume level) 之间进行切换。 (VK_VOLUME_MUTE )
|
"BrowserBack"
| 否 | 导航到当前历史记录中的上一个内容或页面。 (VK_BACK )
|
"BrowserForward"
| 否 | 导航到当前历史记录中的下一个内容或页面。 (VK_FORWARD )
|
"ChannelDown"
| 否 | 选择下一个(数字上地或逻辑上地)较低的频道。 (VK_CHANNEL_DOWN )
|
"ChannelUp"
| 否 | 选择下一个(数字上地或逻辑上地)较高的频道。 (VK_CHANNEL_UP )
|
"ContextMenu"
| 是 | 触发屏幕菜单的显示。 (VK_MENU )
|
"Eject"
| 否 | 将可移动媒介(removable media)切换到弹出 (打开)和插入(关闭)状态。(VK_EJECT_TOGGLE )
|
"End"
| 是 | 结束(End)键,配合键盘输入使用, 用于跳转到输入内容的末尾。 (VK_GO_TO_END )
|
"Enter"
| 是 | Enter 键,用于激活当前选择或接受当前输入。 (VK_SELECT )
|
"Home"
| 是 | Home 键,配合键盘输入使用, 用于跳转到输入内容的开头。 (VK_GO_TO_START )
|
"MediaFastForward"
| 否 | 以比正常速度更快的速度启动或 继续向前播放媒体,如果已经快进,则增加播放速度。 (VK_FAST_FWD )
|
"MediaPlay"
| 否 | 如果当前未以正常速度播放, 则以正常速度启动或继续播放媒体。 (VK_PLAY )
|
"MediaPlayPause"
| 否 | 在媒体的播放和暂停状态之间切换。 (VK_PLAY_PAUSE )
|
"MediaRecord"
| 否 | 启动或恢复当前所选媒体的录制。(VK_RECORD )
|
"MediaRewind"
| 否 | 以比正常速度更快的速度启动或继续回退 (reverse) 播放媒体,如果已经回退,则提高回退速度。 (VK_REWIND )
|
"MediaStop"
| 否 | 停止播放、暂停、快进、回退或录制媒体 (如果尚未停止)。 (VK_STOP )
|
"MediaPause"
| 否 | 暂停当前播放的媒体。 (VK_PAUSE )
|
"MediaTrackNext"
| 否 | 查找下一个媒体或节目(program track)。 (VK_TRACK_NEXT )
|
"MediaTrackPrevious"
| 否 | 查找上一个媒体或节目(program track)。 (VK_TRACK_PREV )
|
"Power"
| 否 | 切换电源状态(电源开关)。 (VK_POWER )
|
"Unidentified"
| 是 | 当一个实现由于硬件、 平台或软件限制而无法识别另一个键值时 ,会使用此键值。
(VK_UNDEFINED )
|
4. 无障碍
这个规范简单地定义了一组可在 key
属性中使用的有效值。
因此,它没有引入任何具有无障碍问题的特性(feature)。
FAST 清单 已完成, 本规范不适用其中任何内容。
FAST的目标是描述网络技术应提供的特性, 以确保能够创建残疾用户可以访问的内容。完整的框架引入了对用户需求的分析, 描述了技术、内容创作和用户代理如何协同工作以满足这些需求, 并为技术开发人员提供了全面的指导。本清单(checklist)从高层次上提取这些信息, 以帮助技术进行自我审查。 规范开发人员可以利用本清单(checklist) 来帮助自己: 确保技术能够解决无障碍倡导者在横向审查期间可能提出的特性。—— FAST Checklist。
FAST 清单的一个条目是: "如果技术提供国际化支持"。此条目与本规范相关:
本规范本质上为键盘定义了 key
值,这个 key
值支持国际硬件,例如用于不同语言或布局的键盘。同时,本规范也定义了许多人类可读
(human-readable)的键名称(如"Shift"、"Control"、"Home"或"ArrowLeft")。
一些特殊按键的键值被定义为人类可读(human-readable)的字符串, 以便检测特殊键的代码更容易理解。虽然这些值并不打算直接暴露给用户 (没有在键帽上显示),但想要公开这些值无可厚非。 选择公开这些值的应用程序需要确定: 为了显示而翻译这些字符串是否合适 (例如: 为法国用户将"Backspace"显示为"Suppr.arrière")。
5. 国际化(i18n)
简版的 I18n 清单 已完成,本规范不适用其中任何内容。
6. 安全注意事项
安全和隐私的自我审查问卷 已完成,以下是对其中一些有关本规范条目的备注:
-
2.1 此特性可能会向网站或其他方公开哪些信息,出于什么目的需要公开? : 本规范为各种按键事件的
key
属性定义了一组有效值。 这提供了一种方式让用户可以键入文本,非常有必要。 -
2.17 您的功能是如何处理非"完全活动(fully active)"文档的?: 此属性仅与按键事件关联,如果文档未完全激活,则不会派发事件。
[UIEvents] 规范中解决了与 key
属性相关的安全问题。
7. 隐私注意事项
安全和隐私的自我审查问卷 已完成,以下是对其中一些有关本规范条目的备注:
-
2.6 规范中的特性是否向源(origins)公开了有关底层平台的信息?:
key
属性包含用户按下的键的的值。 这可以用来推断用户正在使用的启用了特定语言环境(或 IME )的键盘。 -
3.5 合法滥用(Legitimate Misuse): 一个站点可以捕获所有按键响应, 并构建键盘生成的按键值的映射。如果用户键入了足够的按键值(并且没有更改键盘), 那么网站可以尝试将这些值与已知键盘布局的数据库进行匹配, 以猜测用户当前的键盘布局。然而,这是对
key
属性本身 (在 [UIEvents] 规范中定义)的关注,而不是对本文档中定义的值的关注。
[UIEvents] 规范中解决了与 key
属性相关的隐私问题。
8. 致谢
多年来,许多人为 DOM KeyboardEvent
规范做出了贡献,
其中包括 DOM 工作组和 WebApps 工作组的许多参与者。当前的 key
值集是在此期间迭代许多提议和变体的结果。我们特别感谢以下参与者的贡献:
Gary Kacmarcik (Google), Masayuki Nakano (Mozilla) 和 Travis Leithead (Microsoft)。