Nic*_*ser 14 keyboard hex keycode hid
在哪里可以找到不同键盘布局的十六进制键盘扫描码列表?
我使用bash命令echo -ne通过(假)USB HID键盘发送密钥代码,然后是转义的十六进制密钥扫描代码和HID设备:
echo -ne "\x00\x00\x00\x38\x00\x00\x00\x00" > /dev/hidg0
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/hidg0
Run Code Online (Sandbox Code Playgroud)
对于/美国键盘布局上的斜杠().
在我的键盘布局(CH)上
echo -ne "\x00\x00\x00\x24\x00\x00\x00\x00" > /dev/hidg0
echo -ne "\x00\x00\x00\x00\x00\x00\x00\x00" > /dev/hidg0
Run Code Online (Sandbox Code Playgroud)
斜线 所以我想必须存在所有这些的列表.然而,我能够找到美国布局的列表,但不能找到任何其他键盘布局.
我知道第二行停止键的输入,但我不太明白这些转义序列的语法.我知道,如果我将第\x00一个更改为a x02,它将"移动"输入的密钥.但为什么还有6种改性剂?难道他们主张ctrl,alt...?哪个代表什么?
这种语法的文档非常酷.我还没找到一个.
(我在Nexus 7 2012上使用Kali Nethunter)
aja*_*aja 36
在"扫描码"(他们是真正的索引使用代码)关于usb.org发布USB HID用法表中的第10章"键盘/键盘页(0×07)"规范.典型的键盘报告布局可以在附录B"引导接口描述符"的"B.1协议1(键盘)"部分的HID的USB设备类规范中找到.
这将键盘报告格式描述为:
Byte 0: Keyboard modifier bits (SHIFT, ALT, CTRL etc)
Byte 1: reserved
Byte 2-7: Up to six keyboard usage indexes representing the keys that are
currently "pressed".
Order is not important, a key is either pressed (present in the
buffer) or not pressed.
Run Code Online (Sandbox Code Playgroud)
请注意,USB规范没有定义键盘布局.它只列出分配给特定键功能的使用代码.例如,字母"a"是使用代码0x04.如果你想要一个大写的"A",那么你还需要设置字节0修饰符位来选择"左移"(或"右移").
报告缓冲区的确切格式取决于发送到时,键盘的USB端口插入了主机报告描述符,所以上面的只是一个(非常典型)的例子.
| 归档时间: |
|
| 查看次数: |
32262 次 |
| 最近记录: |