1. 简介
[UIEvents-Key] 规范定义了一组可在 key
属性中使用的有效值集合。
本文档总结了 key
属性及其值的当前实现状态。
测试了每个用户代理的以下版本:
-
Google Chrome 60.0.3112.113 (Windows 10, OS X 10.12.2, Ubuntu)
-
Mozilla Firefox 55.0 (Windows 10, OS X 10.12.2, Ubuntu)
-
Microsoft Edge 83.0.478.58 (Windows 10)
-
Apple Safari 13.1.1 (OS X 10.14.6)
2. 测试方法
由于没有自动的方法来测试这些按键事件(特别是考虑到通常需要国际键盘), 这些测试都是手动进行的。
此属性( key
)有两种必需值: 未命名(Unnamed)和已命名(Name)。
-
未命名的值可以是任何有效的可打印的 Unicode 字符。由于这些值的数量非常大, 因此测试每一个可能的值是不现实的。替代方案是,对63个最常见的键进行抽样测试。
-
有38个必需的命名值,它们都是手动测试的。
手动测试是通过访问 domeeventviewer.com/key-event-viewer.html 测试页面并在按下测试键后检查"key"列来执行的。 要测试仅存在于特定地区键盘上的键(如"AltGraph"), 需要使用包含被测试键的键盘。
就本报告而言,Chrome、Firefox和Safari被视为独立的实现。
key
属性值,
访问本规范给出的 domeeventviewer.com/key-event-viewer.html 自己尝试测试。 3. 结果
3.1. 总结
在至少2个独立的实现中对 key
属性 通过(Pass) 的所有63个采样的未命名值(sampled Unnamed)和所有38个必需的命名值
(Named required values)进行了手动测试。
候选推荐标准的校验准则因此完全满足 (The Candidate Recommendation exit criteria are therefore fulfilled)
此外,本文档描述了一些可选名称值(optional Named values), 这些可选值在支持多媒体或遗留键盘上被使用。其中, 手动测试证实其中39个在至少2个独立的实现中通过。
3.2. 原始结果
下表显示了手动测试的结果。
当按下相应的键时,标记为"通过(Pass)"的条目将生成预期值。
当按下相应的键时,标记为"失败(Fail)"的条目会生成一些预期值以外的值。 在可能的情况下,表格项会给出一个注释,提供有关失败的更多信息。
标有"?"的条目尚未经过测试,通常是因为带有该键的设备不可用 (例如,因为带有这些键的键盘在该平台上不受支持)。
3.2.1. key
属性
key
(在[UIEvents]中定义) 存在于所有测试的浏览器中。
KeyboardEvent 属性
| Chrome | Edge | Firefox | Safari | 注释 |
---|---|---|---|---|---|
key
| 通过 | 通过 | 通过 | 通过 |
3.2.2. 必需的未命名键(Required Unnamed Keys)
key
属性可以包含任何区域设置中的可以由任何键生成的任何字符
,因此尝试枚举所有可能包含的值超出了本文档的范围。
本节提供基本类型的采样键,并确定用户代理是否大概支持这些键。
键属性值 | Chrome | Edge | Firefox | Safari | 注释 |
---|---|---|---|---|---|
"A" ..."Z"
| 通过 | 通过 | 通过 | 通过 | |
"a" ..."z"
| 通过 | 通过 | 通过 | 通过 | |
"0" ..."9"
| 通过 | 通过 | 通过 | 通过 | |
" "
| 通过 | 通过 | 通过 | 通过 |
3.2.3. 必需的命名键(Required Named Keys)
本节列出了与标准键盘布局生成的值相对应的命名键属性值的基本集合。
键属性值 | Chrome | Edge | Firefox | Safari | 注释 |
---|---|---|---|---|---|
"Unidentified"
| 通过 | 通过 | 通过 | 通过 | |
修饰键 | |||||
"Alt"
| 通过 | 通过 | 通过 | 通过 | |
"AltGraph"
| 通过 | 通过 | 通过 | ? | |
"CapsLock"
| 通过 | 通过 | 通过 | 通过 | |
"Control"
| 通过 | 通过 | 通过 | 通过 | |
"Meta"
| 通过 | 通过 | 通过 | 通过 | |
"NumLock"
| 通过 | 通过 | 通过 | ? | |
"ScrollLock"
| 通过 | 通过 | 通过 | ? | |
"Shift"
| 通过 | 通过 | 通过 | 通过 | |
空格键 | |||||
"Enter"
| 通过 | 通过 | 通过 | 通过 | |
"Tab"
| 通过 | 通过 | 通过 | 通过 | |
导航按键 | |||||
"ArrowDown"
| 通过 | 通过 | 通过 | 通过 | |
"ArrowLeft"
| 通过 | 通过 | 通过 | 通过 | |
"ArrowRight"
| 通过 | 通过 | 通过 | 通过 | |
"ArrowUp"
| 通过 | 通过 | 通过 | 通过 | |
"End"
| 通过 | 通过 | 通过 | 通过 | |
"Home"
| 通过 | 通过 | 通过 | 通过 | |
"PageDown"
| 通过 | 通过 | 通过 | 通过 | |
"PageUp"
| 通过 | 通过 | 通过 | 通过 | |
编辑键 | |||||
"Backspace"
| 通过 | 通过 | 通过 | 通过 | |
"Delete"
| 通过 | 通过 | 通过 | 通过 | |
"Insert"
| 通过 | 通过 | 通过 | ? | |
UI(用户界面)按键 | |||||
"ContextMenu"
| 通过 | 通过 | 通过 | ? | |
"Escape"
| 通过 | 通过 | 通过 | 通过 | |
"Pause"
| 通过 | 通过 | 通过 | ? | |
设备(Device)按键 | |||||
"PrintScreen"
| 通过 | 通过 | 通过 | ? | |
通用功能键 | |||||
"F1"
| 通过 | 通过 | 通过 | 通过 | Chrome 打开帮助页面,不发送 keyup 事件 |
"F2"
| 通过 | 通过 | 通过 | 通过 | |
"F3"
| 通过 | 通过 | 通过 | 通过 | Chrome/Firefox 打开查找栏。Chrome不发送 keyup 事件 |
"F4"
| 通过 | 通过 | 通过 | 通过 | |
"F5"
| 通过 | 通过 | 通过 | 通过 | Chrome/Firefox 刷新页面 |
"F6"
| 通过 | 通过 | 通过 | 通过 | |
"F7"
| 通过 | 通过 | 通过 | 通过 | Firefox 启用/禁用指针浏览模式。 |
"F8"
| 通过 | 通过 | 通过 | 通过 | |
"F9"
| 通过 | 通过 | 通过 | 通过 | |
"F10"
| 通过 | 通过 | 通过 | 通过 | |
"F11"
| 通过 | 通过 | 通过 | 通过 | Chrome 进入/离开全屏模式 |
"F12"
| 通过 | 通过 | 通过 | 通过 | Chome/Firefox 打开/关闭调试控制台。 |
3.2.4. 可选的编辑命名键(Optional Editing Named Keys)
由于这些值中的一些值依赖于特定的键盘,因此不期望用户代理支持所有这些值。
键属性值 | Chrome | Edge | Firefox | Safari | 注释 |
---|---|---|---|---|---|
编辑键 | |||||
"Clear"
| 通过 | 通过 | 通过 | ? | |
"Copy"
| 失败 | 失败 | 失败 | ? | |
"CrSel"
| 通过 | 通过 | 通过 | ? | |
"Cut"
| 失败 | 失败 | 失败 | ? | |
"EraseEof"
| 通过 | 通过 | 通过 | ? | |
"ExSel"
| 通过 | 通过 | 通过 | ? | |
"Paste"
| 失败 | 失败 | 失败 | ? | |
"Redo"
| 失败 | 失败 | 通过 | ? | |
"Undo"
| 通过 | 失败 | 通过 | ? | |
输入法和组合(IME and Composition)键 | |||||
"AllCandidates"
| 失败 | 失败 | 失败 | ? | |
"Alphanumeric"
| 通过 | 失败 | 通过 | ? | |
"CodeInput"
| 失败 | 失败 | 失败 | ? | |
"Compose"
| 失败 | 失败 | 失败 | ? | |
"Convert"
| 通过 | 通过 | 通过 | ? | |
"Dead"
| 失败 | 失败 | 失败 | ? | |
"FinalMode"
| 通过 | 失败 | 通过 | ? | |
"GroupFirst"
| 失败 | 失败 | 失败 | ? | |
"GroupLast"
| 失败 | 失败 | 失败 | ? | |
"GroupNext"
| 失败 | 失败 | 失败 | ? | |
"GroupPrevious"
| 失败 | 失败 | 失败 | ? | |
"ModeChange"
| 通过 | 通过 | 通过 | ? | |
"NextCandidate"
| 失败 | 失败 | 失败 | ? | |
"NonConvert"
| 通过 | 通过 | 通过 | ? | |
"PreviousCandidate"
| 失败 | 失败 | 失败 | ? | |
"Process"
| 通过 | 失败 | 失败 | ? | |
"SingleCandidate"
| 失败 | 失败 | 失败 | ? | |
韩语键盘专用的输入法键 | |||||
"HangulMode"
| 通过 | 失败 | 通过 | ? | |
"HanjaMode"
| 通过 | 失败 | 通过 | ? | |
"JunjaMode"
| 通过 | 通过 | 通过 | ? | |
日语键盘专用的输入法键 | |||||
"Eisu"
| 失败 | 失败 | 失败 | ? | |
"Hankaku"
| 通过 | 失败 | 通过 | ? | |
"Hiragana"
| 通过 | 失败 | 通过 | ? | |
"HiraganaKatakana"
| 失败 | 失败 | 失败 | ? | |
"KanaMode"
| 通过 | 通过 | 通过 | ? | |
"KanjiMode"
| 通过 | 通过 | 通过 | ? | |
"Katakana"
| 通过 | 失败 | 通过 | ? | |
"Romaji"
| 通过 | 失败 | 通过 | ? | |
"Zenkaku"
| 通过 | 失败 | 通过 | ? | |
"ZenkakuHankaku"
| 失败 | 失败 | 失败 | ? |
3.2.5. 可选的设备特定的命名键(Optional Device-specific Named Keys)
本节列出了与专用键盘上的键生成的值相对应的命名键属性值,例如:
-
多媒体键盘
-
支持特殊输入法的键盘
-
远程控制设备(遥控器)
由于这些值具有设备特定的性质,预计用户代理不会支持所有这些值
键属性值 | Chrome | Edge | Firefox | Safari | 注释 |
---|---|---|---|---|---|
修饰键 | |||||
"Fn"
| 失败 | 失败 | 失败 | 失败 | |
"FnLock"
| 失败 | 失败 | 失败 | 失败 | |
"Symbol"
| 失败 | 失败 | 失败 | 失败 | |
"SymbolLock"
| 失败 | 失败 | 失败 | 失败 | |
遗留修饰键 | |||||
"Hyper"
| 失败 | 失败 | 失败 | 失败 | |
"Super"
| 失败 | 失败 | 失败 | 失败 | |
UI(用户界面)按键 | |||||
"Accept"
| 通过 | 通过 | 通过 | 失败 | |
"Again"
| 失败 | 失败 | 失败 | 失败 | |
"Attn"
| 通过 | 通过 | 通过 | 失败 | |
"Cancel"
| 通过 | 失败 | 通过 | 失败 | |
"Execute"
| 通过 | 通过 | 通过 | 失败 | |
"Find"
| 失败 | 失败 | 失败 | 失败 | |
"Help"
| 通过 | 通过 | 通过 | 失败 | |
"Play"
| 通过 | 通过 | 通过 | 失败 | |
"Props"
| 失败 | 失败 | 失败 | 失败 | |
"Select"
| 通过 | 通过 | 通过 | 失败 | |
"ZoomIn"
| 失败 | 失败 | 失败 | 失败 | |
"ZoomOut"
| 失败 | 失败 | 失败 | 失败 | |
设备(Device)按键 | |||||
"BrightnessDown"
| 失败 | 失败 | 失败 | 失败 | |
"BrightnessUp"
| 失败 | 失败 | 失败 | 失败 | |
"Eject"
| 失败 | 失败 | 失败 | 失败 | |
"LogOff"
| 失败 | 失败 | 失败 | 失败 | |
"Power"
| 失败 | 失败 | 失败 | 失败 | |
"PowerOff"
| 失败 | 失败 | 失败 | 失败 | |
"Hibernate"
| 失败 | 失败 | 失败 | 失败 | |
"Standby"
| 通过 | 失败 | 通过 | 失败 | |
"WakeUp"
| 失败 | 失败 | 失败 | 失败 | |
通用功能键 | |||||
"Soft1"
| 失败 | 失败 | 失败 | 失败 | |
"Soft2"
| 失败 | 失败 | 失败 | 失败 | |
"Soft3"
| 失败 | 失败 | 失败 | 失败 | |
"Soft4"
| 失败 | 失败 | 失败 | 失败 | |
多媒体按键 | |||||
"ChannelDown"
| 失败 | 失败 | 失败 | 失败 | |
"ChannelUp"
| 失败 | 失败 | 失败 | 失败 | |
"Close"
| 失败 | 失败 | 通过 | 失败 | |
"MailForward"
| 通过 | 失败 | 通过 | 失败 | |
"MailReply"
| 通过 | 失败 | 通过 | 失败 | |
"MailSend"
| 通过 | 失败 | 通过 | 失败 | |
"MediaClose"
| 失败 | 失败 | 失败 | 失败 | |
"MediaFastForward"
| 失败 | 失败 | 失败 | 失败 | |
"MediaPause"
| 失败 | 失败 | 失败 | 失败 | |
"MediaPlay"
| 失败 | 失败 | 失败 | 失败 | |
"MediaPlayPause"
| 通过 | 失败 | 通过 | 失败 | |
"MediaRecord"
| 失败 | 失败 | 失败 | 失败 | |
"MediaRewind"
| 失败 | 失败 | 失败 | 失败 | |
"MediaStop"
| 通过 | 失败 | 通过 | 失败 | |
"MediaTrackNext"
| 通过 | 失败 | 通过 | 失败 | |
"MediaTrackPrevious"
| 通过 | 失败 | 通过 | 失败 | |
"New"
| 失败 | 失败 | 通过 | 失败 | |
"Open"
| 通过 | 失败 | 通过 | 失败 | |
"Print"
| 失败 | 失败 | 失败 | 失败 | Firefox返回 PrintScreen; Chrome返回 Undefined |
"Save"
| 失败 | 失败 | 通过 | 失败 | |
"SpellCheck"
| 失败 | 失败 | 失败 | 失败 | |
多媒体数字键盘键 | |||||
"Key11"
| 失败 | 失败 | 失败 | 失败 | |
"Key12"
| 失败 | 失败 | 失败 | 失败 | |
音频键 | |||||
"AudioBalanceLeft"
| 失败 | 失败 | 失败 | 失败 | |
"AudioBalanceRight"
| 失败 | 失败 | 失败 | 失败 | |
"AudioBassBoostDown"
| 失败 | 失败 | 失败 | 失败 | |
"AudioBassBoostToggle"
| 失败 | 失败 | 失败 | 失败 | |
"AudioBassBoostUp"
| 失败 | 失败 | 失败 | 失败 | |
"AudioFaderFront"
| 失败 | 失败 | 失败 | 失败 | |
"AudioFaderRear"
| 失败 | 失败 | 失败 | 失败 | |
"AudioSurroundModeNext"
| 失败 | 失败 | 失败 | 失败 | |
"AudioTrebleDown"
| 失败 | 失败 | 失败 | 失败 | |
"AudioTrebleUp"
| 失败 | 失败 | 失败 | 失败 | |
"AudioVolumeDown"
| 通过 | 失败 | 通过 | 失败 | |
"AudioVolumeUp"
| 通过 | 失败 | 通过 | 失败 | |
"AudioVolumeMute"
| 通过 | 失败 | 通过 | 失败 | |
"MicrophoneToggle"
| 失败 | 失败 | 失败 | 失败 | |
"MicrophoneVolumeDown"
| 失败 | 失败 | 失败 | 失败 | |
"MicrophoneVolumeUp"
| 失败 | 失败 | 失败 | 失败 | |
"MicrophoneVolumeMute"
| 失败 | 失败 | 失败 | 失败 | |
语音键 | |||||
"SpeechCorrectionList"
| 失败 | 失败 | 失败 | 失败 | |
"SpeechInputToggle"
| 失败 | 失败 | 失败 | 失败 | |
应用程序键 | |||||
"LaunchApplication1"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchApplication2"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchCalendar"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchContacts"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchMail"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchMediaPlayer"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchMusicPlayer"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchPhone"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchScreenSaver"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchSpreadsheet"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchWebBrowser"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchWebCam"
| 失败 | 失败 | 失败 | 失败 | |
"LaunchWordProcessor"
| 失败 | 失败 | 失败 | 失败 | |
浏览器键 | |||||
"BrowserBack"
| 通过 | 失败 | 通过 | 失败 | |
"BrowserFavorites"
| 通过 | 失败 | 失败 | 失败 | 键在 Firefox 浏览器中会被处理 |
"BrowserForward"
| 通过 | 失败 | 通过 | 失败 | |
"BrowserHome"
| 失败 | 失败 | 失败 | 失败 | |
"BrowserRefresh"
| 失败 | 失败 | 失败 | 失败 | |
"BrowserSearch"
| 失败 | 失败 | 失败 | 失败 | |
"BrowserStop"
| 失败 | 失败 | 失败 | 失败 | |
移动电话按键 | |||||
"AppSwitch"
| 失败 | 失败 | 失败 | 失败 | |
"Call"
| 失败 | 失败 | 失败 | 失败 | |
"Camera"
| 失败 | 失败 | 失败 | 失败 | |
"CameraFocus"
| 失败 | 失败 | 失败 | 失败 | |
"EndCall"
| 失败 | 失败 | 失败 | 失败 | |
"GoBack"
| 失败 | 失败 | 失败 | 失败 | |
"GoHome"
| 失败 | 失败 | 失败 | 失败 | |
"HeadsetHook"
| 失败 | 失败 | 失败 | 失败 | |
"LastNumberRedial"
| 失败 | 失败 | 失败 | 失败 | |
"Notification"
| 失败 | 失败 | 失败 | 失败 | |
"MannerMode"
| 失败 | 失败 | 失败 | 失败 | |
"VoiceDial"
| 失败 | 失败 | 失败 | 失败 | |
电视(TV)按键 | |||||
"TV"
| 失败 | 失败 | 失败 | 失败 | |
"TV3DMode"
| 失败 | 失败 | 失败 | 失败 | |
"TVAntennaCable"
| 失败 | 失败 | 失败 | 失败 | |
"TVAudioDescription"
| 失败 | 失败 | 失败 | 失败 | |
"TVAudioDescriptionMixDown"
| 失败 | 失败 | 失败 | 失败 | |
"TVAudioDescriptionMixUp"
| 失败 | 失败 | 失败 | 失败 | |
"TVContentsMenu"
| 失败 | 失败 | 失败 | 失败 | |
"TVDataService"
| 失败 | 失败 | 失败 | 失败 | |
"TVInput"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputComponent1"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputComponent2"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputComposite1"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputComposite2"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputHDMI1"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputHDMI2"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputHDMI3"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputHDMI4"
| 失败 | 失败 | 失败 | 失败 | |
"TVInputVGA1"
| 失败 | 失败 | 失败 | 失败 | |
"TVMediaContext"
| 失败 | 失败 | 失败 | 失败 | |
"TVNetwork"
| 失败 | 失败 | 失败 | 失败 | |
"TVNumberEntry"
| 失败 | 失败 | 失败 | 失败 | |
"TVPower"
| 失败 | 失败 | 失败 | 失败 | |
"TVRadioService"
| 失败 | 失败 | 失败 | 失败 | |
"TVSatellite"
| 失败 | 失败 | 失败 | 失败 | |
"TVSatelliteBS"
| 失败 | 失败 | 失败 | 失败 | |
"TVSatelliteCS"
| 失败 | 失败 | 失败 | 失败 | |
"TVSatelliteToggle"
| 失败 | 失败 | 失败 | 失败 | |
"TVTerrestrialAnalog"
| 失败 | 失败 | 失败 | 失败 | |
"TVTerrestrialDigital"
| 失败 | 失败 | 失败 | 失败 | |
"TVTimer"
| 失败 | 失败 | 失败 | 失败 | |
媒体控制器按键 | |||||
"AVRInput"
| 失败 | 失败 | 失败 | 失败 | |
"AVRPower"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF0Red"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF1Green"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF2Yellow"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF3Blue"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF4Grey"
| 失败 | 失败 | 失败 | 失败 | |
"ColorF5Brown"
| 失败 | 失败 | 失败 | 失败 | |
"ClosedCaptionToggle"
| 失败 | 失败 | 失败 | 失败 | |
"Dimmer"
| 失败 | 失败 | 失败 | 失败 | |
"DisplaySwap"
| 失败 | 失败 | 失败 | 失败 | |
"DVR"
| 失败 | 失败 | 失败 | 失败 | |
"Exit"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteClear0"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteClear1"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteClear2"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteClear3"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteRecall0"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteRecall1"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteRecall2"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteRecall3"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteStore0"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteStore1"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteStore2"
| 失败 | 失败 | 失败 | 失败 | |
"FavoriteStore3"
| 失败 | 失败 | 失败 | 失败 | |
"Guide"
| 失败 | 失败 | 失败 | 失败 | |
"GuideNextDay"
| 失败 | 失败 | 失败 | 失败 | |
"GuidePreviousDay"
| 失败 | 失败 | 失败 | 失败 | |
"Info"
| 失败 | 失败 | 失败 | 失败 | |
"InstantReplay"
| 失败 | 失败 | 失败 | 失败 | |
"Link"
| 失败 | 失败 | 失败 | 失败 | |
"ListProgram"
| 失败 | 失败 | 失败 | 失败 | |
"LiveContent"
| 失败 | 失败 | 失败 | 失败 | |
"Lock"
| 失败 | 失败 | 失败 | 失败 | |
"MediaApps"
| 失败 | 失败 | 失败 | 失败 | |
"MediaAudioTrack"
| 失败 | 失败 | 失败 | 失败 | |
"MediaLast"
| 失败 | 失败 | 失败 | 失败 | |
"MediaSkipBackward"
| 失败 | 失败 | 失败 | 失败 | |
"MediaSkipForward"
| 失败 | 失败 | 失败 | 失败 | |
"MediaStepBackward"
| 失败 | 失败 | 失败 | 失败 | |
"MediaStepForward"
| 失败 | 失败 | 失败 | 失败 | |
"MediaTopMenu"
| 失败 | 失败 | 失败 | 失败 | |
"NavigateIn"
| 失败 | 失败 | 失败 | 失败 | |
"NavigateNext"
| 失败 | 失败 | 失败 | 失败 | |
"NavigateOut"
| 失败 | 失败 | 失败 | 失败 | |
"NavigatePrevious"
| 失败 | 失败 | 失败 | 失败 | |
"NextFavoriteChannel"
| 失败 | 失败 | 失败 | 失败 | |
"NextUserProfile"
| 失败 | 失败 | 失败 | 失败 | |
"OnDemand"
| 失败 | 失败 | 失败 | 失败 | |
"Pairing"
| 失败 | 失败 | 失败 | 失败 | |
"PinPDown"
| 失败 | 失败 | 失败 | 失败 | |
"PinPMove"
| 失败 | 失败 | 失败 | 失败 | |
"PinPToggle"
| 失败 | 失败 | 失败 | 失败 | |
"PinPUp"
| 失败 | 失败 | 失败 | 失败 | |
"PlaySpeedDown"
| 失败 | 失败 | 失败 | 失败 | |
"PlaySpeedReset"
| 失败 | 失败 | 失败 | 失败 | |
"PlaySpeedUp"
| 失败 | 失败 | 失败 | 失败 | |
"RandomToggle"
| 失败 | 失败 | 失败 | 失败 | |
"RcLowBattery"
| 失败 | 失败 | 失败 | 失败 | |
"RecordSpeedNext"
| 失败 | 失败 | 失败 | 失败 | |
"RfBypass"
| 失败 | 失败 | 失败 | 失败 | |
"ScanChannelsToggle"
| 失败 | 失败 | 失败 | 失败 | |
"ScreenModeNext"
| 失败 | 失败 | 失败 | 失败 | |
"Settings"
| 失败 | 失败 | 失败 | 失败 | |
"SplitScreenToggle"
| 失败 | 失败 | 失败 | 失败 | |
"STBInput"
| 失败 | 失败 | 失败 | 失败 | |
"STBPower"
| 失败 | 失败 | 失败 | 失败 | |
"Subtitle"
| 失败 | 失败 | 失败 | 失败 | |
"Teletext"
| 失败 | 失败 | 失败 | 失败 | |
"VideoModeNext"
| 失败 | 失败 | 失败 | 失败 | |
"Wink"
| 失败 | 失败 | 失败 | 失败 | |
"ZoomToggle"
| 失败 | 失败 | 失败 | 失败 |
4. 鸣谢
特别感谢 Masayuki Nakano (Mozilla) 收集了一些实现数据(本文档中使用了) ——