如何在JavaScript中从char获取make代码?

如何在JavaScript中从char获取make代码?,javascript,node.js,char,emulation,keypress,Javascript,Node.js,Char,Emulation,Keypress,我正在为node开发v86模拟器。我需要发送一些键盘输入,但我首先需要将其转换为代码。是否有JavaScript函数可以执行此操作 a => 0x1E b => 0x30 c => 0x2E : 是的。我可以将它重写为JavaScript,但是还有一些其他键盘键,而且需要很长时间才能完成,所以这就是我问这个问题的原因。这里所有的答案和评论都完全没有抓住要点。右移按键没有Unicode代码,右移释放也没有Unicode代码。同样,您不能从右移按下并打印屏幕释放中生成字符串来解析

我正在为node开发v86模拟器。我需要发送一些键盘输入,但我首先需要将其转换为代码。是否有JavaScript函数可以执行此操作

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


是的。我可以将它重写为JavaScript,但是还有一些其他键盘键,而且需要很长时间才能完成,所以这就是我问这个问题的原因。

这里所有的答案和评论都完全没有抓住要点。右移按键没有Unicode代码,右移释放也没有Unicode代码。同样,您不能从右移按下并打印屏幕释放中生成字符串来解析它并打印代码。你怎么可能把右移释放放在一个字符串中呢?显然这里有些人的想象力比我大

接通和断开代码与可以在屏幕上打印或以字符串形式存储的字符无关。这些是键盘发送给信号键按下和释放的代码。然后,操作系统可以将这些代码翻译成字符,但不能直接翻译。例如,如果按下shift键但未释放,然后检测到与按下QWERTY键盘上的字母Q对应的代码,则操作系统可能会将其解释为大写字母Q(除非大写字母锁定已打开)如果它没有检测到Q字母的释放,它也可能开始自动重复它,直到它检测到Q字母的释放。但是在QWERTY键盘上为Q字母发送的代码与在AZERTY键盘上为a字母发送的代码相同。钥匙上印着什么并不重要,重要的是钥匙的物理位置和电气连接

现在,您可以查看npm上的一些模块:

但我怀疑你是否真的会找到有用的东西,因为yu通常不会使用JavaScript或Node在如此低级别的键盘硬件上工作

如果你在NPM上找不到任何有用的东西,你最终会改写包含在JavaScript中的表,然后考虑将它发布到NPM上,这样其他人就可以使用它。 更新 我刚找到这个模块:

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

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