piapia123
zh

按键键值查询

查询

所有处理都在浏览器本地完成,数据不上传服务器

按键检测不需要点「运行」,按下就出结果

点这里,然后按键盘上的任意键

按下的键会在图上亮起。⚠️ 布局选错了不影响检测结果 —— **亮的位置是按物理位置标的**,所以能直接看出你的键盘是哪种:左 Shift 旁边多一个键是 ISO,空格旁边有三个日文键是 JIS。

带 Ctrl / Alt / Cmd 的组合键**不会**被拦截,浏览器自己的快捷键照常可用(所以按 Ctrl+W 还是会关标签页)。

键值详情

还没按过键。

键位速查表110 个键位
ASCII 码表(0–127)十六进制那一列就是转义写法(0x41 = \x41)
ASCII 码表
十进制十六进制字符名称
00x00NULNUL空字符(C 语言字符串的结束标志)
10x01SOHSOH
20x02STXSTX
30x03ETXETX
40x04EOTEOT
50x05ENQENQ
60x06ACKACK
70x07BELBEL响铃(终端会发出提示音)
80x08BSBS
90x09HTHT水平制表符(Tab)
100x0ALFLF换行(Unix 的行尾)
110x0BVTVT
120x0CFFFF
130x0DCRCR回车(老 Mac 的行尾;Windows 上是 CRLF)
140x0ESOSO
150x0FSISI
160x10DLEDLE
170x11DC1DC1
180x12DC2DC2
190x13DC3DC3
200x14DC4DC4
210x15NAKNAK
220x16SYNSYN
230x17ETBETB
240x18CANCAN
250x19EMEM
260x1ASUBSUB
270x1BESCESC转义(ANSI 转义序列以它开头)
280x1CFSFS
290x1DGSGS
300x1ERSRS
310x1FUSUS
320x20 SPACE
330x21!EXCLAMATION MARK
340x22"QUOTATION MARK
350x23#NUMBER SIGN
360x24$DOLLAR SIGN
370x25%PERCENT SIGN
380x26&AMPERSAND
390x27'APOSTROPHE
400x28(LEFT PARENTHESIS
410x29)RIGHT PARENTHESIS
420x2A*ASTERISK
430x2B+PLUS SIGN
440x2C,COMMA
450x2D-HYPHEN-MINUS
460x2E.FULL STOP
470x2F/SOLIDUS
480x300DIGIT 0
490x311DIGIT 1
500x322DIGIT 2
510x333DIGIT 3
520x344DIGIT 4
530x355DIGIT 5
540x366DIGIT 6
550x377DIGIT 7
560x388DIGIT 8
570x399DIGIT 9
580x3A:COLON
590x3B;SEMICOLON
600x3C<LESS-THAN SIGN
610x3D=EQUALS SIGN
620x3E>GREATER-THAN SIGN
630x3F?QUESTION MARK
640x40@COMMERCIAL AT
650x41ALATIN CAPITAL LETTER A
660x42BLATIN CAPITAL LETTER B
670x43CLATIN CAPITAL LETTER C
680x44DLATIN CAPITAL LETTER D
690x45ELATIN CAPITAL LETTER E
700x46FLATIN CAPITAL LETTER F
710x47GLATIN CAPITAL LETTER G
720x48HLATIN CAPITAL LETTER H
730x49ILATIN CAPITAL LETTER I
740x4AJLATIN CAPITAL LETTER J
750x4BKLATIN CAPITAL LETTER K
760x4CLLATIN CAPITAL LETTER L
770x4DMLATIN CAPITAL LETTER M
780x4ENLATIN CAPITAL LETTER N
790x4FOLATIN CAPITAL LETTER O
800x50PLATIN CAPITAL LETTER P
810x51QLATIN CAPITAL LETTER Q
820x52RLATIN CAPITAL LETTER R
830x53SLATIN CAPITAL LETTER S
840x54TLATIN CAPITAL LETTER T
850x55ULATIN CAPITAL LETTER U
860x56VLATIN CAPITAL LETTER V
870x57WLATIN CAPITAL LETTER W
880x58XLATIN CAPITAL LETTER X
890x59YLATIN CAPITAL LETTER Y
900x5AZLATIN CAPITAL LETTER Z
910x5B[LEFT SQUARE BRACKET
920x5C\REVERSE SOLIDUS
930x5D]RIGHT SQUARE BRACKET
940x5E^CIRCUMFLEX ACCENT
950x5F_LOW LINE
960x60`GRAVE ACCENT
970x61aLATIN SMALL LETTER A
980x62bLATIN SMALL LETTER B
990x63cLATIN SMALL LETTER C
1000x64dLATIN SMALL LETTER D
1010x65eLATIN SMALL LETTER E
1020x66fLATIN SMALL LETTER F
1030x67gLATIN SMALL LETTER G
1040x68hLATIN SMALL LETTER H
1050x69iLATIN SMALL LETTER I
1060x6AjLATIN SMALL LETTER J
1070x6BkLATIN SMALL LETTER K
1080x6ClLATIN SMALL LETTER L
1090x6DmLATIN SMALL LETTER M
1100x6EnLATIN SMALL LETTER N
1110x6FoLATIN SMALL LETTER O
1120x70pLATIN SMALL LETTER P
1130x71qLATIN SMALL LETTER Q
1140x72rLATIN SMALL LETTER R
1150x73sLATIN SMALL LETTER S
1160x74tLATIN SMALL LETTER T
1170x75uLATIN SMALL LETTER U
1180x76vLATIN SMALL LETTER V
1190x77wLATIN SMALL LETTER W
1200x78xLATIN SMALL LETTER X
1210x79yLATIN SMALL LETTER Y
1220x7AzLATIN SMALL LETTER Z
1230x7B{LEFT CURLY BRACKET
1240x7C|VERTICAL LINE
1250x7D}RIGHT CURLY BRACKET
1260x7E~TILDE
1270x7FDELDELETE删除(退格键盘上那个键,不是 Backspace)

同一个按键,浏览器会给出三个互不相同的答案,而它们经常被混为一谈。`event.key` 是打出来的字符,跟着键盘布局与 Shift 走 —— Shift+2 在美式键盘上是 `@`,在德语键盘上是 `"`;`event.code` 是物理位置,`Digit2` 就是数字行第二个键,不管它在那台机器上打出什么;`event.keyCode` 是 1990 年代的那个数字,已废弃而且模棱两可 —— 它大致跟着字符走(`A` 与 `a` 都是 65),遇到标点又跟着位置走(`;` 与 `:` 都是 186)。这个工具把三者并列摊开、逐项标明各自跟着什么走:按一下键盘就同时看到四个字段与 ASCII 码,下面还给出 100 多个键位的对照表和 0–127 的 ASCII 完整码表。所有计算都在浏览器里完成,你按下的键不会离开这台设备。

功能

  • 按下任意键,同时显示 key、code、keyCode、which 与 ASCII 码
  • 逐项标明每个字段跟着什么走 —— 字符、物理位置、还是老代码的遗留值
  • 可打印字符给出十进制与十六进制的 ASCII 码(`A` 是 65 / 0x41)
  • 属性键给出 ASCII 控制码(回车 13 是 CR、Delete 127 是 DEL),这正是「keyCode 与 ASCII 对不上」的来源
  • 同时按住的修饰键组合会列出来(Ctrl + Shift)
  • 长按产生的重复事件会标出来 —— 判断「按住不放」时要用到
  • 输入法组字中会明确提示(这时 `key` 是 `Process`,不是工具坏了)
  • 100 多个键位的速查表,按名字、code、keyCode 或 ASCII 码都能搜
  • 左右 Shift / Ctrl / Alt 各自成条 —— 只有 `code` 分得清左右,keyCode 一律相同
  • 0–127 的 ASCII 码表,控制字符给缩写与说明,而不是 33 个空白格子
  • 带 Ctrl / Alt / Cmd 的组合键不被拦截,浏览器自己的快捷键照常可用

使用方法

  1. 点一下页面顶部的检测框,然后按键盘上任意一个键
  2. 结果区立刻列出这个键的 key、code、keyCode、ASCII 码与修饰键状态
  3. 想看别的键就接着按 —— 不需要点任何按钮
  4. 在下方速查表里按键名或键值搜索,或者直接翻 0–127 的 ASCII 码表

常见问题

keyCode 都已经废弃了,为什么还要查它?
因为废弃的是规范,不是它出现在代码里的事实。已有的项目、老版本的库、以及大量还在跑的示例代码里都是 `event.keyCode`,读它们时必须知道那个数字是什么意思;反过来写新代码时,也需要一个对照来确认「这个键在新写法里该用 `key` 还是 `code`」。所以这里把它和另外两个并列给出,并标明它已废弃 —— 而不是藏起来。
为什么 Delete 的 keyCode 是 46,ASCII 码却是 127?
这两个数字回答的是不同的问题。`keyCode` 说的是「按了哪个键」,Delete 键在小键盘上的位置编号是 46;ASCII 说的是「产生了哪个字符」,而 Delete 在 ASCII 表里是 127(DEL)。回车键同理:`keyCode` 13 恰好等于它的 ASCII 控制码 13(CR),纯属历史巧合 —— 因为这个键从终端时代起就直接产生那个字节。工具里把这两栏分开显示,就是为了让这件事看得见。
写代码时该用 key 还是 code?
看你要的是字符还是位置。快捷键(如 Ctrl+S)用 `code`:它对应物理位置,不会因为用户切到俄语或法语键盘就失灵;而「用户打出了什么字符」用 `key`:输入判断、快捷键提示、游戏操作都属于这一类。历史经验是:用 `keyCode` 写快捷键,在非美式键盘上会出错,这正是它被废弃的主要原因。
中文输入法打字时为什么显示 Process?
因为那时按键还没有变成字符。输入法正在组字(本工具会同时标出「输入法组字中」),此时浏览器上报的 `key` 就是 `Process`,`keyCode` 是 229。这不是故障,而是一个真实的信号:要判断用户真的输入了什么,得等 `compositionend` 之后再读,只看 `keydown` 会把一段中文读成一串 `Process`。
为什么按 Ctrl+W 没有被这个页面拦住?
故意的。这个页面只在焦点位于检测框内、且没有按修饰键时拦截少量按键的默认行为 —— 具体是空格与方向键(否则页面会被滚走)以及 `/`(Firefox 的快速查找)。带 Ctrl / Alt / Cmd 的组合一律放行:那些是浏览器与操作系统的地盘,连 Ctrl+W(关标签页)、F5(刷新)、F12(开发者工具)都拦掉的话,用户只会以为自己的浏览器坏了。

相关工具