JavaScript外部设备键值与事件对照表详解
发布时间: 2025年7月18日 08:52作者: 似琼碧落浏览: 34 次
文章摘要
本文整理并详解了常见外部设备的键值(Key Codes)与对应的事件触发类型,涵盖了键盘、触屏手机、PDA 等多种设备。通过清晰的对照表,帮助开发者准确理解和处理不同设备的按键输入事件,提高跨设备兼容性和用户体验。本指南适合前端开发人员、嵌入式系统开发者及硬件交互设计者参考使用。
内容格式: Markdown字数: 9149 字符
全部外部输入设备键值对照表
⌨️ 键盘 Keyboard
| 名称 |
key |
code |
keyCode |
说明 |
| A |
“a” |
“KeyA” |
65 |
字母键 A |
| B |
“b” |
“KeyB” |
66 |
字母键 B |
| C |
“c” |
“KeyC” |
67 |
字母键 C |
| D |
“d” |
“KeyD” |
68 |
字母键 D |
| E |
“e” |
“KeyE” |
69 |
字母键 E |
| F |
“f” |
“KeyF” |
70 |
字母键 F |
| G |
“g” |
“KeyG” |
71 |
字母键 G |
| H |
“h” |
“KeyH” |
72 |
字母键 H |
| I |
“i” |
“KeyI” |
73 |
字母键 I |
| J |
“j” |
“KeyJ” |
74 |
字母键 J |
| K |
“k” |
“KeyK” |
75 |
字母键 K |
| L |
“l” |
“KeyL” |
76 |
字母键 L |
| M |
“m” |
“KeyM” |
77 |
字母键 M |
| N |
“n” |
“KeyN” |
78 |
字母键 N |
| O |
“o” |
“KeyO” |
79 |
字母键 O |
| P |
“p” |
“KeyP” |
80 |
字母键 P |
| Q |
“q” |
“KeyQ” |
81 |
字母键 Q |
| R |
“r” |
“KeyR” |
82 |
字母键 R |
| S |
“s” |
“KeyS” |
83 |
字母键 S |
| T |
“t” |
“KeyT” |
84 |
字母键 T |
| U |
“u” |
“KeyU” |
85 |
字母键 U |
| V |
“v” |
“KeyV” |
86 |
字母键 V |
| W |
“w” |
“KeyW” |
87 |
字母键 W |
| X |
“x” |
“KeyX” |
88 |
字母键 X |
| Y |
“y” |
“KeyY” |
89 |
字母键 Y |
| Z |
“z” |
“KeyZ” |
90 |
字母键 Z |
| 名称 |
key |
code |
keyCode |
说明 |
| Backspace |
“Backspace” |
“Backspace” |
8 |
退格键 |
| Tab |
“Tab” |
“Tab” |
9 |
Tab键 |
| Enter |
“Enter” |
“Enter” |
13 |
回车键 |
| Shift Left |
“Shift” |
“ShiftLeft” |
16 |
左Shift键 |
| Shift Right |
“Shift” |
“ShiftRight” |
16 |
右Shift键 |
| Ctrl Left |
“Control” |
“ControlLeft” |
17 |
左Ctrl键 |
| Ctrl Right |
“Control” |
“ControlRight” |
17 |
右Ctrl键 |
| Alt Left |
“Alt” |
“AltLeft” |
18 |
左Alt键 |
| Alt Right |
“Alt” |
“AltRight” |
18 |
右Alt键 |
| Caps Lock |
“CapsLock” |
“CapsLock” |
20 |
大写锁定键 |
| Escape |
“Escape” |
“Escape” |
27 |
Esc键 |
| Space |
" " |
“Space” |
32 |
空格键 |
| Page Up |
“PageUp” |
“PageUp” |
33 |
向上翻页 |
| Page Down |
“PageDown” |
“PageDown” |
34 |
向下翻页 |
| End |
“End” |
“End” |
35 |
末尾键 |
| Home |
“Home” |
“Home” |
36 |
主页键 |
| Arrow Left |
“ArrowLeft” |
“ArrowLeft” |
37 |
左箭头 |
| Arrow Up |
“ArrowUp” |
“ArrowUp” |
38 |
上箭头 |
| Arrow Right |
“ArrowRight” |
“ArrowRight” |
39 |
右箭头 |
| Arrow Down |
“ArrowDown” |
“ArrowDown” |
40 |
下箭头 |
| Insert |
“Insert” |
“Insert” |
45 |
插入键 |
| Delete |
“Delete” |
“Delete” |
46 |
删除键 |
| 符号键 |
key |
code |
keyCode |
说明 |
| ` ~ |
“`” |
“Backquote” |
192 |
波浪符 |
| - _ |
“-” |
“Minus” |
189 |
减号,下划线 |
| = + |
“=” |
“Equal” |
187 |
等号,加号 |
| [ { |
“[” |
“BracketLeft” |
219 |
左中括号 |
| ] } |
“]” |
“BracketRight” |
221 |
右中括号 |
| \ |
|
“\” |
“Backslash” |
220 |
| ; : |
“;” |
“Semicolon” |
186 |
分号,冒号 |
| ’ " |
“'” |
“Quote” |
222 |
单引号,双引号 |
| , < |
“,” |
“Comma” |
188 |
逗号,小于号 |
| . > |
“.” |
“Period” |
190 |
句号,大于号 |
| / ? |
“/” |
“Slash” |
191 |
斜杠,问号 |
| 小键盘 |
key |
code |
keyCode |
说明 |
| Numpad 0 |
“0” |
“Numpad0” |
96 |
数字键盘0 |
| Numpad 1 |
“1” |
“Numpad1” |
97 |
数字键盘1 |
| Numpad 2 |
“2” |
“Numpad2” |
98 |
数字键盘2 |
| Numpad 3 |
“3” |
“Numpad3” |
99 |
数字键盘3 |
| Numpad 4 |
“4” |
“Numpad4” |
100 |
数字键盘4 |
| Numpad 5 |
“5” |
“Numpad5” |
101 |
数字键盘5 |
| Numpad 6 |
“6” |
“Numpad6” |
102 |
数字键盘6 |
| Numpad 7 |
“7” |
“Numpad7” |
103 |
数字键盘7 |
| Numpad 8 |
“8” |
“Numpad8” |
104 |
数字键盘8 |
| Numpad 9 |
“9” |
“Numpad9” |
105 |
数字键盘9 |
| Numpad * |
“*” |
“NumpadMultiply” |
106 |
乘号 |
| Numpad + |
“+” |
“NumpadAdd” |
107 |
加号 |
| Numpad - |
“-” |
“NumpadSubtract” |
109 |
减号 |
| Numpad . |
“.” |
“NumpadDecimal” |
110 |
小数点 |
| Numpad / |
“/” |
“NumpadDivide” |
111 |
除号 |
🖱 鼠标 Mouse 按键值对照
| 名称 |
属性 |
值 |
说明 |
| 左键 |
button |
0 |
鼠标左键 |
| 中键(滚轮) |
button |
1 |
鼠标中键 |
| 右键 |
button |
2 |
鼠标右键 |
| 后退键 |
button |
3 |
鼠标侧键“后退” |
| 前进键 |
button |
4 |
鼠标侧键“前进” |
🤳 触屏 Touchscreen(常见手势事件说明)
触屏设备无“按键值”,多靠事件与手势识别。
| 操作名称 |
事件类型 |
说明 |
| 单指触摸开始 |
touchstart |
第一个触点位置 |
| 多指触摸 |
touchstart + touches.length > 1 |
多点操作 |
| 触摸移动 |
touchmove |
触点移动 |
| 触摸结束 |
touchend |
触点离开 |
| 长按 |
组合事件识别 |
无固定键值 |
🎮 游戏手柄 Gamepad(XInput 标准)
| 名称 |
索引值 |
说明 |
| A 按钮 |
0 |
主操作确认键 |
| B 按钮 |
1 |
取消/返回 |
| X 按钮 |
2 |
备用功能 |
| Y 按钮 |
3 |
备用功能 |
| 左肩键 (LB) |
4 |
左侧肩部按钮 |
📱PDA & 扫码枪常用按键键值对照表
| 名称 |
key |
code |
keyCode |
说明 |
| Enter |
“Enter” |
“Enter” |
13 |
回车键 |
| Escape |
“Escape” |
“Escape” |
27 |
退出键 |
| Backspace |
“Backspace” |
“Backspace” |
8 |
退格键 |
| Tab |
“Tab” |
“Tab” |
9 |
Tab键 |
| Scan Trigger Key |
“F9” |
“F9” |
120 |
扫码枪触发键(常见模拟按键) |
| Function Key 1 |
“F1” |
“F1” |
112 |
功能键1 |
| Function Key 2 |
“F2” |
“F2” |
113 |
功能键2 |
| Function Key 3 |
“F3” |
“F3” |
114 |
功能键3 |
| Function Key 4 |
“F4” |
“F4” |
115 |
功能键4 |
| Function Key 5 |
“F5” |
“F5” |
116 |
功能键5 |
| Volume Up |
— |
— |
— |
音量增加键(一般无JS事件) |
| Volume Down |
— |
— |
— |
音量减少键(一般无JS事件) |
| Power/Lock Button |
— |
— |
— |
电源键(无标准JS事件) |
| Home Button |
— |
— |
— |
主页键(部分设备支持) |
| Menu Button |
— |
— |
— |
菜单键(部分设备支持) |
| Scan Button (其他) |
— |
— |
— |
部分PDA有自定义扫码按钮 |
外部输入设备事件对照表
1. 键盘 Keyboard 事件
| 事件类型 |
说明 |
| keydown |
按键被按下时触发 |
| keyup |
按键被松开时触发 |
| keypress |
按键被按下(打印字符时)触发(不推荐用) |
2. 鼠标 Mouse 事件
| 事件类型 |
说明 |
| click |
鼠标左键点击 |
| dblclick |
鼠标双击 |
| mousedown |
鼠标按钮按下 |
| mouseup |
鼠标按钮松开 |
| mousemove |
鼠标移动 |
| mouseenter |
鼠标进入元素 |
| mouseleave |
鼠标离开元素 |
| contextmenu |
右键菜单 |
| wheel |
滚轮滚动 |
3. 触摸 Touch 事件(触屏设备)
| 事件类型 |
说明 |
| touchstart |
手指触摸屏幕时触发 |
| touchmove |
手指在屏幕上滑动时触发 |
| touchend |
手指离开屏幕时触发 |
| touchcancel |
触摸被系统打断时触发 |
4. 游戏手柄 Gamepad 事件
| 事件类型 |
说明 |
| gamepadconnected |
游戏手柄连接时触发 |
| gamepaddisconnected |
游戏手柄断开时触发 |
| 无具体按键事件,需通过API轮询按钮状态 |
需通过 navigator.getGamepads() 读取按钮和摇杆状态 |
5. 扫码枪(PDA)事件
扫码枪通常作为键盘模拟设备,主要监听:
| 事件类型 |
说明 |
| keydown |
扫码枪按键触发(通常触发扫码) |
| keyup |
按键释放 |
| input |
输入条码内容 |