如何从JavaScript中的字符获取代码?

我正在从这个库的节点v86模拟器工作。 我需要发送一些键盘input,但我首先需要将其转换成代码 。 有没有JavaScript的function呢?

a => 0x1E b => 0x30 c => 0x2E 

这是该代码的表格 :

 Key Make Break Key Make Break Backspace 0E 8E F1 3B BB Caps Lock 3A BA F2 3C BC Enter 1C 9C F3 3D BD Esc 01 81 F4 3E BE Left Alt 38 B8 F7 41 C1 Left Ctrl 1D 9D F5 3F BF Left Shift 2A AA F6 40 C0 Num Lock 45 C5 F8 42 C2 Right Shift 36 B6 F9 43 C3 Scroll Lock 46 C6 F10 44 C4 Space 39 B9 F11 57 D7 Sys Req (AT) 54 D4 F12 58 D8 Tab 0F 8F Keypad Keys Make Break Keypad 0 (Ins) 52 D2 Keypad 1 (End) 4F CF Keypad 2 (Down arrow) 50 D0 Keypad 3 (PgDn) 51 D1 Keypad 4 (Left arrow) 4B CB Keypad 5 4C CC Keypad 6 (Right arrow) 4D CD Keypad 7 (Home) 47 C7 Keypad 8 (Up arrow) 48 C8 Keypad 9 (PgUp) 49 C9 Keypad . (Del) 53 D3 Keypad * (PrtSc) 37 B7 Keypad - 4A CA Keypad + 4E CE Key Make Break Key Make Break A 1E 9E N 31 B1 B 30 B0 O 18 98 C 2E AE P 19 99 D 20 A0 Q 10 90 E 12 92 R 13 93 F 21 A1 S 1F 9F G 22 A2 T 14 94 H 23 A3 U 16 96 I 17 97 V 2F AF J 24 A4 W 11 91 K 25 A5 X 2D AD L 26 A6 Y 15 95 M 32 B2 Z 2C AC Key Make Break Key Make Break 1 02 82 - 0C 8C 2 03 83 = 0D 8D 3 04 84 [ 1A 9A 4 05 85 ] 1B 9B 5 06 86 ; 27 A7 6 07 87 ' 28 A8 7 08 88 ` 29 A9 8 09 89 \ 2B AB 9 0A 8A , 33 B3 0 0B 8B . 34 B4 / 35 B5 

是的。 我可以重写它到JavaScript,但也有一些其他的键盘键,这将需要很长时间,所以这就是为什么我问这个问题。

所有的答案和评论在这里完全错过了这一点。 没有Unicode右代码按下代码,并没有右移释放的Unicode代码。 同样,您不能从右移按键和打印屏幕释放中parsing并打印代码。 你甚至可能会把一个右移释放到一个string? 显然这里有些人比我有更大的想象力。

制造和中断代码与可以在屏幕上打印或存储在string中的字符无关。 那些是键盘发送信号按键和释放的代码。 然后操作系统可以将这些代码翻译成字符,但不能直接翻译。 例如,如果移动被按下但没有被释放,然后检测到对应于在QWERTY键盘上按压字母Q的代码,则操作系统可以将其解释为大写字母Q(除非大写字母locking开启)和如果它没有检测到Q字母的释放,它也可以开始自动重复,直到它检测到字母Q的释放。但是在QWERTY键盘上发送的字母Q的相同的代码被发送用于字母A在AZERTY键盘上。 不pipe打印在钥匙上的是什么,钥匙的物理位置和电气连接是重要的。

现在,在npm上有一些模块,你可以看看:

但是我怀疑你实际上会find一些有用的东西,因为yu通常不会在JavaScript或Node这样的低级键盘硬件上工作。

如果你在npm上没有find任何有用的东西,你最终会重写你包含在JavaScript中的表格,那么考虑把它发布在npm上,这样其他人就可以使用它。

更新

我刚刚find这个模块:

它似乎包括您需要的一些代码。 您可以从源代码中获得它。

Interesting Posts